1exportfs命令

原理图:
mark

假如要是A上面的NFS服务停掉了,但是B和C还在挂载着A分享的分区,就不可以正常工作了,由于B和C上面的进程是d(不可中断进程),一旦A停止了B和C一定会出问题,也不可以服务既不可以重启,也不可以关闭,就会把系统整挂掉。所以NFS一定不可以随便重启! 如果必须重启怎么办?先把B和C上面的目录卸载下来!
exportfs 这个命令可以直接让配置文件直接生效,无需在重启服务,在NFS服务上面是不能随意的重启nfs服务的,如要重启服务必须要把客户端挂载点给卸载之后在重启)

[root@chy01 ~]# exportfs -arv
exporting 192.168.212.0/24:/home/nfstestdir
(-a 全部挂载或者全部卸载,-r重新挂载,-u卸载一个目录,-v显示共享目录
[root@chy01 ~]# vim /etc/exports
/tmp 192.168.212.10/24(rw,sync,no_root_squash)
[root@chy01 ~]# exportfs -arv
exporting 192.168.212.10/24:/tmp
exporting 192.168.212.0/24:/home/nfstestdir
(exportfs执行操作)

客户端进行验证

[root@chy ~]# showmount -e 192.168.212.11
Export list for 192.168.212.11:
/tmp             192.168.212.10/24
/home/nfstestdir 192.168.212.0/24
(验证发现已经共享了/tmp目录)
[root@chy ~]# mount -t nfs 192.168.212.11:/tmp/ /mnt/
(并挂载此目录)
[root@chy mnt]# touch 111
(创建一个文件)
[root@chy01 ~]# ls /tmp
111           mysqlbak.sql                                                              test.com.log-20170814
123.111       mysql.sock                                                                test.com.log-20170815
2.333         percona-version-check                                                     test.com.log-20170821
chy.sock      php-fcgi.sock                                                             test.com.log-20170822
mysq_all.sql  systemd-private-0e07ab8c0cb54a38ad0e2a7be3f07bec-vmtoolsd.service-VAY6Nu  user.sql
mysql2.sql    test.com.log
(服务端可以看到有111的目录)

2 NFS客户端问题

nfs会出现客户端文件属主属组nobody,这个在NFS的4版本和centos6的系统上会出现此问题。客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、属组为nobody
为解决此问题有两种方法如下:

[root@chy 2]# mount -t nfs -o nfsvers=3 192.168.212.11:/home/nfstestdir  /mnt/2
(-o 指定nfsvers的版本为3)
[root@chy 2]# mount -t nfs -oremount,nfsvers=3 192.168.212.11:/home/nfstestdir  /mnt/2
(-oremount 重新挂载)

还有一种方法如下:(客户端与服务端都要操作)

vim /etc/idmapd.conf //
 把“#Domain = local.domain.edu” 改为 “Domain = xxx.com” (这里的xxx.com,随意定义吧),然后再重启rpcidmapd服务
这里的rpcidmapd服务是针对centos6的,如果是centos7就重启nfs服务)