Sobald Sie einen BTRFS -RAID erstellt haben, können Sie dem RAID mehr Speichergeräte hinzufügen, um den RAID zu erweitern. Sobald Sie dem RAID mehr Speichergeräte hinzugefügt haben. Sie können also nicht den gewünschten Durchsatz (Lese-/Schreibgeschwindigkeit) aus dem RAID herausholen, und es kann möglicherweise nicht in der Lage sein, die neuen Speichergeräte mit den erforderlichen redundanten Daten zu füllen. Das RAID -Array kann also die gewünschte Anzahl von Laufwerksfehlern nicht überleben.
Um diese Probleme zu lösen, bietet das BTRFS-Dateisystem ein integriertes Balancewerkzeug. Das BTRFS Balance-Dienstprogramm verbreitet die Daten/Metadaten/Systemdaten der vorhandenen Speichergeräte des RAID auf die neu hinzugefügten Speichergeräte.
In diesem Artikel werde ich Ihnen zeigen, wie Sie das BTRFS Balance-Dienstprogramm verwenden, um die Daten/Metadaten/Systemdaten der vorhandenen Speichergeräte des RAID auf die neu hinzugefügten Speichergeräte zu verbreiten. Also lasst uns anfangen!
Abkürzungen
ÜBERFALLEN - Redundante Auswahl kostengünstiger/unabhängiger Scheiben
Mb - Megabyte
GB - Gigabyte
Voraussetzungen
Um diesem Artikel zu folgen, müssen Sie einen funktionierenden BTRFS-RAID- oder Multi-Device-Setup durchführen.
Ich habe einen BTRFS -Überfall erstellt in RAID-0 Konfiguration mit 4 Speichergeräten SDB, SDC, SDD, Und SDE.
Wie Sie sehen können, wurde das BTRFS -Dateisystem zugewiesen 1 GB von Speicherplatz für Daten11 256 MB von Scheibenraum für metadata2, Und 4 MB von Scheibenraum für Systemdata3 von jedem der Speichergeräte im RAID.
Um 18.75 GB aus 20 GB ist immer noch nicht zugeteilt4 von jedem der Speichergeräte des RAID.
$ sudo BTRFS -Dateisystemnutzung /Daten
Schreiben eines Skripts, um zufällige Dateien zu generieren
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. Erstellen wir ein Shell -Skript, das genau das tut.
Erstellen Sie ein neues Shell -Skript Genfiles.SH in der/usr/local/bin/verzeichnis wie folgt:
$ sudo nano/usr/local/bin/genfiles.Sch
Geben Sie die folgenden Codes -Zeilen in der ein Genfiles.Sch Shell-Skript.
#!/Bin/Bash
während wahr
Tun
Dateiname = $ (uUidgen)
echo "[erstellen] $ Dateiname"
dd if =/dev/random von = $ fileName bs = 1m count = 256 Status = Fortschritt
echo "[erstellt] $ Dateiname"
Erledigt
Sobald Sie fertig sind, drücken Sie + X gefolgt von Y Und um die zu retten Genfiles.Sch Shell-Skript.
Der Genfiles.Sch Das Shell -Skript führt ein Unendlicher während Schleife.
während wahr
Tun
# Andere Codes
Erledigt
Die folgende Zeile erzeugt eine UUID mit dem Uuidgen Befehl und speichert die UUID in der DATEINAMEN Variable.
Die folgende Zeile druckt eine Nachricht auf der Konsole vor der Datei DATEINAMEN wird erzeugt.
Die folgende Zeile generiert eine neue zufällige Datei DATEINAMEN Verwendung der dd Befehl. Die Datei beträgt 256 MB.
Die folgende Zeile druckt nach der Datei eine Nachricht auf der Konsole DATEINAMEN wird erzeugt.
Fügen Sie der Erlaubnis zur Ausführung der Erlaubnis zur Genfiles.Sch Shell -Skript wie folgt:
$ sudo chmod +x/usr/local/bin/genfiles.Sch
Der Genfiles.Sch Das Shell -Skript sollte nun wie alle anderen Befehle zugänglich sein.
$ welche Genfiles.Sch
Generieren von zufälligen Dateien im BTRFS -Dateisystem
Wir möchten zufällige Dateien im BTRFS -RAID generieren. Nehmen wir an, der BTRFS -Überfall ist auf dem montiert /Daten Verzeichnis.
Navigieren zum /Daten Verzeichnis, in dem der BTRFS -Überfall wie folgt montiert ist:
$ CD /Daten
Wie Sie sehen können, sind im Moment keine Dateien in meinem BTRFS -Überfall verfügbar.
$ ls -lh
So generieren einige zufällige Dateien im aktuellen Arbeitsverzeichnis (/Daten Verzeichnis in diesem Fall) führen Sie die aus Genfiles.Sch Shell -Skript wie folgt:
$ sudo genfiles.Sch
Der Genfiles.Sch Das Shell -Skript sollte anfangen, zufällige Dateien in der zu generieren /Daten Verzeichnis.
Der Genfiles.Sch Das Skript generiert zufällige Dateien. Lassen Sie das Drehbuch für ein paar Minuten laufen, damit es etwa 2-3 GB Speicherplatz des BTRFS-RAID füllt.
Wenn Sie die stoppen wollen 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 können, hat der BTRFS -RAID 2 GB von jedem der Speichergeräte zugewiesen, die dem RAID hinzugefügt wurden. Zuvor hat der BTRFS -RAID 1 GB von jedem der dem RAID hinzugefügten Speichergeräte zugewiesen.
Der nicht zugewiesene Speicherplatz wurde von reduziert 18.75 GB Zu 17.75 GB In allen Speichervorrichtungen des RAID.
$ sudo BTRFS -Dateisystemnutzung /Daten
Hinzufügen eines weiteren Speichergeräts zum BTRFS -RAID
Um Ihnen zu zeigen, wie Sie nach dem Hinzufügen eines neuen Speichergeräts einen BTRFS -RAID ausbalancieren, müssen Sie ein neues Speichergerät hinzufügen.
Ich habe eine neue Festplatte hinzugefügt SDF zu meinem Computer, den ich dem auf dem montierten BTRFS -Überfall hinzufügen möchte /Daten Verzeichnis. Mal sehen, wie es geht.
$ sudo lsblk -e7
Navigieren Sie zu einem anderen Verzeichnis (ich.e., HEIM Verzeichnis) aus dem /Daten Verzeichnis wie folgt:
$ cd
So fügen Sie das Speichergerät hinzu SDF auf den BTRFS -Überfall auf dem montiert /Daten Verzeichnis, führen Sie den folgenden Befehl aus:
$ sudo BTRFS -Gerät add /dev /sdf /Daten
Wie Sie sehen können, das Speichergerät SDF wird dem BTRFS -Überfall hinzugefügt. Die RAID -Größe hat sich von gestiegen 80 GB Zu 100 GB.
$ sudo BTRFS -Dateisystemnutzung /Daten
Ausgleich des BTRFS -Überfalls
Wie Sie sehen können, ist das neu hinzugefügte Speichergerät (SDF) des Überfalls (auf dem montiert /Daten Verzeichnis) hat 20 GB nicht zugewiesen und die anderen Speichergeräte (SDB, SDC, SDD, SDE, usw.) haben 17.75 GB nicht zugewiesen.
$ sudo BTRFS -Dateisystemnutzung /Daten
Die Daten1, Metadaten2, und Systemdaten3 sind nur auf den vorhandenen Speichergeräten des RAID verfügbar, nicht auf dem neu hinzugefügten Speichergerät.
Um die Daten, die Metadaten und die Systemdaten auf allen Speichergeräten des RAID (einschließlich des neu hinzugefügten Speichergeräts) auszubreiten, montiert /Daten Verzeichnis, führen Sie den folgenden Befehl aus:
$ sudo btrfs balance starten-voll ausbalance /data
Es kann eine Weile dauern, bis die Daten, die Metadaten und die Systemdaten auf allen Speichergeräten des RAID iFit viele Daten enthalten.
Sobald die Speichergeräte des RAID ordnungsgemäß ausgeglichen sind, sollten Sie die folgende Nachricht sehen.
Wie Sie sehen können, verfügt das neu hinzugefügte Speichergerät nach Abschluss des Gleichgewichtsbetriebs wie die anderen Speichergeräte des Überfalls.
Nach dem Ausgleichsbetrieb wird eine gleiche Menge Scheibenraum wie die anderen Speichergeräte des RAID für die Daten, Metadaten und Systemdaten aus dem neu hinzugefügten Speichergerät (für die Daten, Metadaten und Systemdaten (SDF) des Überfalls.
Abschluss
In diesem Artikel habe ich den Zweck des BTRFS Balance-Dienstprogramms erörtert und wie ein BTRFS-RAID- oder ein Multi-Geräts-Dateisystem nach dem Hinzufügen neuer Speichergeräte auf den RAID- oder Multi-Device-Dateisystem ausgeglichen wird.