NFS是Network File System的缩写,即网络文件系统。客户端通过挂载的方式将NFS服务器共享的数据目录挂载到本地目录下。
NFS工作流程
1、NFS服务端启动时向本地RPC服务注册端口
2、NFS客户端发起存取文件请求,客户端本地的RPC(rpcbind)服务会通过网络向NFS服务器端的RPC的111端口发出文件存取请求。
3、NFS服务器端的PRC找到对应已注册的NFS端口,通过客户端RPC服务
4、客户端获取通讯端口后,与NFS daemon联机存储数据。
所以无论客户端,服务器端,需要使用NFS,必须安装RPC服务。RPC服务在centos5名为portmap,centos6,7,8名为rpcbind
服务器端安装nfs-utils
因centos7自带了rpcbind,所以不用安装rpc服务了,RPC监听在111端口,我们可以启动它。NFS服务必须要依赖RPC,因为RPC能获得NFS服务器端的端口号等信息,NFS服务器端RPC获得这些信息后才能连接NFS服务器端。
[root@db-02 ~]# systemctl start rpcbind
[root@db-02 ~]# yum -y install nfs-utils
查看RPC有没有正常启动
[root@db-02 ~]# ss -tnulp | grep 111
编辑/etc/exports文件,添加内容,把要映射的目录及要访问的网段
[root@db-02 ~]# more /etc/exports
/data 10.100.0.0/16(rw,async)
重启nfs服务
[root@db-02 ~]# systemctl restart nfs
验证挂载
[root@db02 ~]# showmount -e localhost
Export list for localhost:
/data 10.100.0.0/16
设置权限
[root@db-02 ~]# chown -R nfsnobody.nfsnobody /data
设置开机启动
[root@db-02 ~]# systemctl enable nfs-server.service
客户端安装nfs,不需要启动
[root@SZ0 ~]# yum install nfs-utils
验证服务器端
[root@SZ0 ~]# showmount -e 10.100.1.2
Export list for 10.100.1.2:
/data 10.100.0.0/16
建立本地挂载目录,进行挂载
[root@SZ0 ~]# mkdir /mnt/data
[root@SZ0 ~]# mount -t nfs 10.100.1.2:/data /mnt/data
测试,是否成功
[root@SZ0 ~]# echo "hello nfs" >> /mnt/data/test.txt