sshfsマウントサーバーとの切断を処理するより良い方法は何ですか?

sshfsマウントサーバーとの切断を処理するより良い方法は何ですか?

次のように複数のディレクトリをマウントしました。sshfs。時々、サーバーとの接続が失われます(構成できません)。私は通常、次のようにディレクトリをマウントします。

sshfs [email protected]:/home/user /mnt/example

サーバーが切断された場合、sshfs サブシステムは接続を切断しません。削除/解除代わりにアクセスできないようにロックします。入力中はマウントが表示され続けますmount。私が入力している間

ls /mnt/example

プロセスがロックされています(役に立ちませCtrlc)。だから私も

sudo umount -l /mnt/example
# find pid of corresponding process:
ps aux | grep example.com
kill -9 <pid of locked sshfs process>

この問題を処理するより良い方法はありますか?確かにsshfsすべきこと削除整理して...理想的には自動的に再接続されます。

答え1

「reconnect」オプションを使用してsshfsを実行できます。私たちは、sshfsとPAM / automountを使用してネットワーク上の各ワークステーションでサーバーファイルを共有します。 -o reconnect を sshfs の引数として使用します。これは、主にユーザーがコンピュータを一時停止し、sshfsが目覚めたときに再接続(または応答など)しないためです。

たとえば、

sshfs [email protected]:/home/mvaldez/REMOTE /home/mvaldez/RemoteDocs -o reconnect,idmap=user,password_stdin,dev,suid

リモートシステムがダウンすると、sshfsが長時間応答しなくなる可能性があります。

答え2

この問題はタイムアウトを減らすことで解決できます。$HOME/.ssh/configまたはに以下を追加します/etc/ssh/ssh_config

ServerAliveInterval 15
ServerAliveCountMax 3

これにより45秒のタイムアウトが発生します。

答え3

保管用のサーバーがありますが、居住スペースが足りず、他の場所に保管しています。私のネットワークにファイルをインポートするには、sshfsを使用してサーバーからファイルをマウントするRaspberry Piを使用します。

最近、停電のためにraspbian jessieにアップグレードする必要があり、sshfsが深刻に不安定になったことに気づきました。フォルダは正しくインストールされますが、しばらくするとフォルダに接続できなくなり、インストールされているアイテムを一覧表示したい場合はRaspberry Piがフリーズします。

私が試したことは次のとおりです。

  1. fstabで再接続を使用する
  2. .ssh / configファイルでServerAliveIntervalとServerAliveCountMaxを使用しましたが、役に立ちません。
  3. ほとんどのフォーラムで読んだ別のソリューションです。

しかし、サイコロはありません! fstabファイルを次のように変更するまで:

sshfs#user@server:/remote/folder /local/mount/dir fuse IdentityFile=sshkeyfile,Port=XXX,uid=1000,gid=1000,allow_other,_netdev,ServerAliveInterval=45,ServerAliveCountMax=2,reconnect,noatime,auto 0 0

効果がある!もはや接続が切断されません! sshfsが何らかの理由でssh設定ファイルを読み取れず、接続保持信号が送信されないようです。

答え4

まあ、私は別の答えで平和を見つけましたが、私に効果があったことを簡単な方法で要約したいと思います。:

sshfs -o reconnect,ServerAliveInterval=15 remote.srv:/somedir /local/mymount

1つを指定していませんServerAliveCountMax。デフォルトは 3 です。


したがって、上記のコマンド(optionsを含むreconnect)は次のようになります。

  • 接続がremote.srv有効であることを確認してください15秒ごと
  • もし3回連続確認失敗、sshfsマウントを再接続しようとします(ssh-agent推奨)。
  • 再接続が失敗すると、sshfsを介してリモートデータにアクセスしようとするプロセスは永久に中断されるのではなく、I / Oエラーを受け取ります。
  • 接続がremote.srv再び可能になると、自動的に再接続する必要があります。

reconnectfrom()オプションがない場合は、次のよう-oになります。

  • sshfsI/O を待機するプロセスは依然としてエラーを送信しますが、umount正しく終了します。

関連情報