Jak uniknąć zamrażania sshfs?

23

Problem w tym, że:

Zainstalowałem sshfs na Ubuntu 12.04 i próbuję połączyć się z kilkoma zdalnymi serwerami. Początkowo montaż wydaje się udany. Czasami Gnome nawet go podnosi i wyświetla pole „znaleziono nowe urządzenie” u dołu ekranu. ale odtąd niewiele działa. A przynajmniej już nie. Po kilku pierwszych połączeniach wydawało mi się, że działa dobrze i udało mi się przenieść niektóre pliki, a następnie rozłączyłem się, fusermount -u <folder>a po ponownym połączeniu nieco później zaczęły się problemy. Teraz po uruchomieniu sshfs -o ServerAliveInterval=15 -o reconnect -C -o workaround=all -o idmap=user root@<host>:/ <folder>, kiedy zmieniam katalog na punkt montowania, powłoka po prostu zawiesza się. Dziwnie ls -al <folder>działa, gdy wyświetla tylko katalog główny zdalnego systemu, ale nic więcej. Również każdy eksplorator plików, którego próbowałem, zawiesza się cd <folder>.

Wydawało mi się, że wokół mojego systemu wisiało coś w rodzaju zombie lub coś takiego, ponieważ zadziałało za pierwszym razem, więc próbowałem zrestartować komputer, ale bez powodzenia.

sshfs -V daje to:

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

Więc tak, jakieś pomysły?

Andreas Hagen
źródło

Odpowiedzi:

17

Jeśli zacząłeś od sshfs -o reconnect, zabicie go zawieszającego się procesu SSH spowoduje ponowne połączenie.

Najpierw znajdź pasujący SSH, na przykład:

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

Możesz to odróżnić od wyróżniającego zestawu opcji i hosta, z którym łączysz sshfs. Następnie zabij go, zwykły SIGTERM powinien wystarczyć:

kill 9644

Powinno to spowodować, że SSHFS rozpocznie nową sesję SSH, a podłączony system plików ponownie zareaguje, a wszystkie zawieszające się na nim procesy będą kontynuowane, jakby nic się nie wydarzyło.

Beli
źródło
FYI: To rozwiązanie wydaje się bardzo przydatne do poprawy niezawodności naszych połączeń sshfs w pierwszej kolejności: askubuntu.com/a/716618/327339 . Zobacz także # 11 w FAQ tutaj: github.com/libfuse/sshfs/blob/master/FAQ
Gabriel Staples
1

Jak długo czekałeś na rozwiązanie zamrożenia? Mogą to być po prostu problemy z transmisją między tobą a danym serwerem.

Używam sshfs między moim systemem a przyjacielem, który mieszka w dobrodziejstwach (oficjalne określenie!), Jest na lądzie bezprzewodowym, który czasami odpada (myślimy, że jego odbiornik macha na wietrze, tracąc blokadę sygnału).

Jeśli poczekam, w końcu synchronizuje się i wykonuje różne czynności, ale od czasu do czasu zawiesi się na kilka minut.

Patience GrassHopper!

lornix
źródło
2
Próbowałem trochę poczekać, może 10-20 minut, ale bez powodzenia. Może potrzebuje tylko kilku godzin? ^^,
Andreas Hagen
Można by mieć nadzieję, że nie !! Możesz spróbować zalogować się za pomocą sshfs -d' or sshfs -o LogLevel = Debuguj (lub „Debug2”), aby włączyć tryb gadatliwy ... sprawdzić, czy coś oświecającego jest drukowane.
lornix,
0

To jest stary post i nie daję ostatecznego rozwiązania tego problemu, ale myślę, że miałem ten sam problem (na Ubuntu 14.04) iw moim przypadku leniwe odmontowywanie i ponowne montowanie działa (chociaż jest to trochę denerwujące):

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

Podejrzewam, że właśnie oglądałeś wyniki z pamięci podręcznej ls -al <folder>.

Sheljohn
źródło