文件系统传输————NFS 自动挂载器————autofs
NFS的主要功能是通过网络让不同的机器系统之间可以彼此共享文件和目录。
NFS服务器可以允许NFS客户端将远端NFS服务器端的共享目录挂载到本地的NFS客户端中。
在本地的NFS客户端的机器看来,NFS服务器端共享的目录就好像自己的磁盘分区和目录一样。一般客户端挂载到本地目录的名字可以随便,但为方便管理,我们要和服务器端一样比较好。
NFS一般用来存储共享视频,图片等静态数据。
一.NFS挂载原理介绍
NFS是通过网络来进行服务端和客户端之间的数据传输。两者之间要传输数据就要有想对应的网络端口来进行传输。
NFS服务器到底使用什么网络端口来传输数据的,NFS服务器端其实是随机选择端口来进行数据传输。
那NFS客户端又是如何知道NFS服务器端到底使用的是哪个端口呢?其实NFS服务器时通过远程过程调用(remote procedure call 简称RPC)协议/服务来实现的。
也就是说RPC服务会统一管理NFS的端口,客户端和服务端通过RPC来先沟通NFS使用了哪些端口,之后再利用这些端口(小于1024)来进行数据的传输。
PS:是RPC管理服务端的NFS端口分配,客户端要传数据,那客户端的RPC会先跟服务端的RPC去要服务器的端口,要到端口后再建立连接,然后传输数据。
二、NFS部署
1.安装NFS软件
[[email protected] yum.repos.d]# yum install nfs-utils -y
2.开启相关服务并配置火墙策略
systemctl start nfs
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
3.查看是否成功开启主机上的nfs
NFS只支持通过IP来控制客户端,而这个功能是由守护进程mounted来实现的
showmount -e 172.25.99.1
4.创建共享目录并把他添加到配置文件中
mkdir /zl/nfs -p
vim /etc/exports
##/etc/exports 默认这个里面的内容是空的,这个就是nfs的配置文件。
exportfs -rv5.在客户端挂载测试
mount 172.25.99.1:/zl/nfs /mnt
二.客户端自动挂载卸载
1.在客户端安装所需软件
yum install autofs -y
服务开启前不存在/net目录
2.开启服务
systemctl start autofs
此时可查看到/net目录
3.挂载服务端共享目录
cd 172.25.254.210
可看到服务端共享的目录已经挂载到/net下
4.在设置时间内自动卸载设备
*)rpm -qc autofs ##查找autofs的配置文件位置
*)vim /etc/sysconfig/autofs
##编辑配置文件
13 TIMEOUT=5
*)测试
umount 172.25.254.210:/zl/nfs
systemctl restart autofs.service
cd 172.25.99.1
位置移动到共享目录外 等五秒 df查看 此时已卸载
三.共享目录的其他参数
服务器共享配置格式:
1)基本格式:共享目录 ip/24(共享属性) ->注意无空格
2)共享权限设置:
rw读写属性
sync文件实际写入磁盘后才返回
all_squash:所有访问用户均被压缩成后续接的用户。
anonuid:默认压缩的用户
anongid:默认压缩的用户组