1. 装置 nfs 和 rpcbind
yum install nfs-utils rpcbind
个别默认都有装置,如果已装置能够跳过
2. 创立服务端共享目录
# 创立目录
mkdir -p /www/share_files
# 配置权限
chmod -R 777 /www/share_files
这里的 /www/share_files 就是服务端分享进去的目录
3. 配置 nfs 的配置文件
vi /etc/exports
文件中配置一行:
# /www/share_files 示意共享目录
# 192.168.1.4 改成本人的 IP
# (rw,sync,no_root_squash) 示意权限
/www/share_files 192.168.1.4(rw,sync,no_root_squash)
权限可选值参考:
rw:read-write,可读写;留神,仅仅这里设置成读写客户端还是不能失常写入,还要正确地设置共享目录的权限,参考问题 7
ro:read-only,只读;sync:文件同时写入硬盘和内存;async:文件暂存于内存,而不是间接写入内存;no_root_squash:NFS 客户端连贯服务端时如果应用的是 root 的话,那么对服务端分享的目录来说,也领有 root 权限。显然开启这项是不平安的。root_squash:NFS 客户端连贯服务端时如果应用的是 root 的话,那么对服务端分享的目录来说,领有匿名用户权限,通常他将应用 nobody 或 nfsnobody 身份;all_squash:不管 NFS 客户端连贯服务端时应用什么用户,对服务端分享的目录来说都是领有匿名用户权限;anonuid:匿名用户的 UID 值,通常是 nobody 或 nfsnobody,能够在此处自行设定;anongid:匿名用户的 GID 值。
4. 刷新配置
exportfs -r
5. 启动 nfs 和 rpcbind 服务
# 查看服务状态
systemctl status rpcbind
systemctl status nfs-server
# 启动服务
systemctl restart rpcbind
systemctl restart nfs-server
# 设置开机自启
systemctl enable rpcbind
systemctl enable restart
6. 检测服务器的 nfs 状态
服务端查看:showmount -e
[root@iZxe4Z share_files]# showmount -e
Export list for iZgw839moiwhkboospwxe4Z:
/www/share_files *
客户端查看:showmount -e 192.168.1.4
[root@ip-192.168.1.3 centos]# showmount -e 192.168.1.4
Export list for 192.168.1.4:
/www/share_files *
7. 挂载服务端的共享目录
# 192.168.1.4:/www/share_files 服务端 IP: 目录
# /www/jump_share_files 客户端目录
mount -t nfs 192.168.1.4:/www/share_files /www/jump_share_files
常见问题
挂载失败
失败场景一:
第 7 步中如果挂载呈现谬误提醒:clnt_create: RPC: Program not registered
[centos@ip-192.168.1.3 ~]$ showmount -e 192.168.1.4
clnt_create: RPC: Program not registered
解决办法:
- 在服务器上先进行 rpcbind,
systemctl stop rpcbind
- 而后在进行 nfs
systemctl stop nfs
-
最初在重启 rpcbind 和 nfs,肯定要按程序启动和进行
systemctl start rpcbind systemctl start nfs
失败场景二:
第 7 步中如果挂载呈现谬误提醒:mount.nfs: access denied by server while mounting 192.168.1.4:/www/share_files
查看具体失败起因:cat /var/log/messages | grep mount
Sep 23 17:52:20 iZj6cdspheuw91fen9pcvrZ rpc.mountd[20419]: refused mount request from 192.168.1.4 for /www/share_files (/www/share_files): unmatched host
解决办法:
反复第三步 vi /etc/exports
,将 IP 改为 */www/share_files *(rw,sync,no_root_squash)