CentOS 7 nfs 服务器导致运行 macOS 10.11+ 的 autofs nfs 客户端崩溃

CentOS 7 nfs 服务器导致运行 macOS 10.11+ 的 autofs nfs 客户端崩溃

我试图弄清楚为什么 macOS 客户端在访问从 CentOS 7 服务器自动挂载的 NFS 主目录上的文件时会重新启动。完全相同的配置在 CentOS 6 NFS 服务器上运行良好。

在 CentOS 7 服务器上:

# cat /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted

# systemctl stop firewalld

# cat /etc/exports
/export mac.corp.org(rw,insecure)

# systemctl enable nfs
# systemctl start nfs

# showmount -e
Export list for c7.corp.org:
/export   mac.corp.org

# id jdoe
uid=1001(jdoe) gid=1001(jdoe) groups=1001(jdoe)

在 macOS 客户端(ElCapitan 或 Sierra)上:

# cat /etc/auto_home
jdoe -fstype=nfs,vers=4,sec=sys,proto=tcp,resvport,soft,intr,rsize=32768,wsize=32768,nosuid,rw c7.corp.org:/export/&

# id jdoe
uid=1001(jdoe) gid=1001(jdoe) groups=20(staff),701(com.apple.sharepoint.group.1),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),33(_appstore),100(_lpoperator),204(_developer),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh-disabled) 

# su - jdoe
Password:

# pwd
/home/jdoe

# mount
/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
c7.corp.org:/export/jdoe on /home/jdoe (nfs, nodev, nosuid, automounted, nobrowse)

# vim non-existant_file.txt
:q

使用 VI 进行简单的“打开/关闭”会导致 macOS 崩溃并重新启动,而不会在 /private/var/log/system.log 中写入任何内容。

有人知道如何解决我的问题吗?

答案1

修复方法是将 autofs 配置为使用 nfs v3。Osx 的 nfsv4 实现存在问题,而 Apple 并不急于修复它。

 jdoe -fstype=nfs,vers=3,sec=sys,proto=tcp,resvport,soft,intr,rsize=32768,wsize=32768,nosuid,rw c7.corp.org:/export/&

相关内容