Mac OS X 客户端在通过 NFSv4 挂载并写入 Linux 服务器时崩溃

Mac OS X 客户端在通过 NFSv4 挂载并写入 Linux 服务器时崩溃

我们是一家 Linux 商店,需要支持大约 30 台 Mac。我们的 Leopard 和 Snow Leopard 系统设置了 LDAP 身份验证和自动挂载的 NFSv3 主目录,因此我们的员工无论使用 OS X 还是 Ubuntu 都拥有相同的登录名和文件。我们唯一的问题是,使用 NFSv3 时,我们无法使用 Firefox >= 4。该问题在 Lion 中仍然存在。

现在 OS X 在 Lion 中支持 NFSv4,我决定尝试一下。它很快就失败了。我无法打开应用程序。当我使用 ssh 登录时,许多与文件操作相关的命令都挂起了。

在 Linux NFSv4 客户端上,您必须在 /etc/idmpad.conf 中设置用于在客户端和服务器之间映射用户名的域名。Lion 中是否有类似的东西?是否还有其他配置设置需要我检查?

我也尝试使用最新版本的 Netatalk,但过了一段时间,Microsoft Word 开始说文件是只读的。

更新信息

我们发现在 NFSv3 中使用异步解决了 Firefox 的问题。不幸的是,异步无法解决 NFSv4 的问题。

事实证明,这是对问题的误解。async 不能解决 NFSv3 或 NFSv4 的问题。

测试方法

我们的 LDAP 服务器中有几个测试帐户,其中的 autofs 条目指向 Ubuntu 上的 NFSv4 服务器。我通过登录窗口或 ssh 登录进行测试。在 GUI 中,我尝试打开应用程序并编辑文本文件。通过 ssh,我尝试使用 vim 编辑文本文件。

对于 NFS 管理器的建议,我使用 su 成为其中一个用户并尝试使用 vim 编辑文件。

服务器设置

这是我的测试 nfsv4 服务器的 /etc/exports。设置与生产 NFSv3 服务器相同。

/var/lib/nfs/v4root @utm(ro,fsid=0,root_squash,insecure,no_subtree_check,async) @admin(ro,fsid=0,no_root_squash,insecure,no_subtree_check,async)

/var/lib/nfs/v4root/d2/export/fac @utm(fsid=31,rw,async,root_squash,no_subtree_check,insecure) @admin(fsid=31,rw,async,no_root_squash,no_subtree_check,insecure)
/var/lib/nfs/v4root/d2/export/grad @utm(fsid=32,rw,async,root_squash,no_subtree_check,insecure) @admin(fsid=32,rw,async,no_root_squash,no_subtree_check,insecure)
/var/lib/nfs/v4root/d2/export/staff @utm(fsid=33,rw,async,root_squash,no_subtree_check,insecure) @admin(fsid=33,rw,async,no_root_squash,no_subtree_check,insecure)

/d2/export/fac @utm(fsid=41,rw,async,root_squash,no_subtree_check,insecure) @admin(fsid=41,rw,async,no_root_squash,no_subtree_check,insecure)
/d2/export/grad @utm(fsid=42,rw,async,root_squash,no_subtree_check,insecure) @admin(fsid=42,rw,async,no_root_squash,no_subtree_check,insecure)
/d2/export/staff @utm(fsid=43,rw,async,root_squash,no_subtree_check,insecure) @admin(fsid=43,rw,async,no_root_squash,no_subtree_check,insecure)

客户端挂载选项

客户端使用 LDAP 中的 autofs 来挂载文件系统。选项如下:

intr,tcp,rw,vers=4,timeo=20

我已尝试使用 vers=4,但得到了相同的结果。

网络

对于此测试,客户端和服务器位于不同的子网上。流量通过 100 Mbps 思科交换机与思科路由交换机建立千兆连接。吞吐量测试显示传输速度稳定在 91 Mbps,ping 时间低至 .3 毫秒。此网络多年来一直适用于 NFSv3。

解决方案

等待 10.7.3。我很高兴地报告,这是 10.7.2 中的一个错误,10.7.3 预发布版已修复它。

答案1

您可能想尝试使用NFS 管理器帮助您配置 NFS 挂载。它比 Apple 的磁盘实用程序更容易使用。

答案2

这是一个错误。它在预发布更新中短暂地起作用,但又坏了。我已向 Apple 提交了错误报告。

相关内容