Mamy udział NFS 4, dzielący wolumen między wieloma serwerami (serwer NFS i klienci wszyscy Debian 8). Mieliśmy ostatnio problemy z awariami sieci powodującymi zamrożenie systemów klienckich.
Nasze opcje NFS były minimalne, tylko rw(a więc domyślne hard, fgitp).
Teraz eksperymentuję z tymi opcjami, ale nie otrzymuję oczekiwanego zachowania:
rw,soft,bg,retrans=6,timeo=150
(Zwiększyłem retrans, aby zrównoważyć część ryzyka miękkiego)
Procedura, którą testuję, to:
- Maszyna rozruchowa
cddo/mnt/mountpoint- Sprawdź poprawność połączenia NFS
cd /- zabić sieć
ifdown eth0 cddo/mnt/mountpointls
W tym momencie linia poleceń zawiesza się i nie mogę jej przerwać. Po pewnym czasie komunikat „nfs: server [nazwa serwera] nie odpowiada, upłynął limit czasu”, który wydaje się powtarzać raz na minutę (w nieokreślony sposób).
Co chciałbym / mam się spodziewać, aby operacja zakończyła się niepowodzeniem i zwróci kontrolę.
Czy ktoś mógłby mi powiedzieć, co robię źle z tymi ustawieniami?
(PS: Próbowałem również montować przy użyciu autofs, ale widziałem podobne zachowanie)
Dziękuję Ci
hardjest dla nas równie niekorzystna (systemy giną i pozostają martwe do momentu ponownego uruchomienia). intrwedług man nie jest obsługiwany w NFS4.
intrto, że jest obsługiwana przez NFS4, ale nie przez jądra> 2.6.25)
cd, ale zamiast tego ls /mnt/mountpoint? Możliwe, że po lsawarii powłoka próbuje wykonać operacje systemu plików zależne od PWD. (Co gorsza, jeśli byłbyś na tyle głupi, by włożyć .swoje $PATH)
softżadnym wypadku nie polecałbym . Pozwala to na odrzucenie danych w przypadku błędu . Zamiast tego sugerowałbymhard,intr.