Welche Vor- und Nachteile haben Hard- und Soft-Mounts in UNIX?

23

Diese Frage kann zwischen den Distributionen variieren, aber welche Vor- und Nachteile hat die Verwendung eines Hard- oder Soft-Mount in der UNIX-Welt im Allgemeinen?

Gibt es bestimmte Situationen, in denen man vorteilhafter ist, oder sind die Verwendungszwecke ziemlich universell?

Aaron K
quelle

Antworten:

21

Ein Hard Mount wird im Allgemeinen für Blockressourcen wie eine lokale Festplatte oder ein SAN verwendet. Ein Soft Mount wird normalerweise für Netzwerkdateiprotokolle wie NFS oder CIFS verwendet.

Der Vorteil eines Soft Mount besteht darin, dass der Kernel die E / A-Operation nach einer vorkonfigurierten Zeitspanne abbricht, 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 übertragen wurden, wenn Ihr NFS-Treiber Daten zwischenspeichert und das Zeitlimit für das Soft-Mount überschritten wird.

duffbeer703
quelle
8

Hardmounts und "intr" (unterbrechbar) sind ein guter Kompromiss (für Kernel vor 2.6.25 siehe Kommentar von Ryan Horrisberger). Die Anwendung täuscht sich nicht über erfolgreiche Schreibvorgänge, aber Sie können sie töten, wenn etwas die Röhren verstopft.

hayalci
quelle
8
Die Option intr ist veraltet und wird in neueren Versionen unter Linux ignoriert von: linux.die.net/man/5/nfs : Die Option intr / nointr mount ist nach Kernel 2.6.25 veraltet. Nur SIGKILL kann einen anstehenden NFS-Vorgang auf diesen Kerneln unterbrechen. Wenn diese Option angegeben ist, wird sie ignoriert, um die Abwärtskompatibilität mit älteren Kerneln zu gewährleisten.
Ryan Horrisberger
5

Ein fester Mount mit einem Netzwerkdateisystem (nfs oder fuse) kann (manchmal) für immer blockieren, während versucht wird, eine unterbrochene Verbindung wiederherzustellen. Dies bedeutet, dass jeder Prozess, der versucht, auf diesen Mount zuzugreifen, in den Energiesparmodus (D) wechselt, 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 Zombieprozesse.

Kurz gesagt, verwenden Sie niemals Hardmounts für Netzwerkdateisysteme. Sie möchten, dass das Dateisystem fehlschlägt (sofort bei Prozessen, die Syscalls verwenden), wenn E / A nicht möglich ist. Andernfalls kann der von ihnen beanspruchte Speicher ebenfalls verloren gehen, wenn der FS ausfällt.

Tim Post
quelle
Ich stimme Ihrer allgemeinen Empfehlung zu harten Reittieren zu. Einige Benutzer, die VMWare auf NFS bereitstellen, empfehlen jedoch die Verwendung von Hardmounts. Ich bin nicht 100% ig damit vertraut, warum sie das tun, aber es ist etwas, das vor der Implementierung sorgfältig geprüft und erforscht werden muss.
duffbeer703
Ist es nicht möglich, Daten auf Hardmounts zu verlieren, da Hardmounts für immer hängen bleiben und Computer in den alten Tagen wegen eines harten NFS-Mount manchmal beim Neustart hängen bleiben? Stellen Sie sich vor, dass Ihr NFS-Dateiserver ausfällt, Ihre Clients ihn jetzt nicht erreichen können, völlig verwirrt sind, Sie sie neu starten ... Ihre potenziellen Schreibvorgänge sind weg. In den Tagen, in denen es noch keine Soft-Mounts gab, verursachten Hard-Mounts Probleme beim Neustart von Computern. Wenn Sie einen Dateiserver vor einem Client booten, bleibt der Client hängen. Manchmal mussten wir sie aus- und wieder einschalten. Menschen machen Fehler. Ist es heute noch ein Problem?
Mike S
@MikeS Es gibt viele solcher Setups, die glücklich laufen. Sie wissen nie, was Sie in Labors oder Fabriken antreffen, in denen jahrzehntelange alte Maschinen die Ausrüstung noch glücklich kontrollieren. Es ist nicht so sehr ein Problem für Leute, die an modernen Sachen arbeiten. Aber ja, Hardmounts können Daten kosten (aber auch Softmounts!) - aber jedes Netzwerkdateisystem, das keine batteriegepufferten Caching-E / A verwendet, hat das gleiche Potenzial für dieses Problem. Harte Einfassungen machen es besonders schlimm, wenn es darum geht, Erkennung und Wiederherstellung zu automatisieren.
Tim Post
2

soft wird nur von Leuten verwendet, die das Prinzip von nfs nicht verstehen. soft / hard hängt von der Verwendung des Dateisystems ab. Verwenden Sie für unternehmenskritische Anwendungen immer Hardmounts, um eine Beschädigung der Dateien zu verhindern (dies ist der Grund, warum dies für die meisten Systeme die Standardeinstellung ist). Für das ro-Dateisystem ist die Verwendung von soft sicher und daher bevorzugt. übrigens unterstützt nfsv4 nicht mehr soft ....

manitou
quelle
nfsv4 unterstützt nicht mehr soft? "Von allen Versionen unterstützte Optionen" Diese Optionen sind für alle NFS-Versionen gültig. Soft / hard Bestimmt das Wiederherstellungsverhalten des NFS-Clients nach einer Zeitüberschreitung der NFS-Anforderung hard option ist angegeben), NFS-Anforderungen werden auf unbestimmte Zeit wiederholt. Wenn die soft option angegeben ist, schlägt der NFS-Client eine NFS-Anforderung fehl, nachdem erneut übertragene Übertragungen gesendet wurden, wodurch der NFS-Client einen Fehler an die aufrufende Anwendung zurückgibt. " Siehe linux.die.net/man/5/nfs
Mike S
Ich denke, Sie widersprechen sich selbst ... "soft wird nur von Leuten verwendet, die nicht verstehen ..." und "für ro-Dateisysteme ist es sicher, soft zu verwenden ..." Siehe auch den obigen Beitrag von @Tim Post .
Mike S