GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo usar el comando "btrfs scrub" para administrar la limpieza en los sistemas de archivos Btrfs

Puede iniciar una verificación de todo el sistema de archivos activando un trabajo de limpieza del sistema de archivos. El trabajo de limpieza se ejecuta en segundo plano de forma predeterminada y analiza la integridad del sistema de archivos completo. Automáticamente intenta informar y reparar cualquier bloque defectuoso que encuentre en el camino. En lugar de pasar por toda la unidad de disco, el trabajo de limpieza trata solo con los datos que realmente están asignados. Según el espacio de disco asignado, esto es mucho más rápido que realizar un análisis de superficie completo del disco.

La limpieza implica leer todos los datos de todos los discos y verificar las sumas de verificación. Si algún valor no es correcto, los datos se pueden corregir leyendo una buena copia del bloque de otra unidad. El código de depuración también escanea al leer automáticamente. Se recomienda limpiar los sistemas de archivos de alto uso una vez a la semana y todos los demás sistemas de archivos una vez al mes.

La siguiente es una lista de los comandos de limpieza btrfs disponibles:

# 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

Utilidad btrfs scrub:Ejemplos

Utilice el comando de inicio de limpieza btrfs para iniciar una limpieza en todos los dispositivos de un sistema de archivos o en un solo dispositivo. La sintaxis es la siguiente:

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

Descripción de opciones:

Opción Descripción
-B No ejecute en segundo plano e imprima estadísticas cuando termine.
-d Imprime estadísticas separadas para cada dispositivo del sistema de archivos. Esta opción se usa junto con la opción -B.
-q Ejecutar en modo silencioso, omitiendo mensajes de error y estadísticas.
-r Ejecutar en modo de solo lectura, sin corregir ningún error.
-R Modo de impresión sin formato. Imprimir datos completos en lugar de resumen.
-c clase_ioprio Establecer la clase de prioridad de E/S (consulte la página del manual de ionice).
-n ioprio_classdata Establecer datos de clase de prioridad de E/S (consulte la página del manual de ionice).

Iniciando limpieza btrfs

El siguiente ejemplo inicia una limpieza en el sistema de archivos Btrfs que está montado en /btrfs.

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

Utilice el comando de estado de limpieza btrfs para obtener el estado de un trabajo de limpieza. Hay una opción disponible:

  • -d – Imprimir estadísticas separadas para cada dispositivo del sistema de archivos.

A continuación se muestra un ejemplo de comando de estado de limpieza btrfs en un sistema de archivos saludable. En el caso de un sistema de archivos dañado, verá los errores corregidos en la salida.

# 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 la opción "-d" en el comando anterior, puede obtener un estado de nivel por dispositivo como se muestra en el siguiente ejemplo.

# 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

Cancelar/reanudar un trabajo de limpieza btrfs

También puede cancelar un trabajo de limpieza en ejecución. El progreso se guarda en el archivo de progreso de limpieza y puede reanudar la limpieza más tarde. Para cancelar una limpieza:

# btrfs scrub cancel /btrfs

Para reanudar un trabajo de limpieza cancelado o interrumpido:

# btrfs scrub resume /btrfs

El comando de reanudación de limpieza tiene las mismas opciones que el comando de inicio de limpieza. Btrfs almacena los últimos dos minutos, a intervalos de 30 segundos, de las generaciones de ID de raíz. Btrfs continúa rodando estas generaciones, incluso si no hay cambios en el sistema de archivos.

Si una limpieza no corrige los errores, puede usar la siguiente opción de montaje para retroceder a un árbol B bueno conocido, dado que el resto del árbol está disponible debido a la copia en escritura:

# mount –o recovery /dev/sda /btrfs


Cent OS
  1. Cómo usar el comando Tar en Linux

  2. Cómo usar el comando apt para administrar paquetes en Linux

  3. Cómo usar Logrotate para administrar archivos de registro

  4. Cómo convertir sistemas de archivos Ext a Btrfs

  5. Ejemplos de comandos "btrfs" para crear y administrar el sistema de archivos Btrfs

Cómo usar un comando de archivo en Linux

Cómo usar el comando SCP en Linux

Cómo usar el comando de pantalla en Linux para administrar terminales

¿Cómo usar el comando Gzip en Linux?

Cómo usar el comando lsof en Linux

Cómo usar el comando shred de Linux