Btrfs

So verwenden Sie Btrfs Scrub?

So verwenden Sie Btrfs Scrub?
Das Btrfs-Dateisystem ist ein geräteübergreifendes Dateisystem mit integrierter Unterstützung für RAID. In einem geräteübergreifenden Btrfs-Dateisystem oder RAID können die Daten-/Metadatenblöcke auf einem oder mehreren Speichergeräten gespeichert werden. Das Btrfs-Scrub-Tool liest alle Daten-/Metadatenblöcke von allen Speichergeräten, die einem Btrfs-Dateisystem oder RAID hinzugefügt wurden, und findet alle beschädigten Daten-/Metadatenblöcke. Sobald die beschädigten Daten-/Metadatenblöcke gefunden wurden, repariert das Btrfs-Scrub-Tool diese beschädigten Daten-/Metadatenblöcke nach Möglichkeit automatisch.

In einem Btrfs-Dateisystem mit mehreren Geräten oder einem Btrfs-RAID können je nach Dateisystemkonfiguration mehrere Kopien der Daten-/Metadatenblöcke an verschiedenen Speicherorten der zum Btrfs-Dateisystem hinzugefügten Speichergeräte gespeichert sein. Wenn das Btrfs-Scrub-Tool einen beschädigten Daten-/Metadatenblock findet, durchsucht es alle zum Btrfs-Dateisystem hinzugefügten Speichergeräte nach doppelten Kopien dieses Daten-/Metadatenblocksdata. Sobald eine doppelte Kopie dieses Daten-/Metadatenblocks gefunden wird, 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 geräteübergreifenden Btrfs-Dateisystem oder Btrfs-RAID.

In diesem Artikel zeige ich Ihnen, wie Sie mit dem Btrfs-Scrub-Tool beschädigte Daten-/Metadatenblöcke in einem geräteübergreifenden Btrfs-Dateisystem oder Btrfs-RAID finden und reparieren. Also lasst uns anfangen.

Abkürzungen

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

Voraussetzungen

Um diesem Artikel folgen zu können, benötigen Sie ein funktionierendes geräteübergreifendes Btrfs-Dateisystem oder ein Btrfs-RAID.

Ich habe ein Btrfs-RAID erstellt in RAID-1 Konfiguration (montiert am /Daten Verzeichnis) mit 4 Speichergeräten sdb, sdc, sdd, und sde, wie Sie im Screenshot unten sehen können. Ich werde dieses Btrfs-RAID für die Btrfs-Scrub-Demonstration in diesem Artikel verwenden.

$ sudo btrfs Dateisystemnutzung /data

Wenn Sie Hilfe bei der Installation des Btrfs-Dateisystems unter Ubuntu benötigen, lesen Sie meinen Artikel Install and Use Btrfs on Ubuntu 20.04 LTS.

Wenn Sie Hilfe bei der Installation des Btrfs-Dateisystems auf Fedora benötigen, lesen Sie meinen Artikel Install and Use Btrfs on Fedora 33.

Wenn Sie Hilfe beim Erstellen eines Btrfs-RAID benötigen, lesen Sie meinen Artikel So richten Sie ein Btrfs-RAID ein.

Generieren von Dummy-Dateien auf dem Btrfs-Dateisystem

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. Lassen Sie uns ein Shell-Skript erstellen, das genau das tut.

Erstellen Sie ein neues Shell-Skript Genfiles.Sch in dem /usr/local/bin/ Verzeichnis 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 in Größe.

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:

so

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

$ welche Gendateien.Sch

Lassen Sie uns einige zufällige Dateien im Btrfs-RAID generieren, der im /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

Ich habe ungefähr 13 GB zufällige Dateien im Btrfs-RAID generiert, das in der /Daten Verzeichnis, wie Sie im Screenshot unten sehen können.

$ sudo du -sh /data

Arbeiten mit dem Btrfs Scrub Tool

In diesem Abschnitt zeige ich Ihnen, wie Sie das Btrfs-Scrub-Tool verwenden. Lass uns anfangen.

Sie können den Scrubbing-Prozess auf dem Btrfs-Dateisystem starten, das auf dem /Daten Verzeichnis mit folgendem Befehl:

