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.