GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So erstellen und fragen Sie ein BTRFS-Dateisystem ab

Die Grundlagen

Das btrfs-Dateisystem wurde entwickelt, um die wachsenden Skalierbarkeitsanforderungen großer Speichersubsysteme zu erfüllen. Da das btrfs-Dateisystem in seiner Implementierung B-Bäume verwendet, leitet sich sein Name vom Namen dieser Datenstrukturen ab, obwohl es sich nicht um ein echtes Akronym handelt. Ein B-Baum ist eine baumähnliche Datenstruktur, die es Dateisystemen und Datenbanken ermöglicht, effizient auf große Datenblöcke zuzugreifen und diese zu aktualisieren, egal wie groß der Baum wird.

Das btrfs-Dateisystem bietet die folgenden wichtigen Funktionen:

  • Mit der Copy-on-Write-Funktion können Sie sowohl lesbare als auch beschreibbare Snapshots erstellen und ein Dateisystem auf einen früheren Zustand zurücksetzen, selbst nachdem Sie es von einem ext3- oder ext4-Dateisystem konvertiert haben.
  • Die Prüfsummenfunktion stellt die Datenintegrität sicher.
  • Transparente Komprimierung spart Speicherplatz.
  • Transparente Defragmentierung verbessert die Leistung.
  • Die integrierte Verwaltung logischer Volumes ermöglicht Ihnen die Implementierung von RAID 0-, RAID 1- oder RAID 10-Konfigurationen und das dynamische Hinzufügen und Entfernen von Speicherkapazität.

Ab CentOS/RHEL 6 Update 3 können Sie mit dem Boot-ISO ein btrfs-Root-Dateisystem konfigurieren. Vor CentOS/RHEL 6 Update 3 konnten Sie während der Installation kein btrfs-Root-Dateisystem erstellen.

Mit UEK R3 unterstützt btrfs die folgenden zusätzlichen Funktionen:

  • Mit der Sende-/Empfangsfunktion können Sie die Unterschiede zwischen zwei Subvolumes aufzeichnen, die entweder Snapshots desselben Subvolumes oder übergeordnete und untergeordnete Subvolumes sein können.
  • Quota-Gruppen (qgroups) ermöglichen es Ihnen, unterschiedliche Größenbeschränkungen für ein Volume und seine Subvolumes festzulegen.
  • Sie können Geräte ersetzen, ohne den Zugriff auf das Dateisystem aufzuheben oder anderweitig zu unterbrechen.

Dieses Dokument soll erklären, wie man ein BTRFS-Dateisystem auf einem einzelnen Gerät auf einem CentOS/RHEL-System erstellt. Die folgenden Schritte wurden auf einer virtuellen Maschine mit CentOS/RHEL 7 und einer virtuellen Festplatte mit einer Größe von 5 GB durchgeführt.

Erstellen Sie ein BTRFS-Dateisystem

Fügen Sie die gewünschte Festplatte hinzu, auf der das Btrfs-Dateisystem konfiguriert werden soll, und stellen Sie sicher, dass das System die Festplatte erkennt:

# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 20G 0 disk
├─xvda1 202:1 0 1G 0 part /boot
└─xvda2 202:2 0 19G 0 part
├─ol-root 251:0 0 17G 0 lvm /
└─ol-swap 251:1 0 2G 0 lvm [SWAP]
xvdb 202:16 0 5G 0 disk

In der obigen Ausgabe wird unsere Festplatte „xvdb“ sein. Bei den Geräten kann es sich um einfache Festplattenpartitionen, Loopback-Geräte (d. h. Festplatten-Images im Arbeitsspeicher), Multipath-Geräte oder LUNs handeln, die RAID in Hardware implementieren.

1. Installieren Sie das btrfs-progs-Paket, falls es noch nicht auf Ihrem System installiert ist:

# yum install btrfs-progs

2. Erstellen Sie das Btrfs-Dateisystem mit dem Befehl mkfs.brtfs:

