So verwenden Sie BTRFS Scrub?

So verwenden Sie BTRFS Scrub?
Das BTRFS-Dateisystem ist ein Multi-Device-Dateisystem, das integriert wird, um RAID zu unterstützen. In einem BTRFS-Dateisystem oder RAID mit mehreren Geräten können die Daten/Metadatenblöcke in einem oder mehreren Speichergeräten gespeichert werden. Das BTRFS -Scrub -Tool lesen alle Daten/Metadatenblöcke von allen Speichergeräten,. Sobald die beschädigten Daten/Metadatenblöcke gefunden wurden.

In einem BTRFS-Dateisystem oder BTRFS-RAID mit mehreren Geräten, je nach Konfiguration des Dateisystems, kann es mehrere Kopien der Daten-/Metadatenblöcke geben, die an verschiedenen Stellen der Speichergeräte gespeichert sind, die dem BTRFS-Dateisystem hinzugefügt wurden. Wenn das BTRFS -Scrub -Tool einen beschädigten Daten-/Metadatenblock findet, durchsucht es alle Speichergeräte, die dem BTRFS -Dateisystem hinzugefügt wurden. Sobald eine doppelte Kopie dieses Daten-/Metadatenblocks gefunden wurde, wird der beschädigte Daten-/Metadatenblock mit dem richtigen Daten-/Metadatenblock überschrieben. So repariert das BTRFS-Scrub-Tool beschädigte Daten/Metadatenblöcke in einem BTRFS-Dateisystem oder BTRFS-RAID mit mehreren Geräten.

In diesem Artikel werde ich Ihnen zeigen, wie Sie das BTRFS-Scrub-Tool verwenden, um beschädigte Daten/Metadatenblöcke in einem Multi-Gerät in einem BTRFS-Dateisystem oder BTRFS-RAID mit mehreren Geräten zu finden und zu reparieren. Also lasst uns anfangen.

Abkürzungen

ÜBERFALLEN - Redundante Auswahl kostengünstiger/unabhängiger Scheiben
GB - Gigabyte

Voraussetzungen

Um diesem Artikel zu folgen, müssen Sie ein funktionierendes BTRFS-Dateisystem für Multi-Geräte oder einen BTRFS-RAID haben.

Ich habe einen BTRFS -Überfall erstellt in Raid-1 Konfiguration (montiert auf der /Daten Verzeichnis) Verwenden von 4 Speichergeräten SDB, SDC, SDD, Und SDE, Wie Sie im Screenshot unten sehen können. Ich werde diesen BTRFS -Überfall für die BTRFS -Scrub -Demonstration in diesem Artikel verwenden.

$ sudo BTRFS -Dateisystemnutzung /Daten

Wenn Sie Unterstützung bei der Installation des BTRFS -Dateisystems auf Ubuntu benötigen, überprüfen Sie meinen Artikel und verwenden Sie BTRFS auf Ubuntu 20.04 LTS.

Wenn Sie Unterstützung bei der Installation des BTRFS -Dateisystems auf Fedora benötigen, überprüfen Sie meinen Artikel und verwenden Sie BTRFS unter Fedora 33.

Wenn Sie Unterstützung bei der Erstellung eines BTRFS -Überfalls benötigen, überprüfen Sie meinen Artikel So richten Sie BTRFS -RAID ein.

Generieren von Dummy -Dateien im BTRFS -Dateisystem generieren

Um Ihnen zu zeigen, wie das BTRFS -Scrub -Tool 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.Sch im /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 wird sein 256 MB in Größe.

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:

S

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

$ welche Genfiles.Sch

Generieren wir einige zufällige Dateien im BTRFS -RAID, das in der montiert ist /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

Ich habe ungefähr 13 GB zufällige Dateien in dem in der montierten BTRFS -Überfall generiert /Daten Verzeichnis, wie Sie im Screenshot unten sehen können.

$ sudo du -sh /Daten

