Tutoriel Linux

Fsck en Linux: Reparación de un sistema de archivos desmontado

Débutant6 min de lecture
À retenirLinux n'est pas réservé aux experts. Le bon point de départ : une distribution accessible, une sauvegarde propre et quelques commandes comprises.

Un servidor se reinicia en modo de emergencia, una partición se niega a montarse o el kernel informa errores de ext4. La tentación es iniciar inmediatamente fsck en el primer dispositivo encontrado. Esto es precisamente lo que debe evitarse: una reparación en el volumen incorrecto, o en un sistema de archivos que aún esté montado, puede empeorar el daño.

Es un lanzador que ejecuta la herramienta adecuada para el sistema de archivos. Antes de cualquier corrección, debe identificar la partición, verificar su tipo, confirmar que ya no está en uso y conservar una copia de seguridad utilizable. Siempre comienzo con una comprobación de no escritura. La reparación se realiza solo después.

Tux inspecciona y repara minuciosamente los bloques de un sistema de archivos Linux desmontado.
Fsck debe comprobar que el sistema de archivos esté desmontado e identificado antes de cualquier reparación.

Identifique la partición y su sistema de archivos.

No te fíes únicamente de un nombre como /dev/sdb1El orden de los discos puede cambiar después de reiniciar o agregar un dispositivo USB. Muestra el tipo de sistema de archivos, UUID, modelo, número de serie y puntos de montaje:

lsblk -o NOMBRE,TAMAÑO,TIPO DE FS,UUID,PUNTOS DE MONTAJE,MODELO,NÚMERO DE SERIE,TIPO
sudo blkid

la guía para lsblk en Linux detalla esta verificación. Si está trabajando con LVM, diríjase al volumen lógico que contiene el sistema de archivos, por ejemplo , no el volumen LVM físico ubicado debajo. El artículo dedicado a LVM y sus diferentes capas nos permite distinguirlos.

A continuación, compruebe cómo se utiliza la fuente:

findmnt --source /dev/nvme0n1p2
findmnt --target /mnt/data

Una salida indica que el volumen ha aumentado. Si no hay salida, no esté seguro: vuelva a leer las instrucciones. lsblk Y encontrarLuego verifique el UUID. El tutorial sobre el UUID del sistema de archivos evita confundir dos partituras con nombres similares.

Nunca repare un sistema de archivos montado.

El kernel puede modificar los metadatos mientras Intenta corregirlas. Las dos vistas del sistema de archivos se vuelven inconsistentes. Un montaje de solo lectura no garantiza una reparación improvisada: la herramienta debe utilizarse bajo las condiciones especificadas en su documentación.

Para un volumen de datos determinado, detenga los servicios que lo utilizan, cierre las terminales ubicadas en su árbol de directorios y, a continuación, desmóntelo:

sudo fuser -vm /mnt/data
sudo umount /mnt/data
findmnt --source /dev/nvme0n1p2

Si desmontar fusible O lsofLuego, cierre correctamente el servicio en cuestión.

Para la partición raíz, utilice un medio de instalación en vivo o un entorno de recuperación donde esta partición no esté montada. El simple hecho de cambiar al modo de usuario único o de emergencia no garantiza que la partición raíz esté desmontada. En un servidor remoto, asegúrese de que la consola KVM, IPMI o el acceso de emergencia del proveedor de alojamiento estén disponibles antes de reiniciar.

El siguiente comando muestra qué verificador fsck se lanzaría, sin ejecutar la comprobación:

sudo fsck -N /dev/nvme0n1p2

En un sistema ext2, ext3 o ext4 desmontado, ejecute un escaneo forzado y responda «no» a todas las modificaciones propuestas:


rc=$?
echo "Código e2fsck: $rc"

la opción -norte conserva el control de solo lectura. La opción -F Es necesario realizar un examen completo incluso si el sistema de archivos parece estar limpio. Esta verificación puede ser prolongada en un volumen grande. Si el disco informa errores de entrada/salida, tiempos de espera agotados o desconexiones, primero haga una copia de seguridad de los datos que aún sean legibles y luego revise el hardware. fsck Repara una estructura lógica, no un disco que falla físicamente.

Los mensajes del kernel pueden confirmar este escenario:

sudo dmesg -T | grep -Ei 'Error de E/S|tiempo de espera|reinicio|EXT4-fs|XFS|BTRFS'
sudo journalctl -k -b -p advertencia..alerta

la guía para Errores de dmesg y del kernel ayuda a restablecer el orden cronológico de estas alertas.

Reparar un volumen ext4 sin responder «sí» en todas partes.

Si la comprobación informa de inconsistencias, verifique su copia de seguridad, confirme el dispositivo de nuevo y mantenga el volumen desmontado. A continuación, inicie la reparación interactiva:

sudo e2fsck -f /dev/nvme0n1p2

Lea cada pregunta antes de enviarla. Evite -y Por defecto, esta opción acepta todas las reparaciones, incluso cuando la situación requiere realizar una copia de seguridad del volumen o examinar el hardware antes de continuar. En una partición grande, realizar una reparación automática sin más supone un mal equilibrio entre velocidad y control.

Cuando el comando finalice, capture inmediatamente su código de salida:

rc=$?
echo "Código e2fsck: $rc"

Lea el código de salida de fsck.

  • cero : no se detectaron errores;
  • uno : errores corregidos;
  • dos : errores corregidos, se requiere reiniciar;
  • : errores sin corregir;
  • ocho : error en el funcionamiento del probador;
  • dieciséis : error de uso o sintaxis;
  • treinta y dos : control cancelado;

Estos valores funcionan como bits y se pueden sumar. Un código cuatro requiere que el volumen de lectura/escritura no se aumente como si todo estuviera arreglado. Un código ocho Se solicita verificar el comando, el tipo de sistema de archivos, las herramientas instaladas y los mensajes mostrados.

fsck

sudo xfs_repair -n /dev/nvme0n1p2

La reparación se lleva a cabo entonces con Reparación de xfs, siempre desmontado. No usar -l Como primer intento: restablecer el registro puede provocar la pérdida de metadatos recientes.

Para Btrfs, el control prudente es explícitamente de solo lectura:

sudo btrfs check --readonly /dev/nvme0n1p2

no agregar --reparar sin una copia de seguridad y sin un procedimiento adaptado al problema observado. La propia documentación de Btrfs advierte contra su uso sin la guía de un experto. Siempre verifique tipofs con lsblk -f antes de elegir la herramienta.

Compruebe el volumen antes de volver a montarlo.

Tras reparar un disco ext4, ejecute una comprobación sin escritura. Si el resultado es correcto, vuelva a montar el volumen y, a continuación, compruebe el tipo, el espacio y los nuevos mensajes del kernel:

sudo e2fsck -f -n /dev/nvme0n1p2
sudo mount /mnt/data
hallazgo /mnt/datos
df -hT /mnt/data
sudo journalctl -k -b -p advertencia..alerta

Para una partición raíz controlada al inicio, compruebe también los rastros del inicio anterior:

diarioctl -b -1 | grep -Ei 'fsck|sistema de archivos|Error de E/S|EXT4-fs|XFS|BTRFS'
systemctl --failed

Allá página de manual de fsck describe el lanzador y sus códigos de salida. Para ext4, consulte e2fsckLos procedimientos específicos de XFS y a Btrfs debe seguir teniendo prioridad sobre un comando genérico encontrado al azar.

sudo apt update && sudo apt upgrade