Konvertierung nach Btrfs
Archivierte Anleitung
Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.
Artikel für fortgeschrittene Anwender
Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Das Btrfs-Dateisystem hat sehr wenig Metadaten, die an festgelegten Orten liegen. Es ist deshalb relativ einfach, für andere Dateisysteme ein Konvertierungsprogramm zu schreiben, das die Daten nicht verschieben muss. Durch die Copy-On-Write-Algorithmen ist es außerdem möglich eine unveränderte Kopie des ursprünglichen Dateisystems zu behalten und so die Konvertierung zu einem späteren Zeitpunkt rückgängig zu machen.
Dieser Artikel beschreibt, wie man ein bestehendes ext2/3/4-Dateisystem ohne eine Neuformatierung in ein Btrfs-Dateisystem umwandelt.
Vorbereitung¶
Man braucht das Paket
btrfs-progs
Befehl zum Installieren der Pakete:
sudo apt-get install btrfs-progs
Oder mit apturl installieren, Link: apt://btrfs-progs
Es enthält Programme zum Arbeiten mit btrfs
und zur Konvertierung von ext2/3/4 zu einem Btrfs-Dateisystem.
Die folgende Anleitung beschreibt das Vorgehen für das ext4-Dateisystem. Sie funktioniert genauso für ext2 und ext3, indem man an den entsprechenden Stellen ext4 durch ext2 bzw. ext3 ersetzt.
Umwandeln in Btrfs¶
Zuerst sollte immer das Dateisystem ausgehängt und überprüft werden:
sudo umount /dev/sdXY sudo fsck.ext4 -f /dev/sdXY
Die eigentliche Konvertierung wird mit folgendem Befehl durchgeführt:
sudo btrfs-convert /dev/sdXY
Anschließend kann das erzeugte Btrfs-Dateisystem eingehängt werden:
sudo mkdir /mnt/btrfs sudo mount -t btrfs /dev/sdXY /mnt/btrfs
Den ext2/3/4 Snapshot zum Zeitpunkt der Konvertierung kann man einhängen mit:
sudo mkdir /mnt/ext2_saved sudo mount -t btrfs -o subvol=ext2_saved /dev/sdXY /mnt/ext2_saved
Die Image-Datei hängt man per Loopback ein mit:
sudo mkdir /mnt/ext4 sudo mount -t ext4 -o loop,ro /mnt/ext2_saved/image /mnt/ext4
Die Daten in /mnt/btrfs und /mnt/ext4 sind jetzt identisch. Änderungen, die in /mnt/btrfs gemacht werden, finden sich aber nicht in /mnt/ext4 wieder.
Umwandeln rückgängig machen¶
Da die Daten des ursprünglichen Dateisystems in einem Snapshot vorhanden sind, kann die Umwandlung rückgängig gemacht werden. Allerdings gehen die Änderungen, die nach der Konvertierung im Btrfs-Dateisystem gemacht wurden, verloren.
Zuerst muss man das Btrfs-Dateisystem vollständig aushängen:
sudo umount /mnt/ext4 sudo umount /mnt/ext2_saved sudo umount /mnt/btrfs
Jetzt kann man die Konvertierung rückgängig machen
sudo btrfs-convert -r /dev/sdXY
und das originale Dateisystem wieder benutzen:
sudo mount -t ext4 /dev/sdXY /mnt/ext4
Konvertierung endgültig machen¶
Um den Speicherplatz freizugeben, der durch das ext4-Dateisystem belegt wird, muss man lediglich das Subvolume löschen welches bei der Konvertierung automatisch angelegt wurde. Das Subvolume kann man sich im Terminal anzeigen lassen:
sudo btrfs subvolume list /mnt/btrfs
Ein Löschen geschieht mittels:
sudo btrfs subvolume delete /mnt/btrfs/ext2_saved
Abschließend bietet sich noch an: defragmentieren, balancieren sowie aushängen:
sudo btrfs filesystem defragment -rv /mnt/btrfs sudo btrfs balance start -v /mnt/btrfs sudo umount /mnt/btrfs
Links¶
Informationen¶