$ sudo btrfs Scrub-Start /data

Ein Btrfs-Scrubbing-Prozess sollte auf dem Btrfs-Dateisystem gestartet werden, das auf dem /Daten Verzeichnis.

Sie können den Status des Btrfs-Scrubbing-Prozesses sehen, der auf dem Btrfs-Dateisystem ausgeführt wird, das auf dem /Daten Verzeichnis wie folgt:

$ sudo btrfs Scrub-Status /data

Wie Sie sehen können, ist der Btrfs-Scrub-Prozess noch nicht abgeschlossen Laufen.

Das Scrubbing eines Btrfs-Dateisystems oder Btrfs-RAID mit vielen Dateien dauert lange.

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

$ sudo btrfs Scrub-Status /data

Sie können auch den Btrfs-Scrubbing-Status für jedes der Speichergeräte sehen, die dem Btrfs-Dateisystem hinzugefügt wurden (eingehängt im /Daten Verzeichnis) separat wie folgt:

$ sudo btrfs Scrub-Status -d /data

Ich habe Ihnen gesagt, dass der Btrfs-Scrubbing-Prozess auf einem großen Btrfs-Dateisystem lange dauert. Ein großer Vorteil des Btrfs-Scrub-Tools besteht darin, dass der Vorgang jederzeit angehalten und fortgesetzt werden kann.

Sehen wir uns an, wie Sie einen Btrfs-Scrub-Prozess anhalten und fortsetzen können resume.

Starten Sie zunächst einen neuen Btrfs-Scrub-Prozess auf dem im /data-Verzeichnis eingehängten Btrfs-Dateisystem wie folgt:

$ sudo btrfs Scrub-Start /data

Um den Btrfs-Scrubbing-Prozess abzubrechen oder anzuhalten, der derzeit auf dem Btrfs-Dateisystem ausgeführt wird, das auf dem /Daten Verzeichnis, führen Sie den folgenden Befehl aus:

$ sudo btrfs Scrub abbrechen /data

Der laufende Btrfs-Scrubbing-Prozess sollte abgebrochen oder angehalten werden.

Wie Sie sehen können, ist der Btrfs-Scrub-Status abgebrochen. Der Btrfs-Scrub-Prozess läuft also nicht mehr.

$ sudo btrfs Scrub-Status /data

Führen Sie den folgenden Befehl aus, um den abgebrochenen oder angehaltenen Btrfs-Bereinigungsprozess fortzusetzen:

$ Sudo Btrfs Scrub Lebenslauf / Daten

Der Btrfs-Scrub-Prozess sollte wieder aufgenommen werden.

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

$ sudo btrfs Scrub-Status /data

Nachdem der Btrfs-Scrub-Prozess abgeschlossen ist, sollte der Btrfs-Scrub-Status in . geändert werden fertig.

$ sudo btrfs Scrub-Status /data

Fazit

In diesem Artikel habe ich Ihnen gezeigt, wie Sie mit dem Btrfs-Scrub-Tool arbeiten, um beschädigte Daten-/Metadatenblöcke eines Btrfs-Dateisystems mit mehreren Geräten oder RAID zu finden und zu reparieren. Ich habe Ihnen gezeigt, wie Sie einen Btrfs-Scrub-Prozess abbrechen / anhalten und fortsetzen können, sobald er gestartet wurde.

So erfassen und streamen Sie Ihre Gaming-Sitzung unter Linux
In der Vergangenheit galt das Spielen von Spielen nur als Hobby, aber mit der Zeit verzeichnete die Spieleindustrie ein enormes Wachstum in Bezug auf ...
Beste Spiele zum Spielen mit Handtracking
Oculus Quest hat kürzlich die großartige Idee des Hand-Trackings ohne Controller vorgestellt. Mit einer ständig steigenden Anzahl von Spielen und Akti...
So zeigen Sie OSD-Overlay in Vollbild-Linux-Apps und -Spielen an
Das Spielen von Spielen im Vollbildmodus oder die Verwendung von Apps im ablenkungsfreien Vollbildmodus kann Sie von relevanten Systeminformationen ab...