Wie ZFS ausschließlich feststellt ,ZFS gilt als unverwundbar ZFS akzeptiert, dass es möglicherweise anfällig für Stromausfälle ist.
Ich konnte eine solche Aussage für BTRFS nicht finden. Ist es zwischen Stromausfällen haltbar (oder geplant / geplant)?
btrfs
failure-resistance
Zeremonie
quelle
quelle
zpool clear -F
Befehl wiederherzustellensync
oder ein,flush
das Caches auf die Festplatte schreibt, oder nicht während eines Stromausfalls, dass Daten verloren gehen. ZFS funktioniert möglicherweise einwandfrei, wenn die Festplatte fehlerfrei ist und keine Stromausfälle vorliegen (oder eine USV angeschlossen ist, um den Computer bei einem Ausfall ordnungsgemäß herunterzufahren). Was Sie über FAT32 oder so nicht sagen können.should be ok if your hw isn't "buggy"
wo nicht "Buggy" bedeutetyour hw has correct flush/barrier semantics
. Ich habe im IRC einen Link zu dieser Frage gepostet, hoffentlich würde sich jemand Zeit nehmen, um dies zu erläutern. aber jetzt ist es das.Antworten:
TL; DR: Dies bedeutet, dass btrfs ähnlich wie ZFS vor Datenbeschädigung aufgrund von Stromausfall geschützt ist.
Hier ist der Grund: Die allgemeine Idee hinter ZFS und btrfs ist ähnlich. Beide verwenden Merkle-Bäume als Datenstruktur . Für Schreibvorgänge müssen möglicherweise mehrere Blöcke auf den Datenträgern aktualisiert werden. Das Dateisystem behandelt dies, indem es die neuen Daten in leere Blöcke schreibt (auch wenn eine vorhandene Datei geändert wird, sodass keine Blöcke geändert werden müssen, die den alten Status widerspiegeln) und einen neuen aktualisierten Baum erstellt. Sobald das ganze schwere Heben abgeschlossen ist und Daten + der aktualisierte Baum auf die Festplatte geschrieben wurden, wird der Kopfzeiger auf den neuen Baum aktualisiert, wodurch die Änderung sichtbar wird.
So sollen sich die Dinge beim Schreiben in eine Datei verhalten:
Wenn nach (4) die Stromversorgung unterbrochen wird, ist die Transaktion abgeschlossen. Wenn während der Schritte (1) bis (3) die Stromversorgung unterbrochen wird, zeigt das Dateisystem den alten Status an (die in Schritt (1) geschriebenen Daten gehen verloren, aber das Dateisystem ist konsistent). Beachten Sie, dass nicht nach Dateisystemfehlern gesucht werden muss, was bedeutet, dass das Dateisystem sofort verfügbar ist, was ein großer Vorteil ist (das Überprüfen großer Dateisysteme kann sehr lange dauern!).
Hier ist ein Beispiel, wie mit "fehlerhafter" Hardware etwas schief gehen kann:
Das Dateisystem wird inkonsistent, wenn zwischen (4) und (5) oder während der Ausführung von Schritt (5) die Stromversorgung unterbrochen wird. Infolgedessen werden der Merkle-Baum und / oder die Daten möglicherweise nur teilweise geschrieben, wodurch das Dateisystem inkonsistent wird.
In der Praxis müssen Sie bei der Verwendung von RAID-Controllern besonders vorsichtig sein . Normalerweise deaktivieren sie die Rückschreibcaches auf der Festplatte und verwenden stattdessen ihren eigenen Rückschreibcache. Hier gibt es zwei Möglichkeiten, wie etwas schief gehen kann:
* Ich vereinfache die Dinge hier. Es ist eigentlich nicht notwendig, den gesamten Baum zu kopieren. Es müssen nur die Teile hinzugefügt werden, die geändert wurden. Die verbleibenden Teile können zwischen dem alten und dem neuen Baum geteilt werden .
quelle