Arbeiten mit dem BTRFS -Scrub -Tool

In diesem Abschnitt werde ich Ihnen zeigen, wie Sie das BTRFS -Scrub -Tool verwenden. Lass uns anfangen.

Sie können den Peeling -Vorgang auf dem auf dem montierten BTRFS -Dateisystem starten /Daten Verzeichnis mit dem folgenden Befehl:

$ sudo btrfs pecrub Start /Daten

Ein BTRFS -Scrub -Prozess sollte am BTRFS -Dateisystem gestartet werden, der auf dem montiert ist /Daten Verzeichnis.

Sie können den Status des BTRFS -Scrub -Vorgangs sehen, das auf dem auf dem montierten BTRFS -Dateisystem ausgeführt wird /Daten Verzeichnis wie folgt:

$ sudo btrfs schrubte Status /Daten

Wie Sie sehen können, ist der BTRFS -Scrub -Prozess immer noch Betrieb.

Das Schrubben eines BTRFS -Dateisystems oder eines BTRFS -RAID, dessen Fertigstellung viele Dateien enthält, dauert lange.

Sobald der BTRFS -Peeling -Prozess abgeschlossen ist, sollte der Status in geändert werden fertig, Wie Sie im Screenshot unten sehen können.

$ sudo btrfs schrubte Status /Daten

Sie können auch den BTRFS -Scrub -Status für jedes der dem BTRFS -Dateisystem hinzugefügten Speichergeräte sehen (montiert in der /Daten Verzeichnis) getrennt wie folgt:

$ sudo btrfs schrubte Status -d /Daten

Ich habe Ihnen gesagt, dass der BTRFS -Peeling -Prozess lange dauert, bis ein großer BTRFS -Dateisystem abgeschlossen ist. Ein großer Vorteil des BTRFS -Scrub -Tools besteht darin, dass sein Vorgang jederzeit angehalten und wieder aufgenommen werden kann.

Lassen Sie uns sehen, wie Sie einen BTRFS -Peeling -Prozess innehalten und fortsetzen können.

Starten Sie zunächst einen neuen BTRFS -Scrub -Prozess im BTRFS -Dateisystem, der wie folgt im /datenverzeichnis montiert ist:

$ sudo btrfs pecrub Start /Daten

So stornieren oder pausieren Sie den BTRFS -Scrub -Prozess, der derzeit auf dem auf dem montierten BTRFS -Dateisystem ausgeführt wird /Daten Verzeichnis, führen Sie den folgenden Befehl aus:

$ sudo btrfs schrubs stornieren /Daten

Der laufende BTRFS -Scrub -Prozess sollte storniert oder inne gemacht werden.

Wie Sie sehen können, lautet der BTRFS -Scrub -Status abgebrochen. Der BTRFS -Scrub -Prozess wird also nicht mehr ausgeführt.

$ sudo btrfs schrubte Status /Daten

Führen Sie den folgenden Befehl aus:

$ sudo btrfs pecrub Lebenslauf /Daten

Der BTRFS -Scrub -Prozess sollte wieder aufgenommen werden.

Wie Sie sehen können, ist der BTRFS -Scrub -Status jetzt jetzt Betrieb. Der BTRFS -Scrub -Prozess wird also wieder aufgenommen.

$ sudo btrfs schrubte Status /Daten

Nach Abschluss des BTRFS -Scrub -Vorgangs sollte der BTRFS -Scrub -Status in geändert werden fertig.

$ sudo btrfs schrubte Status /Daten

Abschluss

In diesem Artikel habe ich Ihnen gezeigt, wie Sie mit dem BTRFS-Scrub-Tool arbeiten, um beschädigte Daten/Metadatenblöcke eines BTRFS-Multi-Geräts-Dateisystems oder RAID zu finden und zu beheben. Ich habe Ihnen gezeigt, wie Sie einen BTRFS -Scrub -Prozess abbrechen/innehalten und wieder aufnehmen können, sobald er gestartet wurde.