文章都可以转载、引用,标明转载出处即可。

NFS 文件共享

Linux服务 Mr.c 8496℃ 0评论

NFS 是Linux上较为常用的文件共享软件,如同Windows系统上的文件共享一样,可以共享某服务器上的文件给其他远程服务器或者终端进行访问。
设定NFS服务器IP为:192.168.31.6 挂载NFS目录的IP为:192.168.31.7
NFS服务器端的配置(192.168.31.6):
1.安装NFS服务:

yum -y install nfs-utils rpcbind

2.修改配置文件:

vim /etc/exports #编辑配置文件
/home/wwwroot 192.168.31.7(rw,async,root_squash)

参数讲解:

/home/wwwroot #需要共享的目录
192.168.31.7 #授权远程计算机进行访问
rw #读写权限
ro #只读权限
async #资料会先暂存于内存当中,而非直接写入硬盘
sync #资料同步写入到内存与硬盘当中
root_squash #远程登录NFS主机后,使用该共享目录时相当于该目录的拥有者。但是如果是以root身份使用这个共享目录的时候,那么这个使用者(root)的权限将被压缩成为匿名使用者,即通常他的UID与GID都会变成nobody那个身份(较为安全)
no_root_squash #远程登录NFS主机后,使用该共享目录时相当于该目录的拥有者,如果是root的话,那么对于这个共享的目录来说,他就具有root的权限(不安全)
all_squash #不论登入NFS的使用者身份为何,他的身份都会被压缩成为匿名使用者,通常也就是nobody

3.启动NFS服务

service rpcbind start #rpcbind 是nfs的守护进程,需要先启动
service nfs start
可以通过命令exportfs 查看当前NFS服务设置

4.关于端口

service iptables stop

由于NFS 是需要通信的,会随机开启很多的端口,所以NFS服务器需要关闭防火墙设置,否则无法放行端口
NFS客户端配置(192.168.31.7):

yum -y install nfs-utils rpcbind

检测一下远程服务器NFS共享目录是否能够访问:

showmount -e 192.168.31.6
-a:显示目前已经连上主机的client机器的使用目录的状态
-e:显示hostname的/etc/exports里面共享的目录
-d:只显示被client机器挂载的目录
新建需要挂载的目录:
mkdir /home/nfsroot
mount -t nfs 192.168.31.6:/home/wwwroot /home/nfsroot

挂载完成,但是这只是临时挂载,客户端重启后NFS挂载就失效了,永久挂载可以编辑文件:

vim /etc/fstab
192.168.31.6:/home/wwwroot /home/wwwroot nfs defaults,_netdev 0 0
保存配置,执行mount -a 命令

df -h 可以查看挂载磁盘是否成功

[root@aliyun home]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 40G 3.8G 34G 10% /
/dev/xvdb 5.0G 187M 4.5G 4% /home2
192.168.31.6:/home/wwwroot 20G 1.4G 18G 7% /home/nfsroot

另外还可以使用autofs 工具实现一个自动挂载功能
NFS设置后测试到在远程服务器192.168.31.7 上无法新建文件或者写入到NFS共享的目录中,原来是NFS权限设置问题,共享的wwwroot目录权限为755
之前我们设置NFS权限为root_squash ,而31.7上通过root身份登录,root登录后权限其实会变成nfsnobody 目录权限为755 那么自然无法写入文件。
可以设置NFS上权限为777 或者设置为no_root_squash 权限

转载请注明:菜鸟运维网 » NFS 文件共享

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址