GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come utilizzare il comando "btrfs scrub" per gestire lo scrubbing sui file system Btrfs

È possibile avviare un controllo dell'intero file system avviando un processo di pulizia del file system. Il processo di pulizia viene eseguito in background per impostazione predefinita ed esegue la scansione dell'intero file system per verificarne l'integrità. Tenta automaticamente di segnalare e riparare eventuali blocchi danneggiati che trova lungo il percorso. Invece di passare attraverso l'intera unità disco, il processo di pulizia si occupa solo dei dati effettivamente allocati. A seconda dello spazio su disco allocato, questo è molto più veloce dell'esecuzione di un'intera scansione della superficie del disco.

Lo scrubbing comporta la lettura di tutti i dati da tutti i dischi e la verifica dei checksum. Se qualche valore non è corretto, i dati possono essere corretti leggendo una buona copia del blocco da un altro drive. Il codice di pulizia esegue anche la scansione in lettura automatica. Si consiglia di ripulire i file system ad alto utilizzo una volta alla settimana e tutti gli altri file system una volta al mese.

Di seguito è riportato un elenco dei comandi scrub btrfs disponibili:

# 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

Utility btrfs scrub:esempi

Utilizzare il comando btrfs scrub start per avviare uno scrub su tutti i dispositivi di un file system o su un singolo dispositivo. La sintassi è la seguente:

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

Descrizione delle opzioni:

Opzione Descrizione
-B Non eseguire in background e stampare le statistiche al termine.
-d Stampa statistiche separate per ogni dispositivo del file system. Questa opzione viene utilizzata insieme all'opzione -B.
-q Esegui in modalità silenziosa, omettendo messaggi di errore e statistiche.
-r Esegui in modalità di sola lettura, senza correggere eventuali errori.
-R Modalità di stampa grezza. Stampa i dati completi anziché il riepilogo.
-c ioprio_class Imposta la classe di priorità IO (vedi pagina man di ionice).
-n ioprio_classdata Imposta i dati di classe di priorità IO (vedi la pagina man di ionice).

Avvio dello scrub btrfs

L'esempio seguente avvia uno scrub sul file system Btrfs montato su /btrfs.

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

Utilizzare il comando btrfs scrub status per ottenere lo stato di un processo di scrub. È disponibile un'opzione:

  • -d – Stampa statistiche separate per ogni dispositivo del file system.

Di seguito è riportato un esempio di comando btrfs scrub status su un filesystem sano. In caso di un filesystem danneggiato, vedresti errori corretti nell'output.

# 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

Con l'opzione "-d" nel comando precedente, puoi ottenere uno stato a livello di dispositivo come mostrato nell'esempio seguente.

# 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

Annullamento/ripresa di un processo di scrub btrfs

Puoi anche annullare un processo di pulizia in esecuzione. L'avanzamento viene salvato nel file di avanzamento dello scrub e puoi riprendere lo scrub in un secondo momento. Per annullare uno scrub:

# btrfs scrub cancel /btrfs

Per riprendere un lavoro di pulizia annullato o interrotto:

# btrfs scrub resume /btrfs

Il comando scrub resume ha le stesse opzioni del comando scrub start. Btrfs memorizza gli ultimi due minuti, a intervalli di 30 secondi, delle generazioni di ID radice. Btrfs continua a girare in queste generazioni, anche se non ci sono modifiche nel file system.

Se uno scrub non corregge gli errori, puoi utilizzare la seguente opzione di montaggio per tornare a un albero B noto, dato che il resto dell'albero è disponibile a causa del copy-on-write:

# mount –o recovery /dev/sda /btrfs


Cent OS
  1. Come utilizzare il comando Tar in Linux

  2. Come utilizzare il comando apt per gestire i pacchetti in Linux

  3. Come convertire file system ext in Btrfs

  4. Esempi di comandi "btrfs" per creare e gestire file system Btrfs

  5. Come utilizzo le righe di un file come argomenti di un comando?

Come utilizzare un comando file in Linux

Come utilizzare il comando SCP su Linux

Come utilizzare il comando dello schermo su Linux per gestire i terminali

Come utilizzare il comando Gzip in Linux?

Come usare il comando lsof in Linux

Come utilizzare il comando shred Linux