我已经在 Ubuntu 21.04 VM 上设置了 NFS 共享,我想将其安装在 Mac OS Big Sur 客户端上。
使用 检查时,共享列表正常showmount
,但挂载失败:
andi@iMac-Pro Projects % showmount -e 10.116.0.108
Exports list on 10.116.0.108:
/srv/nfsv4/vsc-docker-projects 10.116.0.0/24
/srv/nfsv4 10.116.0.0/24
andi@iMac-Pro Projects % sudo mount -t nfs 10.116.0.108:/srv/nfsv4/vsc-docker-projects /Users/andi/Documents/Projects/vsc-docker-projects
mount_nfs: can't mount with remote locks when server (10.116.0.108) is not running rpc.statd: RPC prog. not avail
mount: /Users/andi/Documents/Projects/vsc-docker-projects failed with 74
andi@iMac-Pro Projects %
我在服务器上有以下配置:
$ cat /etc/exports
/srv/nfsv4 10.116.0.0/24(rw,sync,root_squash,no_subtree_check,fsid=0)
/srv/nfsv4/vsc-docker-projects 10.116.0.0/24(rw,sync,root_squash,no_subtree_check)
$ cat /etc/fstab
/home/andi/vsc-docker-projects /srv/nfsv4/vsc-docker-projects none bind 0 0
rpc.statd
我理解该问题与系统上安装的有关:
$ which rpc.statd
/usr/sbin/rpc.statd
...但显然没有运行:
$ ps -ef | grep rpc
root 407 2 0 04:00 ? 00:00:00 [rpciod]
_rpc 648 1 0 04:00 ? 00:00:00 /sbin/rpcbind -f -w
root 2361 1 0 04:21 ? 00:00:00 /usr/sbin/rpc.idmapd
root 2362 1 0 04:21 ? 00:00:00 /usr/sbin/rpc.mountd --manage-gids
andi 2509 1255 0 04:32 pts/0 00:00:00 grep --color=auto rpc
也无法启动:
$ sudo systemctl start rpc.statd
Failed to start rpc.statd.service: Unit rpc.statd.service not found.
$ service start rpc.statd
start: unrecognized service
我只是缺少一个服务文件/etc/systemd/system/
?虚拟机确实是新安装的,我刚刚用 apt 更新了它,安装了 Docker。我无法想象我在这么短的时间内就把它弄坏了。
知道我下一步该尝试什么吗?提前致谢。
答案1
稍微搜索一下,我找到了一篇指向正确方向的帖子。
激活该服务就可以了:
# check status on rpcbind.service
systemctl status rpcbind.service
systemctl reenable rpcbind.service
systemctl restart rpcbind.service
# check status on rpc-statd.service
systemctl status rpc-statd.service
systemctl reenable rpc-statd.service
systemctl restart rpc-statd.service
现在我收到了一条与权利相关的消息,这无疑是向前迈出的一步:
andi@iMac-Pro Projects % sudo mount -t nfs 10.116.0.108:/srv/nfsv4/vsc-docker-projects /Users/andi/Documents/Projects/vsc-docker-projects
Password:
mount_nfs: can't mount /srv/nfsv4/vsc-docker-projects from 10.116.0.108 onto /Users/andi/Documents/Projects/vsc-docker-projects: Operation not permitted
mount: /Users/andi/Documents/Projects/vsc-docker-projects failed with 1
andi@iMac-Pro Projects %
在服务器的 /etc/exports 中添加一些内容即可达到目的:
/srv/nfsv4/vsc-docker-projects 10.116.0.109/24(rw,sync,root_squash,no_subtree_check,anonuid=1000,anongid=1000,insecure)
该共享仅对同一主机上的其他虚拟机开放。因此,不安全应该没问题。
现在只需在客户端 /etc/fstab 中添加一个条目,我们就可以开始了:
10.116.0.108:/srv/nfsv4/vsc-docker-projects /Users/andi/Documents/Projects/vsc-docker-projects nfs auto 0 0
答案2
我刚刚从 MacOS Catalina 升级到 Monterey,在尝试安装时出现以下错误
mount_nfs: can't mount with remote locks when server (<remote_server>) is not running rpc.statd: RPC prog. not avail
我试图使用以下命令
sudo mount -t nfs -o resvport remote_server:/home/myuser/src /Users/myuser/Development/src
为了解决这个问题,我必须通过更改文件 nfs.conf 来让我的 MacOs 默认使用 NFSv4
sudo vi /etc/nfs.conf
nfs.client.mount.options = vers=4