server端安装
yum -y install nfs-utils rpcbind
#centos7自带了rpcbind,rpc监听在111端口。
编辑配置文件
vim /etc/exports
写入如下内容
/data/nfs 10.111.111.0/23(rw,sync,no_root_squash)
#/data/nfs 为共享目录
#ip地址是共享的范围
再次修改后,执行exportfs –rv让配置立即生效
权限说明
1、普通用户
当设置all_squash时:访客时一律被映射为匿名用户(nfsnobody)
当设置no_all_squash时:访客被映射为服务器上相同uid的用户,因此在客户端应建立与服务端uid一致的用户,否则也映射为nfsnobody。root除外,因为root_suqash为默认选项,除非指定了no_root_squash
2、root用户
当设置root_squash时:访客以root用户访问NFS服务端时,被映射为nfsnobody用户
当设置no_root_squash时:访客以root用户访问NFS服务端时,被映射为root用户。以其他用户访问时同样映射为对应uid的用户,因为no_all_squash是默认选项
选项说明
ro:共享目录只读
rw:共享目录可读可写
all_squash:所有访问用户都映射为匿名用户或用户组
no_all_squash(默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组
root_squash(默认):将来访的root用户映射为匿名用户或用户组
no_root_squash:来访的root用户保持root帐号权限
anonuid=:指定匿名访问用户的本地用户UID,默认为nfsnobody(65534)anongid=:指定匿名访问用户的本地用户组GID,默认为nfsnobody(65534)secure(默认):限制客户端只能从小于1024的tcp/ip端口连接服务器insecure:允许客户端从大于1024的tcp/ip端口连接服务器sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性async:将数据先保存在内存缓冲区中,必要时才写入磁盘wdelay(默认):检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率no_wdelay:若有写操作则立即执行,应与sync配合使用subtree_check(默认) :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率
启动server端
启动顺序是rpcbind->nfs
systemctl start rpcbind.service
systemctl enable rpcbind.service
systemctl start nfs.service
systemctl enable nfs.service
client 安装
yum install -y nfs-utils rpcbind
# 此处nfs-utils 只安装不启动,方便执行查看命令。
启动client
systemctl start rpcbind
systemctl enable rpcbind
挂载
直接(临时)挂载
mkidr /nfs
mount -o rw -t nfs 10.111.111.111:/data/nfs /nfs
永久挂载(重启后自动挂载)
vim /etc/fstab
写入如下内容:
10.111.111.111:/data/nfs /nfs nfs defaults,_netdev 0 0
加载fstab配置立即生效生效
mount -a