我使用 Fedora 25 桌面上的 autofs 来访问工作网络上的某些 cifs 挂载。
/etc/auto.master:
/home/user/work/mountpoint /etc/auto.custom --timeout=43200 --ghost
/etc/auto.custom:
cifs1 -fstype=cifs,nodev,nosuid,uid=user,gid=user,credentials=/etc/.smbcredentials ://server/cifs1_share/
cifs2 -fstype=cifs,nodev,nosuid,uid=user,gid=user,credentials=/etc/.smbcredentials ://server/cifs2_share/
cifs3 -fstype=cifs,nodev,nosuid,uid=user,gid=user,credentials=/etc/.smbcredentials ://server/cifs3_share/
这个确切的设置有效完美很长一段时间:
访问 /home/user/work/mountpoint/{cifs1,cifs2,cifs3} 总是很快,从未挂起或滞后。
大约 2 周前发生了一些事情(不知道具体是什么),现在如果我在短时间内(甚至几分钟)不访问这些挂载,然后尝试访问它们(即使使用简单的 ls 或 find 命令) - 它们会挂起,并返回“主机已关闭”消息。然后,如果我再试一次或 2-3 次 - 访问突然又可以正常了,一切都恢复正常了。
在 strace 下对其中一个挂载点运行“find”,我注意到这是负责这些消息的系统调用:
19895 newfstatat(AT_FDCWD, "/home/user/work/mountpoint/cifs1/folder/*", 0x55ab02f81b98, AT_SYMLINK_NOFOLLOW) = -1 EHOSTDOWN (Host is down)
我尝试在带有前台输出(stdout/stderr)的调试模式下运行 autofs/automount,但在问题发生时没有注意到任何异常。
我工作场所的其他人使用相同的设置,并且没有任何问题(他们中的大多数人访问其坐骑的频率远低于我)
我将非常感激任何可以帮我解决此问题的提示或其他事项!