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.
So erstellen und mounten Sie das Btrfs-Dateisystem (mit Beispielen erklärt)btrfs-Dienstprogramm
Verwenden Sie den Befehl btrfs, um Informationen zu einem Btrfs-Dateisystem zu verwalten und anzuzeigen. Der Befehl erfordert einen Unterbefehl. Geben Sie btrfs ohne Argumente ein, um die Unterbefehle aufzulisten:
# btrfs usage: btrfs [--help] [--version] [group] [[group]...] [command] [args] Command groups: subvolume manage subvolumes: create, delete, list, etc filesystem overall filesystem tasks and information balance balance data across devices, or change block groups using filters device manage and query devices in the filesystem scrub verify checksums of data and metadata rescue toolbox for specific rescue operations inspect-internal query various internal information property modify properties of filesystem objects quota manage filesystem quota settings qgroup manage quota groups replace replace a device in the filesystem Commands: check Check structural integrity of a filesystem (unmounted). restore Try to restore files from a damaged filesystem (unmounted) send Send the subvolume(s) to stdout. receive Receive subvolumes from a stream help Display help information version Display btrfs-progs version For an overview of a given command use 'btrfs command --help' or 'btrfs [command...] --help --full' to print all available options. Any command name can be shortened as far as it stays unambiguous, however it is recommended to use full command names in scripts. All command groups have their manual page named 'btrfs-[group]'.
Dienstprogramme für btrfs-Subvolumes
Verwenden Sie den Befehl btrfs subvolume, um Btrfs-Subvolumes zu verwalten und zu melden. Nachfolgend finden Sie einige Beispiele für das Erstellen von Btrfs-Subvolumes und das Anzeigen von Informationen darüber.
1. Erstellen Sie ein btrfs-Subvolume
Verwenden Sie den Befehl btrfs subvolume create, um ein Subvolume zu erstellen. Das folgende Beispiel erstellt ein Subvolume namens SV1 auf einem Btrfs-Dateisystem, das auf /btrfs:
gemountet ist# btrfs subvolume create /btrfs/SV1 Create subvolume '/btrfs/SV1'
2. Btrfs-Subvolumes anzeigen
Verwenden Sie den Befehl btrfs subvolume list, um nur die Subvolumes in einem Btrfs-Dateisystem anzuzeigen, wie in diesem Beispiel:
# btrfs subvolume list /btrfs ID 257 gen 12 top level 5 path SV1 ID 258 gen 9 top level 5 path SV1-snap
Dieser Befehl zeigt auch die Subvolume-ID (257), die Root-ID-Generierung des B-Baums (12) und die Top-Level-ID (5) an.
2. Btrfs-Subvolume-Snapshots erstellen
Verwenden Sie den Befehl btrfs Subvolume Snapshot, um einen beschreibbaren/lesbaren Snapshot eines Subvolumes zu erstellen. Das folgende Beispiel erstellt einen Snapshot des SV1-Subvolumes:
# btrfs subvolume snapshot /btrfs/SV1 /btrfs/SV1-snap Create a snapshot of ‘/btrfs/SV1’ in ‘/btrfs/SV1-snap’
Verwenden Sie den btrfs-Subvolume-Snapshot -r Option zum Erstellen eines schreibgeschützten Snapshots:
# btrfs subvolume snapshot –r /btrfs/SV1 /btrfs/SV1-rosnap Create a readonly snapshot of ‘/btrfs/SV1’ in ‘/btrfs/SV1-rosnap’
btrfs-Dateisystem-Dienstprogramme
Verwenden Sie den Befehl btrfs filesystem, um Btrfs-Dateisysteme zu verwalten und zu melden. Die Liste der verfügbaren Befehle ist wie folgt:
- btrfs-Dateisystem df
- btrfs filesystem show
- btrfs-Dateisystemsynchronisierung
- btrfs-Dateisystemdefragmentierung
- Größe des btrfs-Dateisystems ändern
- Btrfs-Dateisystem-Balance
- btrfs-Dateisystembezeichnung
1. btrfs-Dateisystem df-Dienstprogramm
Wenn das Dateisystem gemountet ist und eine Datei darauf kopiert wurde, kann die Ausgabe des Befehls df ungenaue Informationen für das Btrfs-Dateisystem erzeugen. Um genaue Speicherplatzinformationen für ein Btrfs-Dateisystem zu erhalten, verwenden Sie den Befehl btrfs filesystem df:
# btrfs filesystem df /btrfs Data, single: total=8.00MiB, used=5.87MiB System, DUP: total=8.00MiB, used=16.00KiB Metadata, DUP: total=1.00GiB, used=144.00KiB GlobalReserve, single: total=16.00MiB, used=0.00B
2. btrfs filesystem show|sync Utilities
Verwenden Sie den Befehl btrfs filesystem show, um die Struktur eines Dateisystems anzuzeigen. Die Syntax lautet:
# btrfs filesystem show [options|[path]|[uuid]]1. If you omit the optional path and uuid, the command shows information about all the Btrfs file systems. The following example displays the structure of a Btrfs file system:# btrfs filesystem show Label: none uuid: 11fdc4b4-fe4f-4a73-9d7c-35859edbcecd Total devices 1 FS bytes used 6.03MiB devid 1 size 10.00GiB used 2.02GiB path /dev/sda2. Verwenden Sie den Befehl btrfs filesystem sync, um eine Synchronisierung für das Dateisystem zu erzwingen. Das Dateisystem muss gemountet sein. So erzwingen Sie eine Synchronisierung des auf /btrfs gemounteten Dateisystems:
# btrfs filesystem sync /btrfs FSSync '/btrfs'3. btrfs-Dienstprogramm zur Defragmentierung des Dateisystems
Btrfs bietet Online-Defragmentierung eines Dateisystems, einer Datei oder eines Verzeichnisses. Die Online-Defragmentierungsfunktion reorganisiert Daten wo immer möglich in zusammenhängende Blöcke, um größere Abschnitte des verfügbaren Speicherplatzes zu schaffen und die Lese- und Schreibleistung zu verbessern. Verwenden Sie den Befehl btrfs filesystem defragment, um eine Datei oder ein Verzeichnis zu defragmentieren.
# btrfs filesystem defragment [options] [file]|[dir] [...]Zu den verfügbaren Optionen gehören die folgenden:
Option | Beschreibung |
---|---|
-v | Ausführlich |
-c | Dateiinhalt beim Defragmentieren komprimieren. |
-r | Dateien rekursiv defragmentieren. |
-f | Dateisystem nach der Defragmentierung leeren. |
-s start | Nur ab Bytestart defragmentieren. |
-l len | Nur bis zu len Bytes defragmentieren. |
-t Größe | Defragmentieren Sie Dateien nur mit einer Mindestgröße von Bytes. |
Sie können eine automatische Defragmentierung einrichten, indem Sie die Datei "-o autodefrag" angeben ", wenn Sie das Dateisystem mounten. Defragmentieren Sie nicht mit Kerneln bis Version 2.6.37, wenn Sie Snapshots erstellt oder Snapshots von Dateien mit "cp --reflink erstellt haben "-Option. Btrfs in diesen früheren Kerneln hebt die Verknüpfung der Copy-on-Write-Kopien von Daten auf.
4. btrfs-Dienstprogramm zur Größenänderung des Dateisystems
Btrfs ermöglicht die Online-Größenänderung eines Dateisystems. Verwenden Sie die "btrfs filesystem resize " Befehl, um die Größe eines Dateisystems zu ändern. Sie müssen Speicherplatz für die Größenänderung zur Verfügung haben, da der Befehl keine Auswirkung auf die zugrunde liegenden Geräte hat. Die Syntax lautet wie folgt:
btrfs filesystem resize [devid:][+/-][newsize][gkm]|[devid:]max [path]
Beschreibungen der Parameter:
- + neue Größe – Erhöht die Größe des Dateisystems um den Betrag der neuen Größe
- - neue Größe – Verringert die Größe des Dateisystems um den Wert newsize
- neue Größe – Gibt die Größe der neuen Größe an
- g, k oder m – Gibt die Einheit von newsize an (GB, KB oder MB). Wenn keine Einheiten angegeben sind, ist der Parameter standardmäßig Bytes.
- maximal – Gibt an, dass das Dateisystem den gesamten verfügbaren Speicherplatz belegt
Zum Beispiel, um die Größe des Dateisystems um 2 GB zu reduzieren:
# btrfs filesystem resize -2G /btrfs Resize '/btrfs/'' of '-2G'
5. btrfs-Gerätedienstprogramme
Verwenden Sie den Befehl btrfs device, um Geräte in Btrfs-Dateisystemen zu verwalten. Der "btrfs-Gerätescan " Der Befehl scannt physische Geräte und sucht nach Mitgliedern eines Btrfs-Volumes. Mit diesem Befehl kann ein Btrfs-Dateisystem mit mehreren Festplatten gemountet werden, ohne alle Festplatten im Befehl mount anzugeben. Sie müssen den btrfs-Gerätescan nicht über die Befehlszeile ausführen. weil udev beim Booten automatisch einen btrfs-Gerätescan durchführt.
1. Verwenden Sie den Befehl btrfs device add, um ein Gerät zu einem gemounteten Dateisystem hinzuzufügen, wie in diesem Beispiel:
# btrfs device add /dev/sdd /btrfs
2. Verwenden Sie nach dem Hinzufügen eines Geräts den Befehl btrfs filesystem balance:
# btrfs filesystem balance /btrfs
3. Verwenden Sie den Befehl btrfs device delete, um ein Gerät aus einem Dateisystem zu entfernen:
# btrfs device delete /dev/sdd /btrfs
6. btrfs-Scrub-Dienstprogramme
Verwenden Sie den Befehl btrfs scrub, um das Scrubbing auf Btrfs-Dateisystemen zu verwalten. Das Scrubbing wird standardmäßig im Hintergrund ausgeführt. Es versucht, fehlerhafte Blöcke im Dateisystem zu melden und zu reparieren. Zu den verfügbaren Befehlen gehören:
- btrfs-Bereinigung starten
- btrfs-Scrubbing abbrechen
- btrfs-Scrubbing-Fortsetzung
- Btrfs-Scrubbing-Status
1. Verwenden Sie den Befehl btrfs scrub start, um einen Scrub auf allen Geräten eines Dateisystems oder auf einem einzelnen Gerät zu starten.
# btrfs scrub start /btrfs
2. Verwenden Sie den Befehl btrfs scrub status, um den Status eines Scrub-Jobs abzurufen. Das folgende Beispiel enthält detaillierte Scrub-Informationen zu jedem Gerät im Dateisystem:
# btrfs scrub status –dR /btrfs
3. Verwenden Sie den Befehl btrfs scrub cancel, um einen laufenden Scrub-Job abzubrechen:
# btrfs scrub cancel /btrfs
4. Verwenden Sie den Befehl btrfs scrub resume, um eine zuvor abgebrochene oder unterbrochene Bereinigung fortzusetzen:
# btrfs scrub resume /btrfs
7. btrfs filesytm Label
Verwenden Sie den Befehl „btrfs filesystem label“, um das Dateisystemlabel anzuzeigen. Zum Beispiel:
# btrfs filesystem label /btrfs Btrfs