
Beim Booten meines Systems, während es die externe, per USB angeschlossene Festplatte prüft, erhalte ich die Meldung Assuming drive cache: write through
in der dmesg-Ausgabe, gekennzeichnet mit dem Gerätenamen der externen Festplatte.
Da ich dieses Laufwerk zum Speichern von Backups verwende, würde ich es wirklich vorziehendas System keine Annahmen über die Eigenschaften des Laufwerks trifft.Ich bin bereit, Schreibleistung einzutauschenfür die sichere Gewissheit, dass, wenn etwas in ein Dateisystem auf dem betreffenden Laufwerk geschrieben wurde,es wurde wirklich zur dauerhaften Speicherung verpflichtetund befindet sich nicht irgendwo in einem Cache (vorzugsweise nicht einmal auf dem Laufwerk selbst, da ein Stromausfall dazu führt, dass sowohl der Computer als auch das Laufwerk sofort keinen Strom mehr haben).
Ein möglicherweise komplizierender Faktor ist, dass das Laufwerk eine einzige Partition enthält, die LUKS-verschlüsselt ist. Das Dateisystem existiert nur innerhalb dieses LUKS-Containers, wie folgt:
+- physical drive ------------------------+
| |
| +- partition -----------------------+ |
| | | |
| | +- LUKS encryption -----------+ | |
| | | | | |
| | | +- file system ---------+ | | |
| | | | | | | |
| | | | actual data | | | |
| | | | | | | |
| | | +-----------------------+ | | |
| | | | | |
| | +-----------------------------+ | |
| | | |
| +-----------------------------------+ |
| |
+-----------------------------------------+
Daher meine Frage: Wie kann ich sicherstellen, dass alle Schreibvorgänge im physischen Speicher abgelegt werden, bevor sie der Userspace-Anwendung als abgeschlossen gemeldet werden?
Antwort1
Er besteht aus zwei Bestandteilen: dem Festplattenschreibcache und dem Dateisystemcache.
Der Festplatten-Schreibcache kann mithilfe von deaktiviert werden hdparm -W 0 [device]
. Sie können den Schreibcache des Dateisystems deaktivieren, indem Sie ihn mit der sync
Option mounten/remounten. Beachten Sie, dass diese Änderungen die Leistung erheblich beeinträchtigen.