1、NFS介绍
- NFS服务全称是NetWork File System:网络文件系统,最早有sun公司开发的,4.0版本由Netapp公司开发,是基于RPC远程过程调用(Remote Procedure Call)协议的服务
- 应用场景:A,B,C三台机器上需要被访问到的文件是一样的,A共享数据出来,B和C分别取挂载A共享的数据目录,从而B和C访问到的数据和A上的一致。
NFS原理图
- 服务端需要启动一个NFS服务,服务端要想给客户端提供服务,需要借助RPC协议,RPC协议是由rpcbind服务所实现的;在centos 5或者之前的版本叫portmap服务,centos6及之后的版本叫rpcbind服务,这两个都是一个服务,最终实现了RPC协议的通信,NFS服务默认不会监听任何端口(启动服务,但不会监听端口),最终监听端口,实现RPC通信的过程是由rpcbind服务产生的RPC协议实现的,RPC协议 默认监听 的 端口是111 端口;
- 整个流程为:服务端的NFS服务监听一个端口通过RPC协议监听的端口,再去告诉客户端RPC协议,然后NFS客户端通过本机的RPC端口回传数据信息到服务端NFS监听的端口,最终实现通信
2、NFS服务端安装配置
- 准备两台虚拟机,一台作为服务端,一台作为客户端。
- 服务端:IP:192.168.222.110,安装安装nfs-utils、rpcbind;
[root@aminglinux ~]# yum install -y nfs-utils rpcbind
- 编辑配置文件: /etc/exports
[root@aminglinux ~]# vim /etc/exports
/home/nfstestdir 192.168.222.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
- 启动NFS服务,启动服务前需要先创建目录,并设置权限777;
[root@aminglinux ~]# mkdir /home/nfstestdir
[root@aminglinux ~]# chmod 777 /home/nfstestdir/
- 启动rpcbind服务;启动nfs;设置开机启动nfs;
[root@aminglinux ~]# systemctl start rpcbind
[root@aminglinux ~]# systemctl start nfs
[root@aminglinux ~]# systemctl enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/