一。简介
NFS--Network FileSystem,即网络文件系统,主要功能是让网络上的不同操作系统之间共享数据。
远程服务器端共享出文件或目录,然后远羰共享出来的文件或目录就可通过挂 载的方式挂 接到本的不同操作系统上,最后本地系统就可以方便的使用远端提代的文件服务。实现数据共享

上图可以看出,NFS由两部分组成:NFS客户端和NFS服务器。
二。实现原理
NFS服务器启动后,开启对客户端连接对应的端口号(1-1024),但每次启动NFS服务器,相应服务器端口号都各不相同。
为确保客户端每次都能正确连接,NFS通过RPC(Remote Procedure Call)协议来协助NFS服务器完成连接。程序通过使用这种协议向网络中另一台计算机上的程序请求服务。NFS中,RPC最主要的功能就是指定并监控NFS守护进程对应的商品号,并将端口信息通知给客户端,让客户端连接到正确的端口上来。

三。安装与配置
1.查看是否安装:
rpm -qa|grep rpcbind
rpm -qa|grep nfs
如果没有输出,需要NFS对应的rpm包进行安装
2.NFS服务器端的设定
设置配置文件:/etc/exports
设置格式:共享资源路径 [主机地址] [选项]
例子:/webdata *(sync,rw,all_squash)
/tmp *(rw,no_root_squash)
/home/share 192.168.1 *(rw,root_squash) *(ro)
/opt/data 192.168.1.18(rw)
/usr/local/doc *.ixdba.net(rw, anonuid=686,anongid=686)
说明:共享资源路径:如上面的/tmp, /home/share目录等
主机地址:可以是主机名/域名/IP等
选项:
该用户有最高权限。不安全,不建议使用
root_squash:系统预设值,当登录NFS主机的用户root时,这个使用者的权限将缩减成匿名使用者。UID和GID都会变成nfsnobody身份,只有可读权限。
all_squash:不管登录NFS主机的是什么用户,都会将共享文件的UID和GID映射到匿名用户nfsnobody.
no_all_squash:当客户端用户的UID和GID与服务器端共享文件UID和GID相同时,才有对共享文件的读写权限,保证共享文件的用户和组权限不会改变
anonuid:将登入NFS主机的用户都设定成指定的UID,此UID必须存在于NFS服务器端/etc/passwd中
anongid:与anonuid类似
sync:资料同步写入磁盘。默认
async:资料暂时放在内存中,不直接写入磁盘
2.启动停止NFS服务器
3.NFS客户端的设定
安装nfs-utils和rpcbind两个服务
yum -y install nfs-utils
systemctl start rpcbind
systemctl enable rpcbind
查看NFS服务器端提供的服务
挂载共享资源 mount
开机自动挂载NFS目录
卸载NFS目录
安全设定