如何在OS X上自动挂载NFS共享


14

我在Arch Linux上的本地LAN上设置了NFS服务器,可以通过在终端中发出以下命令来使用OS X Mavericks连接到该服务器:

mount -t nfs -o resvport host:/srv/nfs4/users /mnt/host

由于NFS客户端是MacBook Pro,因此我希望它可以在我在家时自动连接到NFS服务器(否则不执行任何操作)。在其中添加以下行/etc/auto_master无效:

/mnt/host -fstype=nfs4,resvport host:/srv/nfs4/users

更具体地说,运行会automount -vc产生以下结果:

automount: /net updated
automount: /home updated
automount: /mnt/host nmounted
automount: no unmounts

...但是/mnt/host即使我cd进入目录也是一个空目录。

有人可以帮我吗?在此先感谢您,如果我省略了重要细节,请通知我。


1
此方法可能会有所帮助:smekkley.wordpress.com/2014/01/18/…-建议避免在OS X 10.9上使用NFSv4,并提供特定标志以确保稳定的NFS自动挂载。
Graham Miln 2014年

Answers:


4

如果您尝试使用默认/etc/auto_master文件,则可以看到

/net            -hosts      -nobrowse,hidefromfinder,nosuid

然后,您可以cd /net/host/exported/path发现mac尝试挂载此导出的路径。


感谢您的建议,但对我不起作用。
Nicolas De Jay

@ndejay尝试cd /net/host/srv/nfs4/users。您的Arch Linux盒必须导出带有insecure选项的路径,有关更多信息,请参见forums.macrumors.com/showthread.php?t=317044
jaume 2014年

4

我遇到了与@ndejay相同的问题,但原因可能明显不同。

我正在使用NFSv3,而我的Autofs映射在OS X 10.5到10.8上都可以使用:

/mnt -fstype=nfs,nfsvers=3,proto=tcp,resvport myserver:/share

在Mavericks上,它只能从命令行运行:

mount -t nfs -o nfsvers=3,proto=tcp,resvport myserver:/share /mnt

经过一点调试和嗅探,我发现Mavericks的Autofs仅在成功完成其“ pingnfs”检查(使用UDP paquet到端口111的检查)时尝试挂载NFSv3共享。

这种行为加到了公司防火墙上,该防火墙不允许在端口111上进行UDP通信,这使得Mavericks对我们不可用。


3

我发现我的计算机上未加载自动安装的服务(运行10.10 Yosemite)。

$ sudo launchctl list | grep -i auto
84878   0   com.apple.autofsd
-   0   com.apple.preferences.timezone.auto
-   0   com.apple.automountd

重新启动autofsd并自动挂载,然后重新运行automount -vc使其生效。

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.automountd.plist
sudo launchctl unload /System/Library/LaunchDaemons/com.apple.autofsd.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.autofsd.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.automountd.plist

2

我一直在使用一种名为NFS Manager的商业产品来处理我的自动挂载,并且它的运行状况很好。它具有试用模式,因此您可以查看它是否对您有用并且值得。

我与该产品没有任何从属关系。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.