GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So verwenden Sie den Befehl „btrfs scrub“, um das Scrubbing auf Btrfs-Dateisystemen zu verwalten

Sie können eine Überprüfung des gesamten Dateisystems einleiten, indem Sie einen Dateisystem-Scrubbing-Job auslösen. Der Scrub-Job läuft standardmäßig im Hintergrund und scannt das gesamte Dateisystem auf Integrität. Es versucht automatisch, alle fehlerhaften Blöcke, die es auf dem Weg findet, zu melden und zu reparieren. Anstatt das gesamte Laufwerk zu durchlaufen, befasst sich der Scrub-Job nur mit tatsächlich zugewiesenen Daten. Abhängig vom zugewiesenen Speicherplatz ist dies viel schneller als das Durchführen eines vollständigen Oberflächenscans der Festplatte.

Beim Scrubbing werden alle Daten von allen Festplatten gelesen und die Prüfsummen überprüft. Wenn irgendwelche Werte nicht korrekt sind, können die Daten korrigiert werden, indem eine gute Kopie des Blocks von einem anderen Laufwerk gelesen wird. Der Scrubbing-Code scannt auch automatisch beim Lesen. Es wird empfohlen, Dateisysteme mit hoher Auslastung einmal pro Woche und alle anderen Dateisysteme einmal im Monat zu bereinigen.

Das Folgende ist eine Liste der verfügbaren Btrfs-Scrubbing-Befehle:

# btrfs scrub
usage: btrfs scrub [command] [options] [path]|[device]

    btrfs scrub start [-BdqrRf] [-c ioprio_class -n ioprio_classdata] [path]|[device]
        Start a new scrub. If a scrub is already running, the new one fails.
    btrfs scrub cancel [path]|[device]
        Cancel a running scrub
    btrfs scrub resume [-BdqrR] [-c ioprio_class -n ioprio_classdata] [path]|[device]
        Resume previously canceled or interrupted scrub
    btrfs scrub status [-dR] [path]|[device]
        Show status of running or finished scrub

verify checksums of data and metadata

Dienstprogramm btrfs scrub:Beispiele

Verwenden Sie den Befehl btrfs scrub start, um einen Scrub auf allen Geräten eines Dateisystems oder auf einem einzelnen Gerät zu starten. Die Syntax lautet wie folgt:

# btrfs scrub start [-BdqrR] [-c ioprio_class ...

Beschreibung der Optionen:

Option Beschreibung
-B Lassen Sie es nicht im Hintergrund laufen und drucken Sie Statistiken, wenn Sie fertig sind.
-d Drucken Sie separate Statistiken für jedes Gerät des Dateisystems. Diese Option wird zusammen mit der Option -B verwendet.
-q Im stillen Modus ausführen, Fehlermeldungen und Statistiken auslassen.
-r Im schreibgeschützten Modus ausführen, keine Fehler korrigieren.
-R Rohdruckmodus. Vollständige Daten statt Zusammenfassung drucken.
-c ioprio_class Legen Sie die IO-Prioritätsklasse fest (siehe Ionice-Manpage).
-n ioprio_classdata E/A-Prioritätsklassendaten festlegen (siehe Manpage von ionice).

Btrfs-Scrubbing starten

Das folgende Beispiel startet einen Scrub auf dem Btrfs-Dateisystem, das auf /btrfs gemountet ist.

# btrfs scrub start /btrfs
scrub started on /btrfs, fsid ba60ac96-1628-4656-b68b-c7327ff49179 (pid=11164)

Verwenden Sie den Befehl btrfs scrub status, um den Status eines Scrub-Jobs abzurufen. Eine Option ist verfügbar:

  • -d – Separate Statistiken für jedes Gerät des Dateisystems drucken.

Unten sehen Sie ein Beispiel für einen Btrfs-Scrubbing-Statusbefehl auf einem fehlerfreien Dateisystem. Im Falle eines beschädigten Dateisystems würden Sie korrigierte Fehler in der Ausgabe sehen.

# btrfs scrub status /btrfs
scrub status for ba60ac96-1628-4656-b68b-c7327ff49179
	scrub started at Fri Mar 30 14:29:47 2018 and finished after 00:00:02
	total bytes scrubbed: 325.29MiB with 0 errors

Mit der Option „-d“ im obigen Befehl können Sie einen Status pro Geräteebene abrufen, wie im folgenden Beispiel gezeigt.

# btrfs scrub status /btrfs -d
scrub status for ba60ac96-1628-4656-b68b-c7327ff49179
scrub device /dev/sda (id 1) history
	scrub started at Fri Mar 30 14:29:47 2018 and finished after 00:00:02
	total bytes scrubbed: 325.29MiB with 0 errors

Abbrechen/Fortsetzen eines Btrfs-Scrubbing-Jobs

Sie können auch einen laufenden Scrub-Job abbrechen. Der Fortschritt wird in der Scrubbing-Fortschrittsdatei gespeichert und Sie können das Scrubbing später fortsetzen. So brechen Sie einen Scrub ab:

# btrfs scrub cancel /btrfs

So setzen Sie einen abgebrochenen oder unterbrochenen Scrub-Job fort:

# btrfs scrub resume /btrfs

Der Scrub-Resume-Befehl hat die gleichen Optionen wie der Scrub-Start-Befehl. Btrfs speichert die letzten zwei Minuten der Root-ID-Generierungen in 30-Sekunden-Intervallen. Btrfs rollt diese Generationen weiter, auch wenn es keine Änderungen im Dateisystem gibt.

Wenn ein Scrub Fehler nicht korrigiert, können Sie die folgende Einhängeoption verwenden, um zu einem bekanntermaßen guten B-Baum zurückzukehren, vorausgesetzt, dass der Rest des Baums aufgrund von Copy-on-Write verfügbar ist:

# mount –o recovery /dev/sda /btrfs


Cent OS
  1. So verwenden Sie den Tar-Befehl unter Linux

  2. So verwenden Sie den apt-Befehl zum Verwalten von Paketen in Linux

  3. So verwenden Sie Logrotate zum Verwalten von Protokolldateien

  4. So konvertieren Sie Ext-Dateisysteme in Btrfs

  5. „btrfs“-Befehlsbeispiele zum Erstellen und Verwalten des Btrfs-Dateisystems

So verwenden Sie einen Dateibefehl unter Linux

So verwenden Sie den SCP-Befehl unter Linux

So verwenden Sie den Bildschirmbefehl unter Linux, um Terminals zu verwalten

Wie verwende ich den Gzip-Befehl unter Linux?

So verwenden Sie den Befehl lsof unter Linux

So verwenden Sie den Linux-Befehl shred