[root@hygon-vm ~]# rpm -qa nfs-utils
[root@hygon-vm ~]# rpm -qa rpcbind
[root@hygon-vm ~]#
[root@hygon-vm ~]# yum install -y nfs-utils rpcbind
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* elrepo: mirrors.tuna.tsinghua.edu.cn
正在解决依赖关系
--> 正在检查事务
......
已安装:
nfs-utils.x86_64 1:1.3.0-0.68.el7 rpcbind.x86_64 0:0.2.0-49.el7
作为依赖被安装:
gssproxy.x86_64 0:0.7.0-29.el7 keyutils.x86_64 0:1.5.8-3.el7 libbasicobjects.x86_64 0:0.1.1-32.el7
libcollection.x86_64 0:0.7.0-32.el7 libevent.x86_64 0:2.0.21-4.el7 libini_config.x86_64 0:1.3.1-32.el7
libnfsidmap.x86_64 0:0.25-19.el7 libpath_utils.x86_64 0:0.2.1-32.el7 libref_array.x86_64 0:0.1.5-32.el7
libtirpc.x86_64 0:0.2.4-0.16.el7 libverto-libevent.x86_64 0:0.2.5-4.el7 quota.x86_64 1:4.01-19.el7
quota-nls.noarch 1:4.01-19.el7 tcp_wrappers.x86_64 0:7.6-77.el7
完毕!
服务端配置
在NFS服务端上创建共享目录/nfs-share/test并设置权限
[root@system1 today_smb_test]# mkdir -p /nfs-share/test
[root@system1 today_smb_test]# chmod 666 /nfs-share/test/
编辑export文件
[root@system1 today_smb_test]# cat /etc/exports
/nfs-share/test 192.168.2.0/24(rw,no_root_squash,no_all_squash,sync)
常见的参数则有:
参数值 内容说明
rw 读写
ro 只读
但最终能不能读写,还是与文件系统的 rwx 及身份有关。
sync 代表数据会同步写入到内存与硬盘中
async 则代表数据会先暂存于内存当中,而非直接写入硬盘!
root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户
no_root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员
all_squash 不论登入 NFS 的使用者身份为何, 均被映射为匿名用户,通常也就是 nobody(nfsnobody) 啦!
anonuid anongid anon 意指 anonymous (匿名者) 前面关于 *_squash 提到的匿名用户的 UID 设定值,通常为 nobody(nfsnobody),但是你可以自行设定这个 UID 的值!当然,这个 UID 必需要存在于你的 /etc/passwd 当中! anonuid 指的是 UID 而 anongid 则是群组的 GID 啰。
配置生效
[root@bogon lys]# exportfs -r
启动rpcbind、nfs服务及开机自启动
[root@system1 today_smb_test]# systemctl start rpcbind
[root@system1 today_smb_test]# systemctl start nfs
[root@system1 today_smb_test]# systemctl enable rpcbind
[root@system1 today_smb_test]# systemctl enable nfs
查看 RPC 服务的注册状况
[root@bogon lys]# rpcinfo -p localhost
选项与参数:rpcinfo -p [host]
rpcinfo [-n port] -u | -t host program [version]
rpcinfo -b | -d program version
-p (probe,探测)列出所有在host用portmap注册的RPC程序,如果没有指定host,就查找本机上的RPC程序。
-n (port number,端口号)根据-t或者-u,使用编号为port的端口,而不是由portmap指定的端口号。
-u (UDP) UDP RPC调用host上程序program的version版本(如果指定的话),并报告是否接收到响应。
-t (TCP) TCP RPC调用host上程序program的version版本(如果指定的话),并报告是否接收到响应。
-b (broadcast,广播)向程序program的version版本进行RPC广播,并列出响应的主机。
-d (delete,删除) 将程序program的version版本从本机的RPC注册表中删除。只有具有root特权的用户才可以使用这个选项。
查看共享出来的目录:
[root@dns test]# showmount -e 192.168.2.162 服务端或者客户端都可以
Export list for 192.168.2.162:
/nfs-share/test 192.168.2.0/24
showmount
命令:
-e 显示NFS服务器的共享列表
-a 显示本机挂载的文件资源情况
-v 显示版本号
客户端创建挂载点,挂载,测试:
[root@dns test]# mkdir /nfs_test
[root@dns test]# mount -t nfs 192.168.2.162:/nfs-share/test /nfs_test
开机自动挂载:
[root@dns nfs_test]# vim /etc/fstab
192.168.2.162:/nfs-share/test /nfs_test nfs defaults 0 0
参考链接:
https://blog.csdn.net/qq_33789722/article/details/80280998