Disk hinzufügen
Das Hinzufügen und Entfernen von Disks ist ein ganz normaler Vorgang und auch dieser ist ein Kinderspiel mit Btrfs. Im folgenden Beispiel füge ich eine weitere Disk (sdd) zu meinem Raid0 hinzu.
btrfs device add /dev/sdd /mnt
Nun ist das so, dass auf der gerade hinzugefügten Disk noch keine Daten sind. Ein btrfs filesystem show /dev/sda
zeigt es auf. Das ist nur logisch und so wollen wir dafür sorgen, dass die Daten auf alle Disks vernünftig verteilt werden. Folgender Befehl nimmt die Verteilung vor:
btrfs filesystem balance /mnt
Intakte Disk entfernen
Wichtig!
Man muss zwischen intakter und defekter Disk unterscheiden! Bei einer intakten Disk können die Daten einfach verschoben werden. Bei einer defekten Disk müssen ggf. Daten aber wiederhergestellt werden!
Vielleicht ist eine Festplatte nicht mehr ganz okay und man will sie austauschen oder welchen Grund es auch immer gibt eine zu entfernen. Das folgende Beispiel entfernt eine Disk (sdb) aus dem RAID wobei gleich erwähnt sein soll, dass ein Balance nicht von Hand ausgeführt werden muss. Die Daten werden autom von Btrfs auf die anderen Disks verteilt und dann wird die Disk entfernt:
btrfs device delete /dev/sdb /mnt
Defekte Disk entfernen
In diesem Fall muss das FS ausgehängt und als "degraded" wieder eingehängt werden. Danach muss man sich überlegen welches Raid-Level man verwendet. Sagen wir mal, dass wir ein Raid5 haben und es mit drei Disks betreiben. Es wäre unklug erst die defekte Disk zu entfernen und dann erst die neue Disk hinzuzufügen. In diesem Fall muss also erst die neue Disk hinzugefügt werden und danach erst die alte Disk aushängen.
umount /mnt
mount -o degraded /dev/sda /mnt
Erst die neue Disk einhängen und danach die alte rauswerfen
btrfs device add /dev/sde /mnt
btrfs device delete missing /mnt