Btrfs

So verwenden Sie das Btrfs-Guthaben?

So verwenden Sie das Btrfs-Guthaben?
Das Btrfs-Dateisystem verfügt über eine integrierte Unterstützung für mehrere Geräte, sodass Sie damit verschiedene RAID-Stufen erstellen können.

Sobald Sie ein Btrfs-RAID erstellt haben, können Sie dem RAID weitere Speichergeräte hinzufügen, um das RAID zu erweitern. Sobald Sie dem RAID jedoch weitere Speichergeräte hinzugefügt haben, verteilt Btrfs die vorhandenen Daten/Metadaten/Systemdaten nicht automatisch auf die neuen Speichergeräte. Daher erhalten Sie möglicherweise nicht den gewünschten Durchsatz (Lese-/Schreibgeschwindigkeit) aus dem RAID und können die neuen Speichergeräte möglicherweise nicht mit den erforderlichen redundanten Daten bestücken. Daher kann das RAID-Array die gewünschte Anzahl von Laufwerksausfällen nicht überstehen.

Um diese Probleme zu lösen, bietet das Btrfs-Dateisystem ein integriertes Balancing-Tool. Das Btrfs Balance Utility verteilt die Daten/Metadaten/Systemdaten der vorhandenen Speichergeräte des RAIDs auf die neu hinzugefügten Speichergeräte.

In diesem Artikel zeige ich Ihnen, wie Sie das Btrfs-Balance-Dienstprogramm verwenden, um die Daten/Metadaten/Systemdaten der vorhandenen Speichergeräte des RAIDs auf die neu hinzugefügten Speichergeräte zu verteilen. Also lasst uns anfangen!

Abkürzungen

RAID - Redundantes Array kostengünstiger/unabhängiger Festplatten Disk
MB - Megabyte
GB - Gigabyte

Voraussetzungen

Um diesem Artikel folgen zu können, benötigen Sie ein funktionierendes Btrfs-RAID- oder Multi-Device-Setup.

Ich habe ein Btrfs-RAID erstellt in RAID-0 Konfiguration mit 4 Speichergeräten sdb, sdc, sdd, und sde.

Wie Sie sehen, ist das Btrfs-Dateisystem zugewiesen 1 GB Speicherplatz für Daten1 256 MB Speicherplatz für Metadaten2, und 4 MB Speicherplatz für Systemdaten3 von jedem der Speichergeräte im RAID.

Über 18.75 GB aus 20 GB ist immer noch nicht zugeordnet4 von jedem der Speichergeräte des RAID.

$ sudo btrfs Dateisystemnutzung /data

Schreiben eines Skripts zum Generieren zufälliger Dateien

Um Ihnen zu zeigen, wie das Btrfs-Balance-Dienstprogramm funktioniert, müssen wir einige zufällige Dateien generieren, um das Btrfs-Dateisystem zu füllen. Lassen Sie uns ein Shell-Skript erstellen, das genau das tut.

Erstellen Sie ein neues Shell-Skript Genfiles.sh im Verzeichnis /usr/local/bin/ wie folgt:

$ sudo nano /usr/local/bin/genfiles.Sch

Geben Sie die folgenden Codezeilen in die ein Genfiles.Sch Shell-Skript.

#!/bin/bash
während wahr
tun
DATEINAME=$(uuidgen)
echo "[Erstelle] $FILENAME"
dd if=/dev/random of=$FILENAME bs=1M count=256 status=progress
echo "[Erstellt] $FILENAME"
getan

Wenn Sie fertig sind, drücken Sie + X gefolgt von Ja und um die zu retten Genfiles.Sch Shell-Skript.

Das Genfiles.Sch Shell-Skript führt unendlich aus während Schleife.

während wahr
tun
# andere Codes
getan

Die folgende Zeile generiert eine UUID mit dem uuidgen Befehl und speichert die UUID im DATEINAME Variable.

Die folgende Zeile gibt eine Nachricht auf der Konsole vor der Datei aus DATEINAME wird erzeugt.

Die folgende Zeile erzeugt eine neue Zufallsdatei DATEINAME Verwendung der dd Befehl. Die Datei wird 256 MB groß sein.

Die folgende Zeile gibt eine Nachricht auf der Konsole nach der Datei aus DATEINAME wird erzeugt.

Ausführungsberechtigung zum hinzufügen Genfiles.Sch Shell-Skript wie folgt:

$ sudo chmod +x /usr/local/bin/genfiles.Sch

Das Genfiles.Sch Shell-Skript sollte jetzt wie alle anderen Befehle zugänglich sein.

$ welche Gendateien.Sch

Generieren von zufälligen Dateien im Btrfs-Dateisystem

Wir wollen zufällige Dateien im Btrfs RAID generieren. Nehmen wir an, das Btrfs-RAID ist auf dem gemountet /Daten Verzeichnis.

Navigieren Sie zum /Daten Verzeichnis, in dem das Btrfs-RAID wie folgt gemountet ist:

$ CD / Daten

Wie Sie sehen, sind derzeit keine Dateien in meinem Btrfs-RAID verfügbar.

$ ls -lh

Um einige zufällige Dateien im aktuellen Arbeitsverzeichnis zu generieren (/Daten Verzeichnis in diesem Fall), führen Sie die Genfiles.Sch Shell-Skript wie folgt:

