使用 NFS4 自动挂载 mac 主目录

使用 NFS4 自动挂载 mac 主目录

我正在尝试在 Mac 客户端上使用 NFSv4 设置用户主目录的自动挂载。

一切似乎都按预期工作,除了通过 Mac GUI 登录。这些登录会挂起并出现旋转光标。

细节

系统是 Mac OS 10.13.3 客户端,带有 Centos 7 NFS 服务器。服务器有 ZFS 存储,我们使用 ZFS 内部 NFS 配置,但由于我们在另一台服务器(带有 ext4 文件系统和标准 linux nfs 实现的 Centos 6)上看到了相同的行为,因此我暂时排除了 ZFS 是问题所在。

在客户端上 /etc/auto_master 是:

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

/etc/auto_home 是:

myhome -vers=4,sec=sys myserver:/mypool/myhome

服务器和客户端都向 AD 服务器进行身份验证。

有效的方法:

  • 使用 NFS v3 而不是 v4 一切都按预期运行。多年来,我们已将此配置用于 100 多个 Mac 和 Linux 客户端。
  • 使用 NFSv4,可以通过命令行手动挂载。(mount -o vers=4 myserver:/mypool/myhome /home/myhome
  • 从命令行使用 v4 自动挂载是可行的。(ls -ald ~joeuser自动挂载主目录)
  • 通过 ssh 登录时使用 v4 自动挂载主目录即可。

无效的方法:

从 Mac GUI(即正常的 Mac 登录)登录时自动挂载主目录会导致客户端挂起并出现旋转光标。

服务器日志中没有显示相关信息,但客户端日志显示:

Feb  8 13:41:24 myclient KernelEventAgent[99]: tid 54485244 received event(s) VQ_NOTRESP (1)
Feb  8 13:41:24 myclient KernelEventAgent[99]: tid 54485244 type 'nfs', mounted on '/home/myhome', from 'myserver:/mypool/myhome', not responding
Feb  8 13:41:24 myclient KernelEventAgent[99]: tid 54485244 found 1 filesystem(s) with problem(s)

通过 ssh 检查挂起的客户端,我们发现自动挂载已成功

myclient:~ admin$ nfsstat -m
/home/myhome from myserver:/mypool/myhome
  -- Original mount options:
     General mount flags: 0x500018 nodev,nosuid,automounted,nobrowse
     NFS parameters: vers=4,sec=sys
     File system locations:
       /mypool/myhome @ myserver (aaa.bbb.ccc.ddd)
  -- Current mount parameters:
     General mount flags: 0x4500018 nodev,nosuid,automounted,nobrowse multilabel
     NFS parameters: vers=4.0,tcp,port=2049,hard,nointr,noresvport,callback,negnamecache,nonamedattr,noacl,noaclonly,locks,noquota,rsize=32768,wsize=32768,readahead=16,dsize=32768,nordirplus,nodumbtimr,timeo=10,maxgroups=16,acregmin=5,acregmax=60,acdirmin=5,acdirmax=60,nomutejukebox,noephemeral,nonfc,sec=sys
     File system locations:
       /mypool/myhome @ myserver (aaa.bbb.ccc.ddd)
     Status flags: 0x0

因此看起来,问题不是出在自动挂载机制上。

我们的 Linux 客户端具有相同的自动挂载配置,并且可以按预期工作,没有任何问题。

下一步

我正在寻求有关如何进一步解决问题的建议。您接下来会采取什么步骤?

相关内容