Hard Drive
Manage different filesystems
Btrfs
Das B-tree Filesystem (Btrfs) ist ein modernes Unix Dateisystem mit folgenden Funktionen: integriertes RAID Subsystem, Volume-Management, prüfsummenbasierten Schutz vor Datenübertragungsfehlern und nutzen Copy-On-Write. Ich nutze Btrfs um mehrere Festplatten zu einer Volumen zusammenzufassen, damit werden die Kapazitäten aller Festplatten zusammengefasst und unter einem Pfad / einer Partition zusammengefasst.
Festplatte einbinden
Nach einer Neuinstallation von Ubuntu möchte ich meine vorhanden Datenfestplatte wieder in das System einbinden. Dazu muss das Zielverzeichnis erstellt werden und ein Eintrag in die fstab Datei gemacht werden.
sudo mkdir /media/Daten
sudo nano /etc/fstab
/dev/sdb1 /media/Daten btrfs defaults 0 0
Dateisystem Informationen
Die Btrfs-Tools, seit Ubuntu 20.04 Btrfs-Progs, sind eine sinnvolle Installation um Änderungen und Informationen über die Btrfs Partitionen zu bekommen.
sudo apt-get install btrfs-progs
sudo btrfs filesystem show
Label: 'Daten' uuid: 3c9dd992-3eb1-4082-81eb-45bb3c1c0faf
Total devices 3 FS bytes used 5.30TiB
devid 1 size 7.28TiB used 2.76TiB path /dev/sdb1
devid 3 size 2.73TiB used 0.00B path /dev/sdd
devid 4 size 7.28TiB used 2.76TiB path /dev/sdc
Festplatte formatieren
Zu allererst die Daten sichern sonst sind sie nach dem Formatieren weg. Dann muss die Festplatte / Partition aus dem System mit umount rausgelöst werden. Falls man einen Eintrag in der fstab Datei hat sollte man diesen erstmal auskommentieren oder löschen. Schon kann es ans formatieren gehen, dazu wird der Befehl mkfs.btrfs benötigt. Da meine Festplatten vorher bereits mit NTFS formatiert waren, bricht der Vorgang mit folgender Fehlermeldung ab „/dev/sdc1 appears to contain an existing filesystem (ntfs). Error: Use the -f option to force overwrite.“. Mit dem Zusatzparamter -f „force“ konnte ich ihn dann zwingen das vorhanden Dateisystem zu überschreiben.
sudo umount /dev/sdc1
sudo nano -w /etc/fstab // Auskommentieren der Partiton mit der # Rautesudo mkfs.btrfs -f -L "Daten" /dev/sdc1WARNING! – Btrfs v3.12 IS EXPERIMENTAL
WARNING! – see http://btrfs.wiki.kernel.org before usingTurning ON incompat feature ‚extref‘: increased hardlink limit per file to 65536
fs created label Daten2 on /dev/sdc1
nodesize 16384 leafsize 16384 sectorsize 4096 size 2.73TiB
Btrfs v3.12Festplatten zusammenlegenMit dem Befehl btrfs device add kann man die Speicherkapazität einer Festplattezu einer anderen hinzufügen. Nach außen sieht es dann so aus als wäre nur einegroße Festplatte vorhanden. Leider hat es bei mir nicht auf Anhieb funktioniert,weil bereits ein Dateisystem vorhanden war und folgende Fehlermeldungausgegeben wurde: „/dev/sdc appears to contain a partition table (gpt).“.Um die GPT Partition zu löschen musste ich folgendes über den Befehl gdiskmachen:sudo apt-get install gdisksudo gdisk /dev/sdcGPT fdisk (gdisk) version 0.8.8Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: presentFound valid GPT with protective MBR; using GPT.Command (? for help): xExpert command (? for help): zDann konnte ich den eigentlichen Befehl btrfs device add zum
About to wipe out GPT on /dev/sdc. Proceed? (Y/N): Y
GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities.
Blank out MBR? (Y/N): Yzusammenlegen starten und das Ergebnis mit dem Befehl btrfs filesystemshow anzeigen. Auch der Befehl df -h zeigt anschließend eine Kapazität von11 TB also 8 TB + 3 TB. Zum Schluss führt man noch den Befehl btrfsfilesystem balance aus, damit die Metadaten und Daten auf beideLaufwerke verteilt werden. Dies kann etwas Zeit dauern.sudo btrfs device add /dev/sdc /media/Daten
sudo btrfs filesystem showLabel: Daten uuid: 3c9dd992-3eb1-4082-81eb-45bb3c1c0faf
Total devices 2 FS bytes used 3.50TiB
devid 1 size 7.28TiB used 3.55TiB path /dev/sdb1
devid 2 size 2.73TiB used 0.00 path /dev/sdcLabel: ‚yavdr_btrfs‘ uuid: 45850aa8-68ae-44cf-b1e5-56788a28b854Total devices 1 FS bytes used 4.04GiB
devid 1 size 37.25GiB used 6.77GiB path /dev/sda3df -h/dev/sdb1 11T 3,5T 6,6T 35% /media/Datensudo btrfs filesystem balance /media/DatenFestplattenwechsel / Volume trennenNach dem ich den Festplattenverbund aufgebaut hatte und alle dreiFestplatten (8TB + 3TB + 3TB) hinzugefügt hatte, habe ich eine neue 8TBFestplatte günstig erstanden. Nun muss ich also aus meinem Verbund eine3 TB Festplatte raustrennen und dann die neue 8 TB Festplatte einsetztenund in den Verbund aufnehmen.sudo btrfs device delete /dev/sdc /media/Daten sudo btrfs filesystem showDer btrfs delete Befehl trennt die Festplatte aus dem Verbund und verteiltdie Daten auf die anderen Festplatten (ich weis nicht was passiert, wenndort zu wenig Platz ist). mit dem show Befehl sieht man dann, dass dieFestplatte wieder eigenständig angezeigt wird. Nun konnte ich denRechner runterfahren, die Festplatten tauschen und die neue Festplattemit dem add Befehl zum Verbund hinzufügen.