Kolejność restartów jest ważna. Ponowne uruchomienie serwera po tym, jak klienci mogą spowodować taką sytuację. Nieaktualny uchwyt NFS wskazuje, że klient ma otwarty plik, ale serwer nie rozpoznaje już uchwytu pliku. W niektórych przypadkach NFS wyczyści swoje struktury danych po upływie limitu czasu. W innych przypadkach konieczne będzie samodzielne wyczyszczenie struktur danych NFS, a następnie zrestartowanie NFS. Gdzie te struktury się znajdują, są nieco zależne od O / S.
Spróbuj ponownie uruchomić NFS najpierw na serwerze, a następnie na klientach. Może to wyczyścić uchwyty plików.
Ponowne uruchomienie serwerów NFS z plikami otwartymi z innych serwerów nie jest zalecane. Jest to szczególnie problematyczne, jeśli otwarty plik został usunięty z serwera. Serwer może utrzymywać plik otwarty, dopóki nie zostanie ponownie uruchomiony, ale ponowne uruchomienie usunie uchwyt pliku w pamięci po stronie serwera. Wówczas klient nie będzie już mógł otworzyć pliku.
Określenie, które wierzchowce zostały użyte z serwera, jest trudne i zawodne. showmount -aOpcja może pokazać kilka aktywnych wierzchowce, ale nie mogą zgłaszać wszyscy. Zablokowane pliki są łatwiejsze do zidentyfikowania, ale wymagają włączenia blokady i zależy od oprogramowania klienckiego do zablokowania plików.
Możesz użyć lsofna klientach, aby zidentyfikować procesy, które otwierają pliki na wierzchowcach.
Korzystam z opcji hardi intrmount na moich mountach NFS. Ta hardopcja powoduje, że IO jest ponawiane bez końca. Ta intropcja pozwala zabić procesy, które czekają na IFS NFS na zakończenie.
hard, intrjest dobrą radą. Należy jednak pamiętać, że NFS podwaja limity czasu przy każdej próbie. Więc najlepiej ustawićtimeo=1iretrans=5tak dalej. Pamiętaj, że spowoduje to duże obciążenie serwera NFS po ponownym uruchomieniu NFS. Staraj się nie restartować tak często usługi NFS;)