# mkfs.btrfs /dev/xvdb
btrfs-progs v4.9.1
See http://btrfs.wiki.kernel.org for more information.

Detected a SSD, turning off metadata duplication. Mkfs with -m dup if you want to force metadata duplication.
Label: (null)
UUID: c7d1687d-fe91-4837-b14a-4870466d1a3f
Node size: 16384
Sector size: 4096
Filesystem size: 5.00GiB
Block group profiles:
Data: single 8.00MiB
Metadata: single 8.00MiB
System: single 4.00MiB
SSD detected: yes
Incompat features: extref
Number of devices: 1
Devices:
ID SIZE PATH
1 5.00GiB /dev/xvdb

3. Verwenden Sie den Befehl btrfs filesystem show, um zu überprüfen, ob das Dateisystem auf dem Gerät erstellt wurde:

# btrfs filesystem show
Label: none uuid: c7d1687d-fe91-4837-b14a-4870466d1a3f
Total devices 1 FS bytes used 112.00KiB
devid 1 size 5.00GiB used 20.00MiB path /dev/xvdb

Der obige Befehl zeigt alle Btrfs-Dateisysteme im System an

oder

# btrfs filesystem show /dev/xvdb
Label: none uuid: c7d1687d-fe91-4837-b14a-4870466d1a3f
Total devices 1 FS bytes used 112.00KiB
devid 1 size 5.00GiB used 20.00MiB path /dev/xvdb

Der obige Befehl zeigt Informationen über das btrfs-Dateisystem nur auf dem angegebenen Gerät an, das benötigt wird (/dev/xvdb)

4. Mounten Sie das entsprechende Dateisystem:

# mount /dev/xvdb /btrfsTest

5. Stellen Sie sicher, dass das btrfs-Dateisystem jetzt gemountet ist:

# mount | grep btrfs
/dev/xvdb on /btrfsTest type btrfs (rw,relatime,seclabel,ssd,space_cache)

Fragen Sie ein BTRFS-Dateisystem ab

Führen Sie den Befehl btrfs filesystem df aus, um genauere Informationen über den Speicherplatz anzuzeigen, der von einem btrfs-Dateisystem verwendet wird.

# btrfs filesystem df /btrfsTest/
Data, single: total=8.00MiB, used=64.00KiB
System, single: total=4.00MiB, used=16.00KiB
Metadata, single: total=264.00MiB, used=112.00KiB
GlobalReserve, single: total=16.00MiB, used=0.00B

Wir können den regulären df-Befehl verwenden, um das Dateisystem abzufragen, aber die angezeigten Informationen sind möglicherweise nicht genau.

# df -h /btrfsTest/
Filesystem Size Used Avail Use% Mounted on
/dev/xvdb 5.0G 17M 4.8G 1% /btrfsTest

Weitere Informationen und Optionen finden Sie auf der Handbuchseite von mkfs.btrfs:

# man mkfs.btrfs


Linux
  1. So erstellen Sie einen Swap unter Linux

  2. So erstellen Sie eine Auslagerungsdatei unter Linux

  3. Wie erstelle ich eine Datei und mounte sie als Dateisystem?

  4. „btrfs“-Befehlsbeispiele zum Erstellen und Verwalten des Btrfs-Dateisystems

  5. So erstellen Sie eine Auslagerungsdatei auf einer SSD-Festplatte mit Btrfs

Was ist EFS (Elastic File System) in AWS und wie wird es verwendet?

So erstellen und führen Sie eine Ansible Playbook-Datei aus

So fügen Sie unter Linux ein neues Gerät zum BTRFS-Dateisystem hinzu

So überprüfen und reparieren Sie ein Dateisystem in RHEL Linux

So erstellen und verwenden Sie eine Auslagerungsdatei unter Linux

So erstellen Sie eine große 1-GB- oder 10-GB-Datei in einem Linux-System