1 安装文件系统
yum install nfs-utils -y
2 启动文件系统
systemctl start nfs
3 开启服务
服务器:
firewall-cmd --get-services #查询火墙可开启的服务
firewall-cmd --permanent --add-service=nfs #添加火墙策略
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --reload ##重新加载火墙策略
在客户端:
showmount -e 172.25.254.100 #发现设备共享文件
4 创建一个共享文件:
服务端:
[root@server ~]# mkdir /westos/nfs -p ##创建共享文件
[root@server ~]# vim /etc/exports ##编辑配置文件
/westos/nfs *(sync)
## 将/westos/nfs目录共享出去,所有人可看,及时更新
## 需注意,每次更改了此文件都需要用下面的命令进行刷新,不直接重启服务
## sync:同步模式,内存中数据时时写入磁盘,即数据同步
## no_root_squash:登陆NFS主机使用共享目录的使用者,如果该使用者是root身份,那么对于这个共享目录来说,他就具有root的权限。
[root@server ~]# exportfs -rv ##刷新
exporting *:/westos/nfs
## -r表示重新挂载,-v表示显示共享的目录
在客户端测试:
[root@client ~]# showmount -e 172.25.254.156
Export list for 172.25.254.156:
/westos/nfs *
mount 172.25.254.201:/westos/nfs /mnt #挂载公共享目录
5 autofs自动挂载器
客户端:
yum install autofs.x86_64 -y
systemctl start autofs
当不知道安装一个软件它的配置文件在哪,可以使用如下命令查询:
rpm -qc autofs #查询安装文件位置
安装autofs会自动在系统建立一个目录,开启服务会出现,关闭服务会消失;
安装了autofs,在使用共享目录的时候,它会自动挂载,在不用的时候它会自动卸载,由于默认挂载时间为300ms,可以更改配置文件缩短时间,实验效果会更加明显。
vim /etc/sysconfig/autofs #autofs主配置文件(7.2以前版本位置)
TIMEOUT=2 #默认挂载时间为300
systemctl restart autofs.service
6 修改挂载点上一层目录
开启autofs服务后默认挂载点为/nfs,我们可以通过下面的设置更改挂载点:
vim /etc/auto.master #修改挂载点上一层目录
8 /westos /etc/auto.nfs
| |
最终挂载点的上级目录 创建的文件
vim /etc/auto.nfs
nfs 172.25.254.201:/westos/nfs
| |
最终挂载目录 服务端共享文件地址
systemctl restart autofs.service
##综合以上 mount 172.25.254.156:/westos/nfs /westos/nfs
将服务器156主机上/westos/nfs目录挂载到本地/westos/nfs目录中
注意,编辑完配置文件只需要重启服务/westos/nfs目录就会自动建立出来,不用自己建立
7 对客户端挂载选项设置
可写
做完以上设定,会发现不能在客户端挂载点建立文件,此时,还需要作以下设定:
服务端:
vim /etc/exports # 可以指定用户登陆(格式可以参考man 5 exports)
/westos/nfs *(sync,rw) # rw:指定客户端挂载为读写
exportfs -rv #刷新
chmod 777 /westos/nfs ##更改共享目录的权限
客户端重新挂载检测:
touch file
挂载身份 默认挂载身份为nfsnobody,可以使用以下设定进行更改
vim /etc/exports
/westos/nfs *(sync,rw,anonuid=1001,anongid=1001,no_root_squash) | | | | 可写 指定用户uid 指定用户gid 使用root身份
exportfs -rv
服务端:
客户端:
服务端:
客户端: