Как избежать зависания sshfs?

23

Таким образом, проблема заключается в следующем:

Я установил sshfs в Ubuntu 12.04 и пытаюсь подключиться к паре удаленных серверов. Так что изначально крепление кажется успешным. Иногда 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

Так что, есть идеи?

Андреас Хаген
источник

Ответы:

17

Если вы запустили sshfs -o reconnect, уничтожение зависшего процесса 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, и смонтированная файловая система снова станет отзывчивой, и все процессы, висящие на ней, продолжатся, как будто ничего не произошло.

Бели
источник
К вашему сведению: это решение выглядит очень полезным для улучшения надежности наших соединений sshfs в первую очередь: askubuntu.com/a/716618/327339 . Также смотрите # 11 в FAQ здесь: github.com/libfuse/sshfs/blob/master/FAQ
Габриэль Стейплс
1

Как долго вы ждали решения о замораживании? Возможно, это просто проблемы передачи между вами и рассматриваемым сервером.

Я использую sshfs между моей системой и другом, который живет в домах (официальный термин!), Он использует беспроводную связь, которая иногда выпадает (мы думаем, что его приемник колеблется на ветру, теряя блокировку сигнала).

Если я подожду, он в конечном итоге синхронизируется и что-то делает, но иногда он просто зависает на несколько минут.

Терпение GrassHopper!

lornix
источник
2
Я пытался немного подождать, может быть, 10-20 минут, но не повезло. Может быть, это просто нужно пару часов? ^^,
Андреас Хаген
Можно было бы надеяться, что нет !! Вы можете попробовать войти в систему с помощью sshfs -d' or sshfs -o LogLevel = Debug` (или 'Debug2'), чтобы включить подробный режим ... посмотреть, печатается ли что-нибудь просветляющее.
lornix
0

Это старый пост, и я не даю окончательного решения этого вопроса, но я думаю, что у меня возникла та же проблема (в Ubuntu 14.04), и в моем случае ленивый размонтирование и перемонтирование работает (хотя это немного раздражает):

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

Я подозреваю, что вы просто просматривали кэшированные результаты ls -al <folder>.

Sheljohn
источник