安装NFS
服务端
yum install -y nfs-utils rpcbind (实际centos7 安装nfs-utils时会自动安装rpcbind)
编辑配置文件:
echo "/data 192.168.119.0/24(rw,sync,anonuid=1001,anongid=1001)" >> /etc/exports
权限说明
ro: 共享目录只读;
rw: 共享目录可读可写;
all_squash: 所有访问用户都映射为匿名用户或用户组(nfsnobody);
no_all_squash(默认): 访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组;
root_squash(默认): 将来访的root用户映射为匿名用户或用户组;
no_root_squash: 来访的root用户保持root帐号权限;
anonuid=UID: 指定匿名访问用户的本地用户UID,默认为nfsnobody(65534);
anongid=GID: 指定匿名访问用户的本地用户组GID,默认为nfsnobody(65534);
fsid=0: 表示将/home/nfs整个目录包装成根目录 ;
secure(默认): 限制客户端只能从小于1024的tcp/ip端口连接服务器;
insecure: 允许客户端从大于1024的tcp/ip端口连接服务器;
sync: 将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
async: 将数据先保存在内存缓冲区中,必要时才写入磁盘;
wdelay(默认): 检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率;
no_wdelay: 若有写操作则立即执行,应与sync配合使用;
subtree_check(默认): 若输出目录是一个子目录,则nfs服务器将检查其父目录的权限;
no_subtree_check : 即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
防火墙要开启三个service nfs rpc-bind mountd
firewall-cmd --add-service=rpc-bind --permanent
firewall-cmd --add-service=mountd --permanent
启动服务:
systemctl start rpcbind
systemctl start nfs
应用端:
yum -y install nfs-utils
showmount -e 192.168.119.110(服务端IP)
挂载
mkdir -p /web
mount 192.168.119.110:/data /web
echo "192.168.119.110:/data /web nfs defaults 0 0" >> /etc/fstab(重启不丢失)