一、NFS相关概念
NFS(network file system)网络文件系统,许多个客户端通过网络共享文件访问。
功能:它可用于提供对共享二进制目录的访问,也可用于允许用户在同一工作组中从不同客户端访问其文件。可以通过挂载的方式将NFS服务器端共享的目录挂载到NFS客户端本地的目录下
二、NFS工作原理
NFS服务只需在服务端后于RPC服务启动,客户端无需启动NFS服务
NFS的rpc服务,在CentOS5.X下名称为portmap,在CentOS6.x下名称为rpcbind。
1)服务器端启动启动RPC(远程过程调用协议)服务
2)服务器端、客户端启动NFS服务
3)客户端请求NFS服务(NFS客户端RPC服务(portmap 或rpcbind服务)就会通过网络向NFS服务端的RPC服务(即portmap或rpcbind服务)的111端口发出NFS文件存取功能的询问请求)
4)NFS服务端的RPC服务(即portmap或rpcbind服务)找到对应的已注册的NFSdaemon端口后,通知NFS客户端的RPC服务(即portmap或rpcbind服务)。
5)RPC把端口和IP地址给客户端,完成文件共享
三、NFS服务的搭建与配置
两个主机,服务器端为192.168.76.136,客户端为192.168.76.205
1、关闭防火墙及Selinux
systemctl stop firewalld
setenforce 0
2、安装NFS服务器
yum install rpcbind nfs-utils
3、配置NFS服务
1) NFS服务器上建立NFS共享目录
mkdir /data1/
chmod -Rf 777 /data1/
2 ) NFS服务的配置文件
/data1/共享给本网段所有主机,且拥有读写权限,在将数据写入到NFS服务器的硬盘中后才会结束操作,最大限度保证数据不丢失
vi /etc/exports
在这里需要了解exports配置常用参数
#ro 只读
#rw 读写
#root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户
#no_root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员
#all_squash 无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户
#sync 同时将数据写入到内存与硬盘中,保证不丢失数据
#async 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据
3 ) 启动NFS服务
systemctl restart rpcbind
systemctl enable rpcbind
systemctl start nfs-server
systemctl enable nfs-server
4) 客户端测试
showmount -e 192.168.76.136
mount -t nfs 192.168.5.167:/data1/ /mnt
即可挂载成功