NFS安装
主机IP
10.20.217.70(服务端)
10.20.217.59(客户端)
10.20.217.60(客户端)
10.20.217.64(客户端)
1.1 安装前基础环境配置(所有主机)
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
1.2 安装 NFS 和 RPC(所有主机)
yum install -y nfs-utils rpcbind
1.3 创建共享文件夹(服务端)
#创建共享存储文件夹
mkdir -p /data/files
#将配置参数
vi /etc/exports
#配置nfs 方式一,此方式为多客户端共用一个目录
/data/files 10.20.217.59(rw,sync,no_root_squash) 10.20.217.60(rw,sync,no_root_squash) 10.20.217.64(rw,sync,no_root_squash)
#配置nfs方式二,此方式为不同客户端不同目录,使用此方式时需要创建对应目录
/i_file 10.20.217.59(rw,sync,no_root_squash)
/oa_file 10.20.217.60(rw,sync,no_root_squash)
/hr_file 10.20.217.64(rw,sync,no_root_squash)
#10.20.217.0/24: 客户端 IP 范围,* 代表所有,即没有限制,上面的配置是指定IP可挂载。
#rw: 权限设置,可读可写。
#sync: 同步共享目录。
#no_root_squash: 可以使用 root 授权。
#no_all_squash: 可以使用普通用户授权
#1.使NFS配置生效
exportfs -r
#2.设置开机自启动
systemctl enable rpcbind && systemctl start rpcbind
systemctl enable nfs && systemctl restart nfs
#3.查看服务状态
systemctl status rpcbind
systemctl status nfs
#4.查看是否成功和可用的nfs地址:
showmount -e localhost
1.4 创建挂载文件(各客户端执行)
#创建目录
mkdir -p /data/files
#查看挂载ip,如果
showmount -e 10.20.217.70
#挂载,ip后的目录为服务端目录
mount -t nfs 10.20.217.70:/data/files /data/files
#如果需要取消挂载可以使用以下命令
umount /data/files
1.5 验证
#在服务端和客户端的共享目录下分别创建不同名的文件夹或文件查看其他主机的共享目录下是否同步新建内容。
cd /data/files
mkdir a
rm -rf a
1.6 开启防火墙及开放端口
firewall-cmd --list-all
systemctl start firewalld
systemctl enable firewalld.service
firewall-cmd --zone=public --add-port=111/tcp --add-port=892/tcp --add-port=2049/tcp --add-port=32769/tcp --permanent
firewall-cmd --zone=public --add-port=111/udp --add-port=892/udp --add-port=2049/udp --add-port=32769/udp --permanent
firewall-cmd --reload
1.7 开机自动挂载(可选)
#增加挂载
vi /etc/fstab
#在末尾行添加
10.20.217.70:/data/files /data/apps/files nfs defaults,nofail,_netdev 0 0
#10.20.217.70:/data/files是NFS服务器上的共享目录,/data/apps/files是本地挂载点,nfs是文件系统类型,defaults,nofail,_netdev是挂载选项。
#确保添加nofail和_netdev选项,其中nofail选项会在挂载失败时让系统继续启动,而_netdev选项则告诉系统在尝试挂载网络设备时需要等待网络。如果不加,NFS服务端没启动的话,可能会造成客户端重启失败。
1.8 常见端口问题
开启防火墙后,客户端执行以下命令不能显示服务端。
showmount -e 10.20.217.70
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
使用以下命令查看RPC服务器上注册的所有RPC服务及其端口号,如果存在防火墙未放行的端口,开发一下对应协议端口即可。
rpcinfo -p