Odpowiedzi:
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.
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.
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.
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 ....