Як уникнути заморожування sshfs?


24

Тож питання в цьому:

Я встановив 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

Так що, якісь ідеї?

Відповіді:


18

Якщо ви запустили 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, і змонтована файлова система знову стане реагуючою, і всі процеси, що висять на ній, триватимуть так, ніби нічого не сталося.


FYI: Це рішення виглядає дуже корисним в першу чергу для підвищення надійності наших sshfs-з'єднань: askubuntu.com/a/716618/327339 . Також дивіться # 11 у поширених запитаннях тут: github.com/libfuse/sshfs/blob/master/FAQ
Габріель

1

Скільки часу ви чекали, коли замороження вирішиться? Це можуть бути просто проблеми передачі між вами та сервером, про який йдеться.

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

Якщо я зачекаю, з часом воно НЕ синхронізується та виконує щось, але іноді воно просто зависне на кілька хвилин.

Терпіння GrassHopper!


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>.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.