Ich habe ein eingebettetes Setup mit einem initramfs für das Root-Dateisystem, aber mit einer benutzerdefinierten ext3-Partition, die auf einem Compact-Flash-IDE-Laufwerk installiert ist. Da die Datenintegrität angesichts eines Stromausfalls der wichtigste Faktor im gesamten Setup ist, habe ich die folgenden Optionen zum Mounten verwendet (unten ist der Eintrag aus meiner /etc/fstab
Datei angegeben)
<file system> <mount pt> <type> <options> <dump><pass>
/dev/sda2 /data ext3 auto,exec,relatime,sync,barrier=1 0 2
Ich bin auf diese Möglichkeiten gestoßen, weil ich im Internet herumgelesen habe. Was mich beunruhigt ist, dass der Inhalt /proc/mounts
folgendes ergibt:
/dev/sda2 /data ext3 rw,sync,relatime,errors=continue,user_xattr,acl,
barrier=1,data=writeback 0 0
Ich verstehe aus dem Herumlesen, dass ich die data=journal
Option für mein Mount verwenden möchte, da dies den besten Schutz gegen Datenkorruption bietet. In der Manpage für bestimmte ext3-Optionen wird mount
jedoch Folgendes zur Rückschreiboption angegeben:
Die Datenreihenfolge bleibt nicht erhalten - Daten können in das Hauptdateisystem geschrieben werden, nachdem ihre Metadaten in das Journal geschrieben wurden.
Es wird gemunkelt, dass dies die Option mit dem höchsten Durchsatz ist. Es garantiert die Integrität des internen Dateisystems , kann jedoch zulassen, dass alte Daten nach einem Absturz und einer Journalwiederherstellung in Dateien angezeigt werden.
Ich bin sehr verwirrt darüber - die Manpage scheint nahezulegen, dass ich für die Dateisystemintegrität eine data=writeback
Option angeben möchte, mount
aber die meisten anderen Referenzen, die ich gefunden habe (einschließlich einiger veröffentlichter Bücher über eingebettetes Linux), schlagen vor, dass ich sie verwenden sollte data=journal
. Was wäre der beste Ansatz für mich? Die Schreibgeschwindigkeit ist überhaupt kein Problem - die Datenintegrität ist es jedoch.
quelle
data=ordered
: pAntworten:
Lassen Sie sich nicht von der Tatsache irreführen, dass nur
writeback
erwähnt wirdinternal filesystem integrity
.Mit
ext3
, ob Sie verwendenjournal
,ordered
oderwriteback
, Dateisystem - Metadaten sind immer gelagert und dass Mittel interne Dateisystemintegrität.Mit den Datenmodi können Sie steuern, wie normale Daten in das Dateisystem geschrieben werden.
Im
writeback
Modus werden Metadatenänderungen zuerst im Journal aufgezeichnet und ein Festschreibungsblock wird geschrieben. Nach der Aktualisierung des Journals können Metadaten und Datenausschreibungen fortgesetzt werden.data=writeback
kann ein schwerwiegendes Sicherheitsrisiko darstellen: Wenn das System beim Anhängen an eine Datei abstürzt, nachdem die Metadaten festgeschrieben (und zusätzliche Datenblöcke zugewiesen) wurden, aber bevor die Daten geschrieben wurden (Datenblöcke mit neuen Daten überschrieben), dann nach dem Journal Die Wiederherstellung dieser Datei kann Blöcke enthalten, die mit Daten aus zuvor gelöschten Dateien gefüllt sind - von jedem Benutzer 1 .Wenn also die Datenintegrität Ihr Hauptanliegen ist und Geschwindigkeit keine Rolle spielt,
data=journal
ist der richtige Weg.quelle
Wie Sie bereits bemerkt haben, können Sie Ihr Dateisystem nicht vor Abstürzen jeglicher Art schützen.
Was du tun kannst:
Am Ende können die Optionen für die paranoische Montage so aussehen:
Darüber hinaus können Sie die Datenintegrität bei jedem Start mit einem automatischen Fsck sicherstellen.
quelle
Versuchen Sie zu ändern, welchen Teil der Manpage Sie einbetten:
Wie don_crissti betonte, haben die anderen Modi kein "jedoch".
quelle