Btrfs

Cómo usar el exfoliante Btrfs?

Cómo usar el exfoliante Btrfs?
El sistema de archivos Btrfs es un sistema de archivos multidispositivo que tiene soporte integrado para RAID. En un sistema de archivos Btrfs multidispositivo o RAID, los bloques de datos / metadatos pueden almacenarse en uno o más dispositivos de almacenamiento. La herramienta de limpieza Btrfs leerá todos los bloques de datos / metadatos de todos los dispositivos de almacenamiento agregados a un sistema de archivos Btrfs o RAID y encontrará todos los bloques de datos / metadatos dañados. Una vez que se encuentran los bloques de datos / metadatos dañados, la herramienta de limpieza Btrfs reparará automáticamente esos bloques de datos / metadatos dañados si es posible.

En un sistema de archivos Btrfs de varios dispositivos o RAID Btrfs, según la configuración del sistema de archivos, puede haber varias copias de los bloques de datos / metadatos almacenados en diferentes ubicaciones de los dispositivos de almacenamiento agregados al sistema de archivos Btrfs. Cuando la herramienta de limpieza Btrfs encuentra un bloque de datos / metadatos corruptos, busca en todos los dispositivos de almacenamiento agregados al sistema de archivos Btrfs copias duplicadas de ese bloque de datos / metadatos. Una vez que se encuentra una copia duplicada de ese bloque de datos / metadatos, el bloque de datos / metadatos dañado se sobrescribe con el bloque de datos / metadatos correcto. Así es como la herramienta de limpieza Btrfs repara bloques de datos / metadatos dañados en un sistema de archivos Btrfs multidispositivo o RAID Btrfs.

En este artículo, le mostraré cómo utilizar la herramienta de limpieza Btrfs para encontrar y reparar bloques de datos / metadatos dañados en un sistema de archivos Btrfs o RAID Btrfs de varios dispositivos. Entonces empecemos.

Abreviaturas

REDADA - Matriz redundante de discos económicos / independientes
GB - Gigabyte

Prerrequisitos

Para seguir este artículo, debe tener un sistema de archivos Btrfs multidispositivo que funcione o un RAID Btrfs.

He creado un RAID Btrfs en RAID-1 configuración (montado en el /datos directorio) usando 4 dispositivos de almacenamiento sdb, sdc, sdd, y sde, como puede ver en la captura de pantalla a continuación. Usaré este RAID de Btrfs para la demostración de depuración de Btrfs en este artículo.

$ sudo btrfs uso / datos del sistema de archivos

Si necesita ayuda para instalar el sistema de archivos Btrfs en Ubuntu, consulte mi artículo Instalar y usar Btrfs en Ubuntu 20.04 LTS.

Si necesita ayuda para instalar el sistema de archivos Btrfs en Fedora, consulte mi artículo Instalar y usar Btrfs en Fedora 33.

Si necesita ayuda para crear un RAID Btrfs, consulte mi artículo Cómo configurar Btrfs RAID.

Generación de archivos ficticios en el sistema de archivos Btrfs

Para mostrarle cómo funciona la herramienta de limpieza Btrfs, necesitamos generar algunos archivos aleatorios para llenar el sistema de archivos Btrfs. Creemos un script de shell que haga precisamente eso.

Crear un nuevo script de shell genfiles.sh en el / usr / local / bin / directorio de la siguiente manera:

$ sudo nano / usr / local / bin / genfiles.sh

Escriba las siguientes líneas de códigos en el genfiles.sh script de shell.

#!/ bin / bash
si bien es cierto
hacer
NOMBRE DE ARCHIVO = $ (uuidgen)
echo "[Creando] $ FILENAME"
dd if = / dev / random of = $ FILENAME bs = 1M count = 256 status = progress
echo "[Creado] $ FILENAME"
hecho

Una vez que haya terminado, presione + X seguido por Y y para salvar el genfiles.sh script de shell.

La genfiles.sh el script de shell ejecuta un infinito tiempo círculo.

si bien es cierto
hacer
# otros códigos
hecho

La siguiente línea genera un UUID usando el uuidgen comando y almacena el UUID en el NOMBRE DEL ARCHIVO variable.

La siguiente línea imprime un mensaje en la consola antes del archivo NOMBRE DEL ARCHIVO es generado.

La siguiente línea genera un nuevo archivo aleatorio NOMBRE DEL ARCHIVO utilizando la dd mando. El archivo será 256 MB en tamaño.

La siguiente línea imprime un mensaje en la consola después del archivo NOMBRE DEL ARCHIVO es generado.

Agregue permiso de ejecución al genfiles.sh script de shell de la siguiente manera:

s

La genfiles.sh El script de shell ahora debería ser accesible como cualquier otro comando.

$ que genfiles.sh

Generemos algunos archivos aleatorios en el RAID Btrfs montado en el /datos directorio.

Navega al /datos directorio donde se monta el Btrfs RAID de la siguiente manera:

