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
, fg
itp).
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
cd
do/mnt/mountpoint
- Sprawdź poprawność połączenia NFS
cd /
- zabić sieć
ifdown eth0
cd
do/mnt/mountpoint
ls
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
hard
jest dla nas równie niekorzystna (systemy giną i pozostają martwe do momentu ponownego uruchomienia). intr
według man nie jest obsługiwany w NFS4.
intr
to, ż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 ls
awarii 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
.