无法在从 Ubuntu 21.04 共享的 Mac OS Big Sur 上挂载 NFS 共享 - rpc.statd 未运行

无法在从 Ubuntu 21.04 共享的 Mac OS Big Sur 上挂载 NFS 共享 - rpc.statd 未运行

我已经在 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

相关内容