$ cd / datos

Como puede ver, no hay archivos disponibles en mi RAID Btrfs en este momento.

$ ls -lh

Para generar algunos archivos aleatorios en el directorio de trabajo actual (/datos directorio en este caso), ejecute el genfiles.sh script de shell de la siguiente manera:

$ sudo genfiles.sh

La genfiles.sh El script de shell debería comenzar a generar archivos aleatorios en el /datos directorio.

La genfiles.sh el script está generando archivos aleatorios. Deje que la secuencia de comandos se ejecute durante un par de minutos, para que ocupe aproximadamente 2-3 GB de espacio en disco del RAID Btrfs.

Cuando quieras detener el genfiles.sh script de shell, presione + C.

Como puede ver, algunos archivos aleatorios se generan en el RAID Btrfs.

$ ls -lh

He generado alrededor de 13 GB de archivos aleatorios en el RAID Btrfs montado en el /datos directorio, como puede ver en la captura de pantalla a continuación.

$ sudo du -sh / data

Trabajar con la herramienta de limpieza Btrfs

En esta sección, le mostraré cómo usar la herramienta de limpieza Btrfs. Empecemos.

Puede iniciar el proceso de depuración en el sistema de archivos Btrfs montado en el /datos directorio con el siguiente comando:

$ sudo btrfs scrub start / data

Se debe iniciar un proceso de depuración Btrfs en el sistema de archivos Btrfs montado en el /datos directorio.

Puede ver el estado del proceso de depuración Btrfs que se ejecuta en el sistema de archivos Btrfs montado en el /datos directorio de la siguiente manera:

$ sudo btrfs scrub status / data

Como puede ver, el proceso de depuración de Btrfs todavía está corriendo.

La limpieza de un sistema de archivos Btrfs o RAID Btrfs que tiene muchos archivos llevará mucho tiempo para completarse.

Una vez que se completa el proceso de limpieza de Btrfs, el estado debe cambiarse a terminado, como puede ver en la captura de pantalla a continuación.

$ sudo btrfs scrub status / data

También puede ver el estado de depuración de Btrfs para cada uno de los dispositivos de almacenamiento agregados al sistema de archivos Btrfs (montado en el /datos directorio) por separado de la siguiente manera:

$ sudo btrfs scrub status -d / data

Les he dicho que el proceso de depuración de Btrfs tarda mucho en completarse en un gran sistema de archivos Btrfs. Una gran ventaja de la herramienta de limpieza Btrfs es que su proceso se puede pausar y reanudar en cualquier momento.

Veamos cómo pausar y reanudar un proceso de limpieza Btrfs.

Primero, inicie un nuevo proceso de depuración Btrfs en el sistema de archivos Btrfs montado en el directorio / data de la siguiente manera:

$ sudo btrfs scrub start / data

Para cancelar o pausar el proceso de depuración Btrfs que se está ejecutando actualmente en el sistema de archivos Btrfs montado en el /datos directorio, ejecute el siguiente comando:

$ sudo btrfs scrub cancel / data

El proceso de limpieza de Btrfs en ejecución debe cancelarse o pausarse.

Como puede ver, el estado de limpieza de Btrfs es abortado. Entonces, el proceso de limpieza Btrfs ya no se está ejecutando.

$ sudo btrfs scrub status / data

Para reanudar el proceso de limpieza de Btrfs que canceló o pausó, ejecute el siguiente comando:

$ sudo btrfs scrub resume / data

Se debe reanudar el proceso de depuración de Btrfs.

Como puede ver, el estado de limpieza de Btrfs ahora es corriendo. Entonces, se reanuda el proceso de depuración de Btrfs.

$ sudo btrfs scrub status / data

Una vez finalizado el proceso de depuración de Btrfs, el estado de depuración de Btrfs debe cambiarse a terminado.

$ sudo btrfs scrub status / data

Conclusión

En este artículo, le he mostrado cómo trabajar con la herramienta de limpieza Btrfs para encontrar y reparar bloques de datos / metadatos dañados de un sistema de archivos de dispositivos múltiples Btrfs o RAID. También le he mostrado cómo cancelar / pausar y reanudar un proceso de limpieza Btrfs una vez que ha comenzado.

Cómo usar Xdotool para estimular los clics del mouse y las pulsaciones de teclas en Linux
Xdotool es una herramienta de línea de comandos gratuita y de código abierto para simular clics del mouse y pulsaciones de teclas. Este artículo cubri...
Los 5 mejores productos ergonómicos de mouse de computadora para Linux
¿El uso prolongado de la computadora causa dolor en la muñeca o los dedos?? ¿Sufre de rigidez en las articulaciones y constantemente tiene que dar la ...
Cómo cambiar la configuración del mouse y el panel táctil con Xinput en Linux
La mayoría de las distribuciones de Linux se envían con la biblioteca "libinput" de forma predeterminada para manejar eventos de entrada en un sistema...