运行环境
系统版本:CentOS Linux release 7.3.1
软件版本:无
硬件要求:无
安装过程
1、配置YUM源
[root@localhost ~]# rpm -i https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache
2、安装NFS
[root@localhost ~]# yum -y install rpcbind nfs-utils
3、创建要共享的目录,并授权
NFS默认使用的匿名用户是nfsnobody。
[root@localhost ~]# mkdir /home/nfs-share
[root@localhost ~]# chown -R nfsnobody.nfsnobody /home/nfs-share
[root@localhost ~]# ll /home
drwxr-xr-x. 2 nfsnobody nfsnobody 6 Mar 13 03:50 nfs-share
4、编辑配置文件,增加共享条目
[root@localhost ~]# vim /etc/exports
#书写格式:共享目录 允许访问的地址段/掩码(权限选项1,权限选项2)
#权限选项:
# ro 只读
# rw 可读可写
# async 异步传输,默认情况下NFS为了提高性能则则使用异步传输方式,即客户端--缓存区--服务端。这种方式在服务端如果意外故障时有可能会导致数据丢失(默认)
# sync 同步传输,即客户端--服务端实时同步数据,为了保证安全性。但同时更消耗磁盘资源
# all_squash 所有访问用户都会被压缩成匿名用户
# no_all_squash 访问用户不会立即被压缩成匿名用户,规则:访问用户会先于本机用户匹配,如果匹配成功则访问用户使用自身用户身份访问,如果匹配失败后会将其压缩成匿名用户。默认)
# anonuid=XXX 设置匿名用户的UID,如果不设置,则默认匿名用户为“nfsnobody”,UID=65534
# anongid=XXX 设置匿名用户的GID,如果不设置,则默认匿名用户组为“nfsnobody”GID=65534
# root_squash 如果访问用户是“root”则会被压缩成匿名用户(默认)
# no_root_squash 如果访问用户是“root”则不会被压缩成匿名用户,保持“root”账号访问权限
# secure 限制客户端只能使用<1024的端口连接(默认)
# insecure 允许客户端使用>1024的端口连接
# wdelay 检查是否有写操作,如果有则则这写操作一起执行(默认)
# no_wdelay 不检查,若有写的操作则立即执行,应与“sync”同步传输方式一起使用
/home/nfs-share 172.17.0.0/24(rw,sync,no_wdelay,all_squash,anonuid=65534,anongid=65534,insecure)
5、开启服务
[root@localhost ~]# systemctl start rpcbind nfs-server
6、当配置文件发生修改,重新载入配置
[root@localhost ~]# exportfs -ra
7、客户机挂载共享目录到本地
[root@localhost ~]# mkdir /home/nfs-client
[root@localhost ~]# mount.nfs4 -w -o noac
172.17.0.22:/ifs/kubernetes
/home/nfs-client [root@localhost ~]# df -Th
172.17.0.22:/ifs/kubernetes nfs4 40G 21G 17G 56% /home/nfs-client