web-dev-qa-db-ja.com

sshfsのフリーズを回避する方法は?

だから問題はこれです:

Ubuntu 12.04にsshfsをインストールしましたが、いくつかのリモートサーバーに接続しようとしています。したがって、最初はマウントが成功したようです。時々、Gnomeはそれを拾って、画面の下部に「新しいデバイスが見つかりました」ボックスを表示します。しかし、これからはうまくいきません。または、少なくとももはや。接続した最初の数回は正常に動作しているようで、いくつかのファイルを転送できた後、fusermount -u <folder>を使用して切断しましたが、しばらくしてから再接続すると問題が発生しました。 sshfs -o ServerAliveInterval=15 -o reconnect -C -o workaround=all -o idmap=user root@<Host>:/ <folder>を実行した後、ディレクトリをマウントポイントに変更すると、シェルがフリーズします。奇妙なことに、ls -al <folder>は、リモートシステムのルートのみを一覧表示するときに機能しますが、それ以上は機能しません。また、私が試したすべてのファイルエクスプローラは、cd <folder>のようにフリーズします。

私のシステムには、初めて動作するという事実のため、システムに何らかのゾンビスレッドまたは何かが掛かっているように見えたので、再起動を試みましたが、うまくいきませんでした。

sshfs -Vはこれを提供します:

SSHFS version 2.3
Fuse library version: 2.8.6
fusermount version: 2.8.6
using Fuse kernel interface version 7.12

ええ、何かアイデアはありますか?

25
Andreas Hagen

-o reconnectを使用してsshfsを開始した場合、SSHプロセスがハングしているため、SSHプロセスを停止すると再接続されます。

まず、一致するSSHを見つけます。次に例を示します。

ps -ef
...
user 9644 1 0 11:15 ? 00:00:00 ssh -x -a -oClearAllForwardings=yes -2 <Host> -s sftp
...

特徴的なオプションのセットと、sshfsを接続していたホストによって、それを区別できます。その後、強制終了します。通常のSIGTERMで十分です。

kill 9644

これにより、SSHFSが新しいSSHセッションを開始し、マウントされたファイルシステムが再び応答するようになり、それに掛かっているすべてのプロセスが何も起こらなかったかのように続行します。

18
Beli

フリーズが解決するまでどのくらい待ちましたか?それはあなたと問題のサーバーとの間の送信の問題だったかもしれません。

私は私のシステムとブーニーに住んでいる友人(公式用語!)の間でsshfsを使用します。彼は陸上無線に乗っており、ときどきドロップアウトします(受信機が風になびいており、信号ロックが失われていると考えています)。

私が待つと、最終的には同期して処理が行われますが、場合によっては数分間ハングすることがあります。

忍耐グラスホッパー!

1
lornix

これは古い投稿であり、これに対する最終的な解決策は提供していませんが、私は同じ問題(Ubuntu 14.04の場合)を抱えていたと思います。私の場合、遅延のアンマウントと再マウントは機能します(少し面倒ですが)。

fusermount -u -z /local/folder
sshfs -C user@server:/remote/folder /local/folder

キャッシュされた結果をls -al <folder>

0
Jonathan H