Btrfs ist ein Open-Source-Allzweck-Dateisystem für Linux. Der Name leitet sich von der Verwendung von B-Bäumen ab, um interne Dateisystemstrukturen zu speichern. Für das Dateisystem werden unterschiedliche Namen verwendet, darunter „Butter F S“ und „B-Tree F S“. Die Entwicklung von Btrfs begann 2007 bei Oracle, und jetzt tragen eine Reihe von Unternehmen (darunter Red Hat, Fujitsu, Intel, SUSE und viele andere) zu den Entwicklungsbemühungen bei. Btrfs ist im Mainline-Linux-Kernel enthalten.
Erstellen eines Btrfs-Dateisystems
1. Die Btrfs-Dienstprogramme werden von btrfs-progs bereitgestellt Softwarepaket. Verwenden Sie den folgenden Befehl, um die vom Paket bereitgestellten Dateien aufzulisten.
# rpm –ql btrfs-progs
2. Verwenden Sie die mkfs.btrfs Befehl zum Erstellen eines Btrfs-Dateisystems. Die Syntax lautet:
# mkfs.btrfs [options] block_device [block_device ...]
Sie können ein Btrfs-Dateisystem auf einem einzelnen Gerät oder auf mehreren Geräten erstellen. Geräte können Festplattenpartitionen, Loopback-Geräte (Festplatten-Images im Arbeitsspeicher), Multipath-Geräte oder LUNs sein, die RAID in Hardware implementieren. Einige der verfügbaren Optionen für den Befehl mkfs.btrfs sind:
-A-Offset | Geben Sie den Offset vom Start des Geräts für das Dateisystem an. Der Standardwert ist 0, was dem Start des Geräts entspricht. |
-b Größe | Geben Sie die Größe des Dateisystems an. Der Standardwert ist der gesamte verfügbare Speicher. |
-d eingeben | Geben Sie an, wie die Dateisystemdaten über die Geräte verteilt werden. Das Typargument muss raid0, raid1, raid10 oder single sein. |
-l Größe | Geben Sie die Blattgröße an, das kleinste Datenelement, in dem Btrfs Daten speichert. Der Standardwert ist die Seitengröße. |
-L-Name | Geben Sie einen Bezeichnungsnamen für das Dateisystem an. |
-m Profil | Geben Sie an, wie die Metadaten des Dateisystems über die Geräte verteilt werden. Das Profilargument muss raid0, raid1, raid10, single oder dup sein. |
-M | Mischen Sie Daten- und Metadatenblöcke für eine effizientere Speicherplatznutzung. Diese Option wirkt sich auf die Leistung größerer Dateisysteme aus und wird nur für Dateisysteme mit 1 GB oder weniger empfohlen. |
-n Größe | Geben Sie die Knotengröße an. Der Standardwert ist die Seitengröße. |
-s Größe | Geben Sie die Sektorgröße an, die die minimale Blockzuweisung ist. |
-V | Drucken Sie die mkfs.btrfs-Version und beenden Sie. |
Btrfs-Dateisystem erstellen – mkfs.btrfs-Beispiele
1. So erstellen Sie ein Btrfs-Dateisystem auf einem einzelnen Blockgerät (z. B. /dev/sdb):
# mkfs.btrfs /dev/sdb
2. So erstellen Sie ein Btrfs-Dateisystem auf zwei Blockgeräten (z. B. /dev/sdb und /dev/sdc):
# mkfs.btrfs /dev/sdb /dev/sdc
Die Standardkonfiguration für ein Dateisystem mit mehreren Geräten ist:
-d raid0 – Stripe die Dateisystemdaten auf allen Geräten.
-m raid1 – Spiegeln Sie die Metadaten des Dateisystems auf allen Geräten.
3. So erstellen Sie ein Btrfs-Dateisystem mit mehreren Geräten (/dev/sdb und /dev/sdc) und verteilen sowohl die Daten als auch die Metadaten:
# mkfs.btrfs –m raid0 /dev/sdb /dev/sdc
4. So erstellen Sie ein Btrfs-Dateisystem mit mehreren Geräten (/dev/sdb und /dev/sdc) und spiegeln sowohl die Daten als auch die Metadaten:
# mkfs.btrfs –d raid1 /dev/sdb /dev/sdc
5. Wenn Sie ein einzelnes Gerät angeben, werden Metadaten auf diesem Gerät dupliziert, es sei denn, Sie geben nur eine einzelne Kopie an. So erstellen Sie ein Btrfs-Dateisystem auf einem einzelnen Blockgerät (z. B. /dev/sdb) und geben an, dass die Metadaten nicht dupliziert werden sollen:
# mkfs.btrfs –m single /dev/sdb
6. Für RAID-10-Daten oder Metadaten müssen Sie eine gerade Anzahl von mindestens vier Geräten angeben. So erstellen Sie ein Btrfs-Dateisystem und verteilen die Daten und Metadaten über gespiegelte Geräte (RAID-10):
# mkfs.btrfs –d raid10 –m raid10 /dev/sd[bcde]
Einhängen des Dateisystems
Verwenden Sie den Mount-Befehl oder machen Sie einen Eintrag in /etc/fstab wie beim Mounten eines anderen Linux-Dateisystems.
Sie können auf jedes Gerät verweisen, wenn Ihr Dateisystem mehrere Geräte enthält. Sie können auch auf das Dateisystemlabel oder die UUID verweisen.
Beispiel:
# mount /dev/sdb /btrfs
Stellen Sie sicher, dass Sie den Eintrag in /etc/fstab haben (das Beispiel unten verwendet die UUID des Btrfs-Geräts):
# vi /etc/fstab UUID=e7e5c123-fg76-5gxx-a87d-gt5fed9r768e /data btrfs defaults 0 0So ändern/erweitern Sie ein Btrfs-Volume/Dateisystem