Macos上运行nfs4服务器

Written by: algebnaly

Date: 2026-01-07T15:07:03.000Z

介绍

我希望在macos上运行一个nfs4服务器来向我的手机共享文件,但是macos上原生的nfs服务器的版本似乎只到3。运行一个带nfs4服务的容器看起来挺有意思的。

特别地,我希望运行一个Linux内核提供的nfs4服务器,而不是一些用户空间的nfs4服务器,如果不想折腾,可以考虑使用nfs-ganesha

经过一番尝试,我最后成功在macos上通过podman容器运行了一个nfs4服务器。一些重要的细节如下。

一些细节

  1. 首先macos运行的不是Linux内核,需要运行一个Linux虚拟机才能提供容器。由于nfs服务需要挂载nfsd文件系统,加载nfsd内核模块,因此需要rootful machine.

  2. 挂载nfsd文件系统: mount -t nfsd nfsd /proc/fs/nfsd

  3. 启动rpcbind服务: rpcbind

  4. 启动nfs4服务器: rpc.nfsd -p 2049 8

  5. 加载导出文件: exportfs -r

只需要上面的五条命令就可以启动一个最小的nfs4服务器。