![Kann ein ausgefallenes Btrfs-Laufwerk in RAID-1 live ersetzt werden?](https://rvso.com/image/1388783/Kann%20ein%20ausgefallenes%20Btrfs-Laufwerk%20in%20RAID-1%20live%20ersetzt%20werden%3F.png)
Ich versuche, mich für ein Dateisystem zu entscheiden und möchte wissen, ob es möglich ist, ein ausgefallenes Laufwerk im BTRFS-RAID ohne Ausfallzeiten zu ersetzen.
Angenommen, ich erstelle ein neues btrfs-Dateisystem mit dem Befehl
mkfs.btrfs -d raid1 /dev/sdb /dev/sdc
Nehmen wir nun an, dass eines Tages ein
/dev/sdc
Fehler auftritt. Es gibt zwei Möglichkeiten: Der Fehler kann schrittweise auftreten und SMART-Fehler anzeigen. In dieser Situation kann ich mit ein neues Gerät hinzufügenbtrfs device add /dev/sde /mnt; btrfs filesystem balance /mnt
und dann mit das alte entfernenbtrfs device delete /dev/sdc /mnt
.Aber wenn es plötzlich ausfällt und unlesbar wird ... Eine Websuche ergibt, dass ich in dieser Situation zuerst das Dateisystem aushängen, es im herabgestuften Modus mounten, ein neues Gerät hinzufügen und dann das fehlende Gerät entfernen muss.
umount /mnt mount -o degraded /dev/sdb /mnt btrfs device add /dev/sdf /mnt btrfs device delete missing /mnt
Ein Unmounten ist offensichtlich eine störende Operation, daher würde es Ausfallzeiten geben - jede Anwendung, die das Dateisystem verwendet, würde einen E/A-Fehler erhalten. Aber diese Art von „Tutorials“ zu btrfs scheinen veraltet, wenn man bedenkt, dass btrfs in intensiver Entwicklung ist.
Die Frage ist: Ist es angesichts des aktuellen Status von btrfs möglich, dies online durchzuführen, d. h. ohne es auszuhängen?
Wenn nicht, gibt es eine reine Softwarelösung, die diesen Bedarf decken kann?
Antwort1
In Linux 3.8 btrfs replace mountpoint old_disk new_disk
wurde hinzugefügt. Wenn Sie einen aktuellen Kernel verwenden, bietet dieser die gewünschte Funktionalität.