Ich habe diesen Test auf einem Testsystem mit Kernel 4.3 wiederholt.
Wie Sie habe ich ein BTRFS RAID-6-Array mit 4 Laufwerken erstellt:
# mkfs.btrfs -m raid6 -d raid6 /dev/sdb /dev/sdc /dev/sdd /dev/sde
Ich habe es dann gemountet und angefangen, Daten darauf zu schreiben.
Während des Vorgangs entfernte ich eines der Laufwerke. Dies führte natürlich zu einer Vielzahl von Fehlermeldungen im Protokoll und überall. Wie erwartet wurde der Schreibvorgang jedoch nicht unterbrochen und es wurden keine Dateien beschädigt.
Noch wichtiger ist, dass BTRFS die Fehleranzahl ( dev stats
) für Schreib- und Löschfehler erhöht hat . Wenn es sich also um ein Produktionssystem handelt, würde es überwacht, ein Cronjob wie dieser hätte eine Benachrichtigungs-E-Mail generiert:
MAILTO=admin@myserver.com @hourly /sbin/btrfs device stats /mnt/tmp | grep -vE ' 0$'
Dann, ich habe nicht ein Gleichgewicht laufen, aber ein Peeling, weil ich BTRFS wollte das gesamte Dateisystem scannen und alle Fehler beheben, das ist genau das, was ein Peeling tut.
# btrfs scrub start -B /mnt/tmp
Schließlich setze ich die BTRFS-Fehler zurück auf null (dies würde die Warnmeldungen stoppen, wenn dieses Dateisystem überwacht wird):
# btrfs device stats -z /mnt/tmp
Bei einem anderen Scrub wurden keine Fehler mehr gefunden.
Und die Datei, die ich während des Tests geschrieben habe, ist korrekt. Ihre MD5-Summe stimmt mit dem Original überein.
Natürlich ist jeder Test anders. Wenn dem 3. Laufwerk ( sdd
) ein neuer Name zugewiesen wird sdf
, können Sie es durch sich selbst ersetzen und es effektiv neu belichten:
# btrfs replace start 3 /dev/sdf /mnt/tmp
Sie haben übrigens erwähnt, dass Sie ein Laufwerk entfernt haben. Sie müssen das nicht tun, es wird nur Ihre Geräte verwechseln und ist ineffizient. Der Befehl zum Ersetzen war schon immer da.
Übrigens In einem Fall führte BTRFS dazu, dass das Testsystem abstürzte, während ich vor dem Ausführen des Scrub-Vorgangs versuchte, aus dem beschädigten Dateisystem zu lesen. Im Gegensatz zu den meisten Teilen dieses Dateisystems wird BTRFS RAID-5 / RAID-6 immer noch als experimentell betrachtet (obwohl es ständig verbessert wird, kann diese Aussage veraltet sein, dies gilt für 4.3). Dies war jedoch nur ein einziges Mal, ich habe den Test wiederholt und der Test ist dann nicht abgestürzt. Dies besagt auch, dass BTRFS RAID-6 zwar während des Versuchsabsturzes abstürzen kann, Ihre Daten jedoch geschützt sind und ein Scrub zuverlässig bei Fehlern anzeigt, da die gespeicherten Prüfsummen zur Überprüfung der Dateien verwendet werden.
Ich habe den Test auch wiederholt und auf zwei Laufwerken Fehler verursacht. Dies ist ein RAID-6, daher funktionierte es auch wie erwartet. Nach einem Peeling war alles in Ordnung.