• NFS数据传输基于RPC协议,RPC为Remote Procedure Call的
简写。
• NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是
一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从
而B和C访问到的数据和A上的一致
一.服务端配置NFS
使用NFS服务器需要安装两个包(nfs-utils和rpcbind),使用yum安装nfs-utils时,会一起安装rpcbind
修改配置文件(默认该文件为空)
vi /etc/exports
/home/nfstestdir 192.168.134.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
这个配置文件就一行,三部分:第一部分是本地要共享出去的目录,第二部分是允许访问的主机(可以使ip,也可以是一个ip段),第三部分是小括号里的权限选项:
rw:表示读写
ro:表示只读
sync:同步模式,表示内存中的数据实时写入磁盘
async :非同步模式,表示把内存中的数据定期写入磁盘
no_root_squash:root用户会对共享的目录拥有至高的权限控制,就像是对本机目录操作一样。但是安全性低
all_squash :不管使用NFS的用户是谁,其身份都会被限定为一个指定的普通用户身份
anonuid/anongid:要和root_squash以及all|squash选项一同使用,用于指定使用NFS的用户被限定后的uid和gid,但是前提是本机的/etc/passwd中存在相应的uid,gid
编辑好配置文件后创建相关目录并启动NFS服务
二.客户端挂载NFS
安装nfs-utils后,可以使用showmount命令查看
使用命令showmount -e IP 就可以查看FNS共享情况。
使用df -h可以看见增加了一个/mnt分区,他就是NFS的共享目录。进入到/mnt/目录下,并创建测试文件
三.命令exportfs
exportfs常用选项:
-a:表示全部挂载或者卸载
-r:表示重新挂载
-u:表示卸载某一目录
-v:表示显示共享目录
当改变/etc/exports配置文件后,使用exportfs命令挂载不需重启NFS服务。
Mount用-t nfs 指定挂载的类型为nfs.在挂载NFS服务时,常用-o nolock(既不加锁)
把要挂载的NFS目录写到客户端上的/etc/fstab文件中,挂载时只需要执行mount -a