NFS(Network File System)即网络文件系统,又称为网络文件共享服务。能通过网络让服务器之间共享目录或文件。NFS分为服务端和客户端。服务端提供共享目录或文件,客户端对服务端共享的目录或文件挂载后,就可以读取到服务端提供的文件或目录,在客户端看来就像访问本地一样。
二、NFS工作原理NFS服务端和客户端之间通过随机选择端口来传输数据,NFS服务端利用RPC协议与客户端进行沟通决定使用的随机端口,然后利用这个端口来传输数据,使用的随机端口通常小于1024。RPC协议用力啊统一管理NFS的随机端口,其使用的端口默认为111。
通信过程:
1.客户端向服务端的rpc服务请求服务端的NFS端口
2.服务端的rpc服务返回NFS端口信息给客户端
3.客户端通过获取到的NFS端口建立和服务端的连接
4.服务端获取本地共享文件的信息
5.服务端通过NFS端口建立和客户端的连接
6.开始进行文件传输
需要准备两台服务器,一台为服务端,IP为192.168.227.130;一台为客户端,IP为192.168.227.131;
主要参数说明
参数作用ro只读rw读写root_squash当以root身份访问时,映射为NFS服务端的匿名用户no_root_squash当以root身份访问时,映射为NFS服务端的root用户all_squash无论使用什么账户访问,均映射为NFS服务端的匿名用户sync同时将数据写入内存和硬盘中,保证不丢失数据async先将数据写入内存,然后写入硬盘中,可能会造成数据丢失1.NFS服务端的配置
(1)安装NFS服务
sudo dnf install -y nfs-utils
(2)创建共享目录/NFS
(3)设置权限,根据需求自行设定
(4)修改配置文件,配置文件为/etc/exports
/NFS 192.168.227.*(rw,sync,root_squash)
(5)启动RPC服务和NFS服务,并设置为开机自动启动
sudo systemctl restart rpcbind
sudo systemctl enable rpcbind
sudo systemctl restart nfs-server
sudo systemctl enable nfs-server
2.NFS客户端的配置
(1)安装NFS服务
sudo dnf install -y nfs-utils
(2)查看NFS服务端的共享目录
sudo showmount -e 192.168.227.130
(3)创建一个目录/nfs,用来挂载共享目录
(4)配置自动挂载文件/etc/fstab
sudo vi /etc/fstabl
192.168.227.130:/NFS /nfs NFS default 0 0
(5)挂载共享目录
sudo mount -a
(6)使用df -h查看是否挂载成功,如果挂载成功,在共享目录上进行读写操作确认权限是否充足