Jakie są zalety / wady twardych i miękkich mocowań w systemie UNIX?

23

To pytanie może się różnić w zależności od dystrybucji, ale ogólnie, jakie są zalety / wady korzystania z twardego lub miękkiego mocowania w świecie UNIX?

Czy istnieją sytuacje, w których jedna jest bardziej korzystna lub czy zastosowania są dość uniwersalne?

Aaron K.
źródło

Odpowiedzi:

21

Hard mount jest zwykle używany do blokowania zasobów, takich jak dysk lokalny lub SAN. Miękkie mocowanie jest zwykle używane w protokołach plików sieciowych, takich jak NFS lub CIFS.

Zaletą miękkiego montowania jest to, że jeśli serwer NFS jest niedostępny, jądro przekroczy limit czasu operacji we / wy po uprzednio skonfigurowanym czasie. Wadą jest to, że jeśli sterownik NFS buforuje dane i upłynie limit czasu instalacji miękkiej, aplikacja może nie wiedzieć, które zapisy na woluminach NFS zostały faktycznie zapisane na dysku.

duffbeer703
źródło
8

hard mounts i „intr” (przerywalny) to dobry kompromis (w przypadku jąder wcześniejszych niż 2.6.25, patrz komentarz Ryana Horrisbergera). Aplikacja nie oszukuje pomyślnych zapisów, ale możesz je zabić, jeśli coś zatka rurki.

Hayalci
źródło
8
opcja intr jest przestarzała i ignorowana w najnowszych wersjach systemu Linux z: linux.die.net/man/5/nfs : Opcja montowania intr / nointr jest przestarzała po jądrze 2.6.25. Tylko SIGKILL może przerwać oczekującą operację NFS na tych jądrach, a jeśli jest określona, ​​ta opcja montowania jest ignorowana, aby zapewnić zgodność wsteczną ze starszymi jądrami.
Ryan Horrisberger,
5

Twardy montaż przy użyciu jakiegoś sieciowego systemu plików (nfs lub bezpiecznik) może (czasami) blokować na zawsze podczas próby ponownego nawiązania zerwanego połączenia. Oznacza to, że każdy proces próbujący uzyskać dostęp do tego montowania przechodzi w tryb uśpienia dysku (D), dopóki urządzenie nie będzie ponownie dostępne lub system zostanie zrestartowany.

Uśpienia dysku nie można przerwać ani zabić. To jak zombie procesów zombie.

Krótko mówiąc, nigdy nie używaj mocowań twardych do sieciowych systemów plików. Chcesz, aby system plików zawiódł (natychmiast, do procesów przy użyciu wywołań systemowych), jeśli I / O nie jest możliwe. W przeciwnym razie pamięć, którą twierdzą, może równie dobrze zostać wyciekła, jeśli FS ulegnie awarii.

Tim Post
źródło
Zgadzam się z twoją ogólną rekomendacją dotyczącą mocowań. Jednak niektóre osoby, które wdrażają VMWare w systemie plików NFS, zalecają korzystanie z twardego montażu. Nie jestem w 100% zaznajomiony z tym, dlaczego to robią, ale jest coś do rozważenia i dokładnego zbadania przed wdrożeniem.
duffbeer703
Biorąc pod uwagę, że twarde mocowania zawieszają się na zawsze, a w dawnych czasach maszyny czasami zawieszały się przy ponownym uruchomieniu z powodu twardego montażu NFS, czy nie można stracić danych na twardych mocowaniach? Wyobraź sobie, że twój serwer plików NFS przestaje działać, teraz Twoi klienci nie są w stanie go osiągnąć, są całkowicie zdezorientowani, restartujesz je ... ich potencjalne zapisy zniknęły. W czasach, gdy istniały miękkie instalacje, twarde instalacje powodowały problemy z ponownym uruchamianiem komputerów. Jeśli uruchomiłeś serwer plików przed klientem, klient zawiesiłby się. Czasami musielibyśmy je wyłączać. Ludzie popełniają błędy. Czy nadal jest to dzisiaj problemem?
Mike S
@MikeS Istnieje wiele takich konfiguracji działających na szczęście. Nigdy nie wiesz, na co wpadniesz w laboratoriach lub fabrykach, w których dziesięciolecia starych maszyn nadal z radością kontrolują sprzęt. To nie jest problem dla ludzi, którzy pracują nad nowoczesnymi rzeczami. Ale tak, hard-mounty mogą kosztować twoje dane (ale soft-mounty też mogą!) - ale każdy sieciowy system plików, który nie korzysta z buforowanego wejścia / wyjścia buforowania bateryjnego, ma taki sam potencjał tego problemu. Twarde mocowania sprawiają, że jest to wyjątkowo okropne, jeśli chodzi o automatyzację wykrywania i odzyskiwania.
Tim Post
2

soft jest używany tylko przez ludzi, którzy nie rozumieją zasady nfs. soft / hard zależy od użycia systemu plików. w przypadku aplikacji o znaczeniu krytycznym zawsze używaj mocowań sztywnych, aby zapobiec uszkodzeniu plików (jest to powód, dla którego jest to ustawienie domyślne w większości systemów). w przypadku systemu plików ro można bezpiecznie używać programów miękkich i preferowanych. Nawiasem mówiąc, nfsv4 nie obsługuje już miękkich ....

manitou
źródło
nfsv4 nie obsługuje już softów? Według strony podręcznika „Opcje obsługiwane przez wszystkie wersje Opcje te można stosować z dowolną wersją NFS. Miękki / twardy Określa zachowanie odzyskiwania klienta NFS po przekroczeniu limitu czasu żądania NFS. Jeśli żadna opcja nie jest określona (lub jeśli wybrana jest opcja twarda), żądania NFS są ponawiane w nieskończoność. Jeśli zostanie wybrana opcja miękka, klient NFS nie powiedzie się żądanie NFS po wysłaniu retransmisji, powodując, że klient NFS zwróci błąd do aplikacji wywołującej. ” Zobacz linux.die.net/man/5/nfs
Mike S
Myślę, że zaprzeczasz sobie ... „soft jest używany tylko przez ludzi, którzy nie rozumieją ...” i „w systemie plików ro można bezpiecznie używać soft…” Zobacz także post @ Tim Post powyżej .
Mike S