Ich habe in letzter Zeit über Write-Caching, NCQ, Firmware-Fehler, Barrieren usw. in Bezug auf SATA-Laufwerke gelesen, und ich bin nicht sicher, welche Einstellung meine Daten im Falle eines Stromausfalls am besten schützt.
Soweit ich weiß, ermöglicht NCQ dem Laufwerk, die Schreibvorgänge neu zu ordnen, um die Leistung zu optimieren, und gleichzeitig den Kernel darüber zu informieren, welche Anforderungen physisch geschrieben wurden.
Durch das Schreiben in den Cache wird das Laufwerk eine Anforderung viel schneller bedienen, da es nicht darauf wartet, dass die Daten auf die physische Festplatte geschrieben werden.
Ich bin mir nicht sicher, wie sich NCQ und Write Cache hier mischen ...
Dateisysteme, insbesondere Journale, müssen sicher sein, dass eine bestimmte Anforderung notiert wurde. Außerdem erzwingt der Benutzerbereichsprozess mithilfe von fsync () das Löschen einer bestimmten Datei. Dieser Aufruf von fsync () sollte erst zurückkehren, wenn das Dateisystem sicher ist, dass die Daten auf die Festplatte geschrieben wurden.
Es gibt eine Funktion (FUA, Force Unit Access), die ich nur auf SAS-Laufwerken gesehen habe und die das Laufwerk zwingt, den Cache zu umgehen und direkt auf die Festplatte zu schreiben. Für alles andere gibt es Write Barriers, einen Mechanismus, der vom Kernel bereitgestellt wird und einen Cache-Flush auf dem Laufwerk auslösen kann. Dadurch wird der gesamte Cache und nicht nur die kritischen Daten abgeschrieben, wodurch das gesamte System bei Missbrauch verlangsamt wird, z. B. mit fsync ().
Dann gibt es Laufwerke mit Firmware-Fehlern oder die absichtlich darüber lügen, wann Daten physisch geschrieben wurden.
Allerdings gibt es mehrere Möglichkeiten, die Laufwerke / Dateisysteme einzurichten: A) NCQ und Schreibcache deaktiviert B) Nur NCQ aktiviert C) Nur Schreibcache aktiviert D) Sowohl NCQ als auch Schreibcache aktiviert
Ich gehe davon aus, dass Barrieren aktiviert sind. Übrigens, wie kann ich überprüfen, ob sie tatsächlich aktiviert sind?
Im Falle eines Stromausfalls ist die Option B (NCQ, kein Cache) beim aktiven Schreiben auf die Festplatte sowohl für das Dateisystemjournal als auch für die Daten sicher. Es kann eine Leistungsstrafe geben.
Option D (NCQ + Cache) ist bei Verwendung von Barrieren oder FUA sicher für das Dateisystemjournal und für Anwendungen, die fsync () verwenden. Es wäre schlecht für die Daten, die im Cache gewartet haben, und es liegt am Dateisystem, sie zu erkennen (Prüfsumme), und zumindest befindet sich das Dateisystem (hoffentlich) nicht in einem instabilen Zustand. In Bezug auf die Leistung sollte es besser sein.
Meine Frage steht jedoch noch ... Vermisse ich etwas? Gibt es eine andere Variable zu berücksichtigen? Gibt es ein Tool, das dies bestätigen könnte und das meine Laufwerke sich so verhalten, wie sie sollten?