NFS(Network File System):通过网络让不同的机器/操作系统共享文件,一般用来共享静态数据
环境
# 关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
# 关闭 selinux
setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
1. 服务端配置
yum install -y nfs-utils rpcbind
mkdir /nfs
chown -R root.root /nfs
vi /etc/exports
# `共享目录 客户端地址1(参数1, 参数2) 客户端地址2(参数1, 参数2)`
/nfs 192.168.11.205/24(rw,async,no_root_squash)
# /nfs *(rw,async,no_root_squash) # 对所有IP都有效
systemctl restart rpcbind
systemctl enable nfs && systemctl restart nfs
showmount -e 192.168.11.204 # 查看是否有可用的 NFS 地址
nfsstat -s # 查看服务端 NFS 信息
NFS 配置选项
- ro:默认。客户端挂载后权限为只读
- rw:读写
- sync:同步将数据写入到内存与硬盘中
- async:异步,优先将数据写入内存,再写入硬盘
- secure:要求请求源的端口小于1024
- root_squash:当NFS客户端使用root用户访问时,映射到NFS服务器的匿名用户
- no_root_squash:当NFS客户端使用root用户访问时,映射到NFS服务器的root用户
- all_squash:全部用户都映射为服务器端的匿名用户
- anonuid=UID:将客户端登录用户映射为此处指定的用户uid
- anongid=GID:将客户端登录用户映射为此处指定的用户gid
2. 客户端配置
yum install -y nfs-utils rpcbind
mkdir -p /nfs-data
# -t nfs:使用nfs协议
# -o:挂载选项
## nolock:不阻塞
## vers=4:NFS版本号为4
mount -t nfs -o nolock,vers=4 192.168.11.204:/nfs /nfs-data
df -h # 查看挂载
umount /nfs-data # 卸载挂载
nfsstat -c # 查看客户端 NFS 信息