安装、配置NFS服务
1.NFS简介
NFS(network file system)
NFS是一个主机A通过网络,允许其他主机B可以来共享主机A的一个目录文件的一个文件系统
2.需要安装两个包nfs-util 和rpcbind
在安装nfs-utils,会自动安装rpcbind
3.修改配置文件vim /etc/exports
配置文件共三部分
/home/ 192.168.137.0/24(rw,sync,all_squash,anonuid=501,anongid=501)
(1)第一部分:本地要共享出去的目录
(2)第二部分:允许远程哪个主机,可以有多个主机来共享
(3)第三部分:权限项。为读写,同步,限定所有使用者,并且限定的uid和gid都为501。
注意:这里uid和gid是主机A的
4.NFS 配置说明
rw :读写;
ro :只读;
sync :同步模式,内存中数据时时写入磁盘;
async :不同步,把内存中数据定期写入磁盘中;
no_root_squash :加上这个选项后,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用;
root_squash:和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root;
all_squash:不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;
anonuid/anongid :要和root_squash 以及all_squash一同使用,用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid。
注意:anonuid 和 anongid一般和all_squash/root_squash一同使用。
当使用all_squash anonuid/anonid 的时候,在客户端共享目录创建文件时候,发现文件的属主、属组竟然和服务主机该目录的属主、属组一样。这就squash的结果
最后启动服务/etc/init.d/rpcbind start /etc/init.d/nfs start
4. 客户端上挂载NFS
客户端同样安装 yum install -y nfs-utils
查看服务器端都共享了哪些目录
showmount -e 192.168.137.10
在客户端上挂载服务端的nfs
mount -t nfs -onolock,nfsvers=3 192.168.137.10:/home/ /mnt/ //如果不加 -onolock,nfsvers=3 则在挂载目录下的文件属主和组都是nobody,如果指定nfsvers=3则显示root
df -h 查看挂载的情况
5. exportfs 命令的使用
-a :全部挂载或者卸载;
-r :重新挂载;
-u :卸载某一个目录;
-v :显示共享的目录
改变/etc/exports配置文件后,不用重启nfs服务直接用这个exportfs即可
exportfs -arv 使生效
在使用nfs时,常用一个选项就是 -o nolock
我们还可以把要挂载的nfs目录写到client上的/etc/fstab文件中 192.168.137.10:/tmp/ /test nfs nolock 0 0 然后 mount –a
扩展部分:
遇到无法umount的问题:
root@test:/# umount /data1/nfs/
umount.nfs: /data1/nfs: device is busy
umount.nfs: /data1/nfs: device is busy
(1)遇到该问题时只需要使用fuser命令就可以解决:
root@test:/# fuser -km /data1/nfs/
root@test:/# fuser -f /data1/nfs/
执行完上面的操作后,再去umount就可以了。fuser上面用到的几个参数的意义如下:
http://www.361way.com/nfs-mount-nobody/2616.html
(2)nobody问题: