Linux实现NFS

arrowhalo 2018-09-02

linux 服务器 防火墙 配置 主机 Image NFS vim

操作系统是CentOS6.5

1.首先需要两个虚拟机,一个作为服务端,一个作为客户端,分别使用下列命令检查客户端和服务端是否安装了nfs和rpc相关的包
img_bdf0217e0f7639e929bbbf5271049fbd.jpe
92C4C101-23A2-44EF-93B6-5D779EE410CD.png

如果没有安装,请执行下列命令安装

img_943ad3bdd19d9baef7e1a5d227a91158.jpe
89D270DF-1A91-4D64-A954-82933088CAFA.png

使用下列命令可以查看是否安装成功,安装成功了会像下面这样显示

img_6eb3258247675405a38a4fd798252234.png
image.png
2.在服务端配置nfs的固定端口,方便于之后配置防火墙规则,当然你也可以跳过这一步,选择关闭防火墙,但是这样安全性不高

使用vim打开/etc/sysconfig/nfs 文件,在底部添加如下配置

img_97e502ae8b8a4fc3a3d4db21ab220cbd.png
image.png

然后保存退出

3.配置服务端需要挂着的目录,使用vim打开/etc/exports文件,按照如下规则配置
img_4b17b57c7978929259397d799b6356ba.png
image.png

/mnt是我要挂着到客户端的目录
192.168.1.107是我客户端的ip地址,你也可以写成一个网络地址如192.168.1.0/24,这样在这个网络下的主机都能挂载,如果写的是*,那么所有主机都可以远程挂着这个目录
括号里的参数有很多
rw:具有读写权限
sync:资料同步写入磁盘和内存
o:只读权限
no_root_squash:登入nfs主机时,拥有共享目录所有者权限
root_squash:登入nfs主机时,拥有共享目录所有者权限,但如果共享目录的拥有者时root用户,那么登入者权限为nobody权限
all_squash:登入nfs主机时,拥有nobody用户权限
anonuid:指定用户id
anongid:指定群id
async:资料先存内存,再存硬盘
no_subtree_check:不检查父文件夹权限
subtree:检查父文件权限
secure:限制client port(<1024)

4.启动服务器端服务

首先启动rpcbind

img_ea36922af741a812171e12fab368e53a.png
image.png

启动nfs

img_6e4f64bd1423baea213bbd0b8063157a.png
image.png
5.接下来在服务端添加防火墙规则,这里是我的采坑经历,首先使用命令

rpcinfo -p查看需要配置防火墙规则的端口

img_8f64227af84e53835bfeb9bf8cf85334.png
image.png

使用vim打开/etc/sysconfig/iptables进行配置,如下图

img_ddb81f0424872ad3aa0d152c90b83109.png
image.png

这里我的理解是千万要按顺序进行添加,意思就是每一行后面是ACCEPT的要接连在一起,千万不要被REJECT、FORWARD这样的行隔开,不然配置是无效的,具体原因我还不清楚,等我去找资料再来说清楚。

6.重启防火墙配置

service iptables restart

img_7f1dc9b46f03a0b55d6f5960a6ec437b.png
image.png
7.服务器端事情做完了,接下来客户端挂载就行,输入下列命令实现挂载
img_a2a9fcbd5a1778d9c16c5a83941d1973.png
image.png

这样我们已经成功挂载了,能看到服务器端的文件了

挂载参数的含义如下:

(1)-a:把/etc/fstab中列出的路径全部挂载。
(2)-t:需要mount的类型,如nfs等。
(3)-r:将mount的路径定为read only。
(4)-v mount:过程的每一个操作都有message传回到屏幕上。
(5)rsize=n:在NFS服务器读取文件时NFS使用的字节数,默认值是4096个字节。
(6)wsize=n:向NFS服务器写文件时NFS使用的字节数,默认值是4096个字节。
(7)timeo=n:从超时后到第1次重新传送占用的1/7秒的数目,默认值是7/7秒。
(8)retry=n:在放弃后台mount操作之前可以尝试的次数,默认值是7 000次。
(9)soft:使用软挂载的方式挂载系统,若Client的请求得不到回应,则重新请求并传回错误信息。
(10)hard:使用硬挂载的方式挂载系统,该值是默认值,重复请求直到NFS服务器回应。
(11)intr:允许NFS中断文件操作和向调用它的程序返回值,默认不允许文件操作被中断。
(12)fg:一直在提示符下执行重复挂载。
(13)bg:如果第1次挂载文件系统失败,继续在后台尝试执行挂载,默认值是失败后不在后台处理。
(14)tcp:对文件系统的挂载使用TCP,而不是默认的UDP。

登录 后评论
下一篇
corcosa
12002人浏览
2019-10-08
相关推荐
一招一式攻克linux(四)
656人浏览
2017-11-09 20:45:00
nfs client高性能参数设置
1711人浏览
2018-02-28 21:00:39
linux-NFS文件系统
615人浏览
2017-11-12 03:25:00
Linux中nfs网络文件共享
563人浏览
2017-11-17 18:09:00
Linux NFS搭建
411人浏览
2018-05-14 15:20:00
0
0
0
581