NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作。RPC采用了XDR的支持。XDR是一种与机器无关的数据描述编码的协议,他以独立与任意机器体系结构的格式对网上传送的数据进行编码和解码,支持在异构系统之间数据的传送。(来源:秒懂百科)
一、nfs服务的安装及启用
服务器客户端进行如下的相同操作:
dnf install nfs-utils.x86_64 -y ##下载nfs
systemctl enable --now nfs-server.service ##启用nfs
netstat -anlutpe | grep 2049 ##nfs的端口:2049
showmount -e 172.25.254.137 ##列出nfs服务的共享资源
对nfs及相关的服务进行火墙管理
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --reload
firewall-cmd --list-all
二、nfs服务的用户登录管理
服务器:
mkdir /westosdir
chmod 777 /westosdir
vim /etc/exports:
1/westosdir/ *(ro,sync) 172.25.254.237(rw,sync) ##指定其他主机有读的权力,237主机有读写权力,且此时进行nfs资源挂载的用户身份为nobody
2/westosdir/ *(ro,sync) 172.25.254.237(rw,sync,anonuid=1000,anongid=1000)##指定客户主机挂载时,使用服务器的用户身份为1000
3/westosdir/ *(ro,sync) 172.25.254.237(rw,sync,no_root_squash)##客户主机在使用root身份进行nfs资源挂载时,沿用其root身份
exportfs -rv ##加载共享策略文件
客户端:
多次挂载卸载,在挂载点/mnt建立文件
mount 172.25.254.137:/westosdir /mnt
touch /mnt/file1/2/3 ~~~~
测试:ls -l /westosdir/
三个策略的效果:
-rw-r--r--. 1 nobody nobody 0 Aug 11 22:11 file1
-rw-r--r--. 1 westos westos 0 Aug 11 22:13 file2
-rw-r--r--. 1 root root 0 Aug 11 22:14 file3
三、nfs的客户端自动挂载,卸载
客户端:
dnf install autofs -y ##下载autofs自动挂、卸载插件
mkdir /xyf ##建立挂载路径
vim /etc/auto.master: ##编辑主策略文件
#/misc /etc/auto.misc
#/666 /etc/auto.share
/xyf /etc/auto.nfs
vim /etc/auto.nfs: ##编辑子策略文件
nfs -rw 172.25.254.137:/westosdir
systemctl restart autofs.service ##重启服务
测试:
cd /xyf/nfs
df ##察看是否自动挂载