web-dev-qa-db-ja.com

スリープ後(または接続が失われたとき)にsshfsによってマウントされたフォルダーにアクセスできません

多くの場合、ssh経由でファイルシステムをマウントすると:

sshfs user@remote: ~/Mounts/Remote

マシンをウェイクアップすると、マウントされたフォルダーにアクセスできなくなり、マシンが休止状態になります(ラップトップの蓋が閉じます)。さらに、親フォルダでlsしようとすると、端末がフリーズします。接続が何らかの理由で失われた場合にも同じことが起こります。

を使用してアンマウントしようとした場合

fusermount -u ~/Mounts/Remote

私はこれを行うことができません:

フューザーマウント:/ home/yotama9/Mounts/Remoteのアンマウントに失敗しました:デバイスまたはリソースがビジーです

Sshを強制終了しようとしましたが、フォルダーを再度マウントできません。フォルダ内のlsはまだフリーズしています。

どうすればこれを回避して修正できますか(ArchLinux)?

13
Yotam

UbuntuLinuxでも同じ問題が発生します。履歴書の後に私がすること:

$ killall -9 sshfs

次に、アンマウント

$ fusermount -u ~/far_projects

リモートファイルシステムを再度マウントします。

$ sshfs -o idmap=user youruser@server:/projects ~/far_projects
13
jap1968

前述のように ここ 、これはあなたの解決策です:

 -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3

使用例として: https://github.com/aktos-io/dcs-toolsmake mount-rootターゲットを見てください。

4
ceremcem

ラップトップでも同じ問題が発生しました。

必要なのは、アンマウントコマンドにレイジーアンマウントオプション(z)を含めることだけです。

$ fusermount -uz ~/Mounts/Remote

次に、通常と同じ方法で再マウントします。

また、再接続オプション(-o reconnect)を使用して、問題が発生しても接続を維持することにも注意してください(ふたを閉じて数分後に戻ってくるなど)。

afuse のようなソリューションを調べることもできます。これはFuseファイルシステム(sshfsを含む)の自動マウンターであり、毎回アンマウント/再マウントする手間を省きます。

最後の自動マウントオプションの1つは、 autofs with sshfs を使用することです。

2
asyncopation