Linux

在斷開連接後仍然存在的 SSHFS 掛載

  • May 23, 2019

我正在使用從筆記型電腦到中央伺服器的SSHFS掛載。

顯然,SSHFS 掛載在較長時間斷開後(例如在掛起期間)被破壞,導致底層 SSH 連接超時。

有沒有辦法讓 SSHFS 掛載在長期斷開連接(> 5 分鐘)甚至使用不同 IP 的重新撥號中倖存下來?

採用 -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3

這種組合ServerAliveInterval=15,ServerAliveCountMax=3會導致 I/O 錯誤在網路中斷一分鐘後彈出。這很重要,但在很大程度上沒有記錄。如果ServerAliveInterval選項預設保留(因此沒有活動檢查),經歷 I/O 掛起的程序似乎無限期地休眠,即使在 sshfs 被reconnect‘ed 之後也是如此。我認為這是一種無用的行為。

換句話說,-o reconnect如果沒有分配ServerAliveInterval,任何 I/O 要麼成功,要麼如果 ssh 在下面重新連接,則無限期掛起應用程序。結果,一個典型的應用程序完全掛起。如果您希望允許 I/O 返回錯誤並恢復應用程序,則需要ServerAliveInterval=1或更高。

無論如何,這ServerAliveCountMax=3是預設值,但我喜歡指定它以提高可讀性。

引用自:https://serverfault.com/questions/6709