14.4 exportfs命令

NFS服务不能随便停止,若要停止服务,首先要卸载客户端共享目录的挂载状态

#umount -l /mnt

如果共享的客户端有数百台,可以在服务端利用exportfs批量卸载来解决问题

服务端执行#exportfs -arv 不用重启nfs服务,配置文件就会生效

[root@centos7-01 nfstestdir]# exportfs -arv
exporting 192.168.189.0/24:/home/nfstestdir
[root@centos7-01 nfstestdir]# vim /etc/exports 添加新的共享目录
/tmp/ 192.168.189.129/24(rw,sync,no_root_squash)

再次执行arv命令

[root@centos7-01 nfstestdir]# exportfs -arv

在客户端执行showmount,不用重启nfs服务 也可以正常加载

[root@centos7-02 mnt]# showmount -e 192.168.189.128
Export list for 192.168.189.128:
/home/nfstestdir 192.168.189.0/24

129服务端挂载128的tmp至本地/mnt 

[root@centos7-02 mnt]# !mount
mount -t nfs 192.168.189.128:/tmp/ /mnt

此时服务端挂载的/mnt相当于128服务端的/tmp目录

在129客户端创建111.txt

[root@centos7-02 mnt]# touch 111.txt
[root@centos7-02 mnt]# ls -l /mnt/111.txt 
-rw-r--r--. 1 root root 0 5月  10 16:20 /mnt/111.txt
[root@centos7-01 nfstestdir]# ls -ll /tmp/111.txt 
-rw-r--r-- 1 root root 0 5月  10 16:20 /tmp/111.txt

可以发现创建用户和组都是root,是因为当初在服务端设置了no_root_squash参数,起到了不限制root。(此时权限最高,跟在本地使用root操作一样)



14.5 NFS客户端问题

 NFS 4版本会有该问题

 客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、属组为nobody

解决方法:

1 客户端挂载时加上 -o nfsvers=3

指定nfs版本为3,而不是4

操作:在挂载时候加入-o nfsvers=3 参数

[root@centos7-02 mnt]# mount -t -o nfsvers=3 nfs 192.168.189.128:/tmp/ /mnt

指定版本并重新挂载,remount表示指定挂载

[root@centos7-02 mnt]# mount -t -oremount,nfsvers=3 nfs 192.168.189.128:/tmp/ /mnt

2 另一种方法:

 [root@centos7-02 mnt]# vim /etc/idmapd.conf 
“#Domain = local.domain.edu” 改为 “Domain = xxx.com” (这里的xxx.com,随意定义)

然后再重启rpcidmapd服务