Lösung 1:
Ein fester Mount wird im Allgemeinen für Blockressourcen wie eine lokale Festplatte oder ein SAN verwendet. Ein Softmount wird normalerweise für Netzwerkdateiprotokolle wie NFS oder CIFS verwendet.
Der Vorteil eines Soft-Mounts besteht darin, dass der Kernel den I/O-Vorgang nach einer vorkonfigurierten Zeitspanne beendet, wenn Ihr NFS-Server nicht verfügbar ist. Der Nachteil besteht darin, dass Ihre Anwendung möglicherweise nicht weiß, welche Schreibvorgänge auf die NFS-Volumes tatsächlich auf die Festplatte geschrieben wurden, wenn Ihr NFS-Treiber Daten zwischenspeichert und das Soft-Mount-Zeitlimit überschritten wird.
Lösung 2:
hard mounts und "intr" (unterbrechbar) ist ein guter Kompromiss (für Kernel vor 2.6.25, siehe Kommentar von Ryan Horrisberger) . Die Anwendung wird nicht über erfolgreiche Schreibvorgänge getäuscht, aber Sie können sie beenden, wenn etwas die Röhren verstopft.
Lösung 3:
Ein fester Mount, der eine Art Netzwerkdateisystem (nfs oder fuse) verwendet, kann (manchmal) für immer blockieren, während versucht wird, eine unterbrochene Verbindung wiederherzustellen. Das bedeutet, dass jeder Prozess, der versucht, auf diesen Mount zuzugreifen, in den Disk-Sleep (D) geht, bis das Gerät wieder verfügbar ist oder das System neu gestartet wird.
Der Festplattenschlaf kann nicht unterbrochen oder beendet werden. Es ist wie der Zombie der Zombie-Prozesse.
Kurz gesagt, verwenden Sie niemals feste Mounts für Netzwerkdateisysteme. Sie möchten, dass das Dateisystem fehlschlägt (sofort für Prozesse, die Syscalls verwenden), wenn I/O nicht möglich ist. Andernfalls kann der von ihnen behauptete Speicher auch verloren gehen, wenn der FS ausfällt.