Btrfs (ausgesprochen 'Butter F S') ist ein erweitertes Dateisystem für Linux, das auf mehreren Festplatten arbeiten kann und verschiedene Fehlertoleranzmodelle wie RAID 0, RAID 1 und RAID 10 unterstützt. Btrfs ist seit 2008 in Entwicklung und es ist was es ist bekannt als ein "copy on write" Dateisystem, was bedeutet, dass, wenn sich die Daten in einem Block ändern, der Block in einen neuen Block kopiert wird, der mit den Änderungen in die Platte geschrieben wird. Dies bedeutet, dass Blöcke niemals modifiziert werden, sondern neue Blöcke erstellt werden und die alten Blöcke später wiederverwendet werden. Dies hat Vorteile für die Performance, insbesondere wenn Konsistenz und Integrität gewährleistet sind (auch nach einer Stromunterbrechung).

Vorausgesetzt, Sie haben bereits ein Linux-System (wahrscheinlich mit ext4), aber Sie möchten einige Festplatten hinzufügen und Btrfs verwenden, das ist, was Sie tun müssten. Zuerst müssen Sie die Btrfs-Tools installieren. Auf Ubuntu:

 sudo apt-get installiert btrfs-tools 

Angenommen, dass /dev/sda die Hauptfestplatte ist, auf der Linux installiert ist, und Sie zwei neue Festplatten /dev/sdb und /dev/sdc möchten, besteht der nächste Schritt darin, das btrfs-Dateisystem auf diesen Festplatten zu erstellen.

 sudo mkfs.btrfs -m raid1 -d raid1 / dev / sdb / dev / sdc 

Der -d raid1 weist btrfs an, eine RAID 1-Spiegelung für die Daten zu verwenden. Dies bedeutet, dass mindestens zwei Kopien jedes einzelnen Datenbits auf einem anderen Gerät vorhanden sind. Es ist tatsächlich möglich, mehr als zwei Festplatten in einer RAID 1-Spiegelungskonfiguration zu verwenden. In solchen Fällen stellt btrfs sicher, dass mindestens eine andere Platte eine Kopie der Daten enthält. Die Informationen über die Daten einschließlich Dateiname und Dateiberechtigungen usw. werden in so genannten Metadaten gespeichert. Die Optionen -m raid1 btrfs an, die Spiegelung von RAID 1 auch für die Metadaten zu verwenden. Wie bei der Spiegelung der Daten wird durch die Verwendung der Spiegelung für die Metadaten sichergestellt, dass die wesentlichen Informationen zu den Dateien auf mindestens zwei Festplatten gespeichert sind. Wenn einer der Datenträger über vorhandene Partitionstabellen (und möglicherweise Daten) verfügt, verwenden Sie die Option -f, um das Überschreiben von mkfs.btrfs zu erzwingen.

Nachdem das Dateisystem erstellt wurde, kann es mit dem normalen mount Befehl mount :

 sudo mount / dev / sdb / mybtrfs 

Wo /mybtrfs ist das Verzeichnis, in dem Sie das Dateisystem mounten möchten.

Zu diesem Zeitpunkt wird das neue Dateisystem mit dem Befehl df -h aufgelistet. Auf meinem Testsystem sind /dev/sdb und /dev/sdc 100 GB. Auf einem herkömmlichen RAID 1-System würde das resultierende Dateisystem nur 100 GB enthalten, da eine Festplatte zum Duplizieren der Daten verwendet wird. Mit btrfs ist das nicht so. Da Disketten unterschiedlicher Größe in beliebiger Kombination verwendet werden können, zeigt btrfs die Gesamtgröße an. Es gibt jedoch einen Befehl, der mehr Details gibt:

 sudo btrfs Dateisystem df / mybtrfs 

Dies zeigt die tatsächliche Festplattennutzung für ein btrfs-Dateisystem, einschließlich des Speicherplatzes, der von den tatsächlichen Daten im Dateisystem und den Metadaten belegt wird.

Das " sudo btrfs filesystem show " ist auch nützlich, da es die einzelnen im Dateisystem verwendeten Geräte zusammen mit ihrer Gesamtgröße und dem verwendeten Speicherplatz auflistet.

Der letzte Schritt besteht darin, die Datei /etc/fstab zu bearbeiten, um das btrfs-Dateisystem beim Booten automatisch zu mounten. Um dies zu tun, bearbeiten Sie die Datei und fügte folgende Zeile hinzu:

 / dev / sdb / mybtrfs btrfs Standardwerte 0 0 

Sie können den universell eindeutigen Bezeichner für das btrfs-Dateisystem mit dem Befehl sudo btrfs filesystem show abrufen. Um mit der uuid anstelle des Gerätenamens zu mounten, würde die Zeile /etc/fstab in etwa so aussehen:

 UUID = 7911f7a9-cd03-48ef-8dca-27550d6039f4 / mybtrfs btrfs Standardwerte 0 0 

Wenn Sie noch weitere Fragen haben, können Sie gerne im Kommentar unten fragen.