Mam kilka katalogów zamontowanych przez sshfs . Czasami dostaję rozłączenie z serwerem (nie konfigurowane przeze mnie). Zwykle montuję takie katalogi
sshfs [email protected]:/home/user /mnt/example
Kiedy serwer rozłącza się, podsystem sshfs nie umountuje / zwalnia katalogu, lecz blokuje go niedostępnym. Mocowanie jest nadal widoczne podczas pisania mount
. Kiedy piszę
ls /mnt/example
proces zostaje zablokowany (również Ctrl+ cnie pomaga). Dlatego też
sudo umount -l /mnt/example
# find pid of corresponding process:
ps aux | grep example.com
kill -9 <pid of locked sshfs process>
Czy istnieje lepszy sposób, aby sobie z tym poradzić? Oczywiście sshfs powinien wykonać umount i posprzątać ... Idealnie byłoby połączyć się automatycznie.
Odpowiedzi:
Możesz uruchomić sshfs z opcją „reconnect”. Używamy sshfs z PAM / automount do udostępniania plików serwera dla każdej stacji roboczej w naszej sieci. Używamy -o reconnect jako parametru dla sshfs, głównie dlatego, że nasi użytkownicy zawiesili swoje komputery i po przebudzeniu sshfs nie nawiąże ponownego połączenia (ani nie zareaguje, ani nic takiego).
Na przykład:
Tylko uwaga, jeśli zdalny komputer naprawdę nie działa, sshfs może długo przestać odpowiadać.
źródło
Można to obejść, zmniejszając limit czasu. Dodaj następujące elementy do
$HOME/.ssh/config
lub/etc/ssh/ssh_config
:Powoduje to przekroczenie limitu czasu 45 sekund.
źródło
sshfs
który nie radzi sobie ze śmiercią wssh
procesie leżącym u podstaw .Mam serwer, którego używam do przechowywania i z powodu braku miejsca w miejscu zamieszkania, trzymam go w innym miejscu. Aby wprowadzić pliki do mojej sieci, używam raspberry pi, które montuje pliki z serwera za pomocą sshfs.
Ostatnio musiałem zaktualizować system do raspbian jessie z powodu awarii zasilania i zdałem sobie sprawę, że sshfs stają się poważnie niestabilne. Foldery byłyby poprawnie zamontowane, ale po pewnym czasie nie byłbym w stanie się z nimi połączyć, a Raspberry Pi zawiesiłby się, gdybym chciał wymienić zawartość wierzchowców.
Próbowałem:
ale żadnych kości! Aż zmodyfikowałem plik fstab w następujący sposób:
I to działa! Nigdy więcej nie rozłącza się! Wygląda na to, że sshfs z jakiegoś powodu nie czyta pliku konfiguracyjnego ssh, a sygnały podtrzymania nigdy nie zostały wysłane.
źródło
To brzmi jak praca dla autofs. Jest raczej biegły w obsłudze różnego rodzaju montowań sieciowych (nfs, samba, sshfs, jak to nazywasz) i zauważaniu, kiedy te rzeczy wymagają ponownego montażu. Może również zadbać o ich odmontowanie po okresach nieużywania i zamontowanie ich po wysłaniu żądania systemu plików.
źródło
Jeśli nadal są ludzie, którzy napotykają ten problem, nadal nie mogę go naprawić. Znalazłem działające obejście.
Poniższy skrypt ruby załatwił sprawę. Ciągle tworzy folder o nazwie „keepalive”. Po prostu uruchom to do nieskończoności.
Nie wiem, dlaczego to działa. Ale wydaje się, że to rozwiązuje mój problem, gdy jestem nieaktywny przez minutę i wszystko zawiesza się. Po prostu próbuje utworzyć folder w punkcie montażu, co wydaje się powstrzymywać go przed rozłączaniem i zawieszaniem wszystkiego.
źródło
while true; do mkdir -p /x/y; sleep 2; done