NFS 目录共享服务
- 安装
yum install -y nfs-utils rpcbind
- 配置共享
# 配置文件
vim /etc/exports
# 默认是空的 写入 : /root/one 47.96.22.229(rw,sync,all_squash)
1. 要共享的目录
2. 可以访问此目录的ip
3. 共享的一些配置参数
all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody)
no_all_squash:与all_squash取反(默认设置)
root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
no_root_squash:与rootsquash取反;
anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx)
anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx)
secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置)
insecure:允许客户端从大于1024的tcp/ip端口连接服务器
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性
async:将数据先保存在内存缓冲区中,必要时才写入磁盘
wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置)
no_wdelay:若有写操作则立即执行,应与sync配合使用
subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置)
no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率
- 重启nfsfuwu
systemctl restart rpcbind.service
systemctl restart nfs.service
- 查看本机共享目录信息
// 查看共享信息
exportfs -v
或
showmount -e localhost
- 查看nfs运行情况
pstree -p | egrep "rpc|nfs"
- 配置防火墙
# 一切配置完成后 需要将nfs涉及到的一些端口在防火墙内开放
# 可以使用 rpcinfo -p 命令 查看下端口信息
nfs会开启3个服务
portmapper : 做端口映射的 ( 默认使用 111 端口 )
mountd : 管理NFS的文件系统 ( 默认使用 20048 端口 可在 /etc/services 中查看到 )
nfs : 管理客户端登录 ( 默认使用 2049 端口 )
需要将 111,20048,2049 三个端口的tcp和udp防火墙都打开即可
- 挂载
# 将远程服务器上的test目录 挂在到本地的/1/one目录上
mount 47.96.22.229:/test /1/one
# 注意: 挂载时必须先退出要挂载的目录 否则会出现挂载成功但文件不同步的情况
# 如果出现此情况请卸载后退出目录重新挂载
# 卸载
umount /1/one
# 查看挂在信息
df -h