$ sudo genfiles.Sch

Das Genfiles.Sch Shell-Skript sollte mit der Generierung zufälliger Dateien im /Daten Verzeichnis.

Das Genfiles.Sch Skript generiert zufällige Dateien. Lassen Sie das Skript einige Minuten laufen, damit es etwa 2-3 GB Speicherplatz des Btrfs-RAID belegt.

Wenn du aufhören willst Genfiles.Sch Shell-Skript, drücken Sie + C.

Wie Sie sehen können, werden einige zufällige Dateien im Btrfs RAID generiert.

$ ls -lh


Wie Sie sehen, hat das Btrfs-RAID 2 GB von jedem der dem RAID hinzugefügten Speichergeräte zugewiesen. Zuvor hat das Btrfs-RAID 1 GB von jedem der dem RAID hinzugefügten Speichergeräte zugewiesen.

Der nicht zugewiesene Speicherplatz wurde von 18.75 GB zu 17.75 GB in allen Speichergeräten des RAID.

$ sudo btrfs Dateisystemnutzung /data

Hinzufügen eines weiteren Speichergeräts zum Btrfs-RAID

Um Ihnen zu zeigen, wie Sie ein Btrfs-RAID ausbalancieren, nachdem Sie ein neues Speichergerät hinzugefügt haben, müssen Sie ein neues Speichergerät hinzufügen.

Ich habe eine neue HDD hinzugefügt sdf zu meinem Computer, den ich dem Btrfs-RAID hinzufügen möchte, das auf dem /Daten Verzeichnis. Mal sehen, wie es geht.

$ sudo lsblk -e7

Navigieren Sie zu einem anderen Verzeichnis (i.e., ZUHAUSE Verzeichnis) aus dem /Daten Verzeichnis wie folgt:

$ CD

So fügen Sie das Speichergerät hinzu sdf zum Btrfs-RAID, das auf dem /Daten Verzeichnis, führen Sie den folgenden Befehl aus:

$ sudo btrfs Gerät hinzufügen /dev/sdf /data

Wie Sie sehen, ist das Speichergerät sdf wird dem Btrfs RAID hinzugefügt. Die RAID-Größe hat sich von 80 GB zu 100 GB.

$ sudo btrfs Dateisystemnutzung /data

Ausbalancieren des Btrfs-RAID

Wie Sie sehen, ist das neu hinzugefügte Speichergerät (sdf) des RAIDs (montiert auf dem /Daten Verzeichnis) hat 20 GB nicht zugeordnet, und die anderen Speichergeräte (sdb, sdc, sdd, sde, usw.) haben 17.75 GB nicht zugewiesen.

$ sudo btrfs Dateisystemnutzung /data

Die Daten1, Metadaten2, und Systemdaten3 sind nur auf den vorhandenen Speichergeräten des RAIDs verfügbar, nicht auf dem neu hinzugefügten Speichergerät.

Um die Daten, Metadaten und Systemdaten auf alle Speichergeräte des RAIDs (einschließlich des neu hinzugefügten Speichergeräts) zu verteilen, das auf dem /Daten Verzeichnis, führen Sie den folgenden Befehl aus:

$ sudo btrfs balance start --full-balance /data

Es kann eine Weile dauern, bis die Daten, Metadaten und Systemdaten auf allen Speichergeräten des RAID verteilt sind, wenn es viele Daten enthält.

Sobald die Speichergeräte des RAIDs richtig ausbalanciert sind, sollten Sie die folgende Meldung sehen:.

Wie Sie sehen, verfügt das neu hinzugefügte Speichergerät nach Abschluss des Ausgleichsvorgangs über den gleichen nicht zugewiesenen Speicherplatz wie die anderen Speichergeräte des RAID of.

Nach dem Ausgleichsvorgang wird für die Daten, Metadaten und Systemdaten des neu hinzugefügten Speichergeräts die gleiche Menge an Festplattenspeicher wie den anderen Speichergeräten des RAIDs zugewiesen (sdf) des RAIDs.

Fazit

In diesem Artikel habe ich den Zweck des Btrfs-Balance-Dienstprogramms sowie das Ausbalancieren eines Btrfs-RAID- oder Multi-Device-Dateisystems besprochen, nachdem dem RAID- oder Multi-Device-Dateisystem neue Speichergeräte hinzugefügt wurden.

So kehren Sie die Scrollrichtung von Maus und Touchpads in Windows 10 um
Maus und Touchpads machen das Rechnen nicht nur einfach, sondern auch effizienter und weniger zeitaufwendig. Wir können uns ein Leben ohne diese Gerät...
So ändern Sie Mauszeiger- und Cursorgröße, Farbe und Schema unter Windows 10
Der Mauszeiger und der Cursor in Windows 10 sind sehr wichtige Aspekte des Betriebssystems. Dies kann auch für andere Betriebssysteme gesagt werden, a...
Kostenlose und Open-Source-Spiele-Engines für die Entwicklung von Linux-Spielen
Dieser Artikel behandelt eine Liste von kostenlosen und Open-Source-Spiele-Engines, die für die Entwicklung von 2D- und 3D-Spielen unter Linux verwend...