一、概念
NFS是Network File System的缩写,它的主要功能是通过网络将不同的主机系统之间可以彼此共享文件或者目录。NFS客户端可以通过挂载的方式将NFS服务端共享的数据文件目录挂载到NFS客户端本地系统的一个挂载点下。
二、NFS服务搭建
1、环境:
服务器系统 | 角色 | ip地址 |
---|---|---|
CentOS 7.9 | NFS服务端 | 192.168.119.20 |
CentOS 7.9 | NFS客户端 | 192.168.119.21 |
2、关闭防火墙
systemctl stop firewalld # 临时关闭
systemctl disable firewalld # 永久关闭
3、NFS软件安装
部署nfs服务需要下边安装包
- nfs-utils
- portmap(centos5.x)/rpcbind(centos6.x)
NFS Server 安装
#先查看机器上是否存在NFS和RPC安装包
rpm -qa nfs-utils portmap rpcbind
#如果没安装通过yum进行安装
yum install nfs-utils rpcbind -y
NFS Client安装
#先查看机器上是否存在NFS和RPC安装包
rpm -qa portmap rpcbind
yum install nfs-utils rpcbind -y
三、NFS服务启动
1、启动NFS服务(server、client端同时执行)
service nfs start
2、查看NFS状态(server、client端同时执行)
service nfs status
3、查看NFS服务端口注册信息(server、client端同时执行)
rpcinfo -p localhost
四、NFS服务端挂载配置
NFS服务端的配置文件是/etc/exports,可以在该文件中进行配置参数,比如,连接的客户端限制等
vim /etc/exports
添加配置,添加完执行cat /etc/exports
,信息如下图所示:
其中括号后面的rw是客户端的权限,允许对共享目录中进行读写,sync同步到本地磁盘中。
重新加载NFS服务
service nfs reload
查看配置生效挂载情况:
showmount -e localhost
五、NFS客户端挂载配置
通过客户端查看共享目录:
showmount -e 192.168.35.9
将共享目录挂载到客户端上:
mount -t nfs 192.168.119.20:/data /data
挂载后
六、测试
NFS服务器创建文件测试
NFS服务端
NFS客户端
NFS客户端文件更改权限修改
NFS客户端创建文件
touch test.txt
可以看到出现权限不足的情况。在上面的/data目录中的文件对其他用户无写的权限。
这里可以设置nfs的默认用户属组,所以只要找到nfs的默认用户设置属组即可。
#更改目录属组、用户
[root@nfs-server /]# chown -R nfsnobody:nfsnobody /data
七、设置开机自启
#nfs服务端
systemctl enable rpcbind
systemctl enable nfs
#nfs客户端启动
systemctl enable rpcbind
systemctl enable nfs
#nfs客户端执行挂载
echo "mount -t nfs 192.168.119.20:/data /data" >> /etc/rc.local