OS X NFS 自动挂载:“locallocks”被忽略了吗?

OS X NFS 自动挂载:“locallocks”被忽略了吗?

我在 OS X 上遇到了文件锁定和自动安装的问题。

这是我的auto_master文件:

#
# Automounter master map
#
+auto_master        # Use directory service
/net            -hosts      -nobrowse,hidefromfinder,nosuid
/home           auto_home   -nobrowse,hidefromfinder
/Network/Servers    -fstab
/-          -static
/- /etc/auto_nfs

下面是auto_nfs

# Common Configuration

/Shared/Family          -fstype=nfs,rw,nodev,nosuid,nfc,locallocks nfs://10.0.0.11/Volumes/PDISK3/VDISKS/General1/Groups/Family\ Shared
/Shared/Users/christopher   -fstype=nfs,rw,nodev,nosuid,nfc,locallocks nfs://10.0.0.11/Volumes/PDISK3/VDISKS/General1/Users/christopher
/Shared/Scratch1        -fstype=nfs,rw,nodev,nosuid,nfc,locallocks nfs://10.0.0.11/Volumes/PDISK2/VDISKS/Scratch1

# END Common Configuration

似乎locallocks被忽略了(该mount命令不显示它并chflags失败,并且 Finder 的信息窗口有一个灰色的锁定框)。我尝试了所有组合(例如nolocksnolocks,locallocks等)但无济于事。

虽然我并不介意在 NFS 端不使用锁,但缺少锁甚至会导致 OS X疯狂的如果我尝试在 NFS 挂载上拥有主目录。

那么:如何让锁(甚至是锁的外观)在 NFS 共享上发挥作用?

其他详细信息:

该服务器是 Linux Mint 上的 NFS4 服务器,其导出如下:

/Volumes/PDISK2 10.0.0.2(rw,async,no_subtree_check,insecure,no_root_squash) 10.0.0.3(rw,async,no_subtree_check,insecure,no_root_squash) 10.0.0.0/16(rw,async,no_subtree_check,insecure)
/Volumes/PDISK3 10.0.0.2(rw,async,no_subtree_check,insecure,no_root_squash) 10.0.0.3(rw,async,no_subtree_check,insecure,no_root_squash) 10.0.0.0/16(rw,async,no_subtree_check,insecure)
/Volumes/PDISK4 10.0.0.2(rw,async,no_subtree_check,insecure,no_root_squash) 10.0.0.3(rw,async,no_subtree_check,insecure,no_root_squash) 10.0.0.0/16(rw,async,no_subtree_check,insecure)

(注意:这台计算机不是被授予根访问权限的计算机之一,并且将保持这种状态)。

如果我no_auth_rlm在服务器上设置,Finder 中的“已锁定”复选框将不再变灰,但它不会让我选中它(它会自行取消选中)。如果我这样做:touch a ; chflags uchg a在其中一个安装座上,我得到:

chflags: a: Operation not supported

有趣的是,chflags nouchg a虽然可以,但之后仍然不允许chflags uchg a。请注意,在具有 root 访问权限的计算机中,它也无法以 root 身份运行。

这些帐户均来自 OS X El Capitan Open Directory 服务器。是的,它设置正确(我完全可以访问/写入/编辑/等等所有内容,但 OS X 显然存在一个错误,即从 Finder 中删除目录)。

之所以交叉发布此文,是因为有两个主要群体可能遇到过此问题:将 OS X 集成到目录组的系统管理员(因此出现 ServerFault)和亲自或为小型企业尝试做同样的事情并遇到问题的 OS-X 爱好者(因此出现 Think Different)。

更多信息,由“Heinrich”提供:

这实际上不是一个自动挂载问题。似乎 mount(8) 或 mount_nfs(8) 程序只是忽略了大多数选项:

> mount_nfs -o lock,rsize=65535 newserver:/Volumes/Newdata/kits /mnt

> mount|grep /mnt

newserver:/Volumes/Newdata/kits on /mnt (nfs)

> umount /mnt

> mount_nfs -o lock,nodev newserver:/Volumes/Newdata/kits /mnt

> mount|grep /mnt

newserver:/Volumes/Newdata/kits on /mnt (nfs, nodev)

“nodev” 受到尊重,但其他一切似乎都被忽略了。

答案1

似乎挂载选项实际上并没有被忽略,只是没有mount显示它们。nfsstat -m显示给定的 NFS 参数和每个挂载当前使用的实际挂载选项。

locallocks尤其有影响:在我的设置中(macOS Sierra,从 Linux 服务器安装 NFS),照片应用最初无法使用 NFS 安装上的图库(它在启动时就挂起了)。只有设置后,locallocks照片应用才可以使用。

答案2

根据我的经验,locallocks 在 OSX 的 NFSv4 上会被忽略(或至少不能正常工作)。用作nfsvers=3挂载选项。

相关内容