当服务器没有响应时,如何防止 SSHFS 冻结所有尝试访问它的内容?
我的fstab
样子是这样的:
[email protected]:/home /mnt/data-remote fuse.sshfs defaults,_netdev,port=23,uid=0,gid=0,IdentityFile=/etc/remote/user_domain_ed25519,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3,PasswordAuthentication=no 0 0
一旦冻结,所有尝试访问它的东西也会冻结,因此很多时候也systemctl reboot
不起作用,我必须对生产服务器进行硬件重置。
如果重新连接失败的时间足够长,我该如何让 sshfs 崩溃或自行卸载,而不是让整个系统无响应?
答案1
这取决于您在挂载时执行的操作。如果您正在使用交换文件(一个极端的例子),则整个系统很可能会崩溃。
因此,第一步是找出因无法访问安装点而被阻止的原因,并查看那可以说服软件正常停止。
除此之外,您还可以终止执行实际 ssh 隧道的进程。类似这样的操作pkill sshfs
。
找出sshfs
不再工作的原因也可能会有所帮助。您可以尝试调整ClientAliveInterval
sshd_config ClientAliveCountMax
。
也autofs
能有所帮助。