13.3. Mecanismos de gestión de errores en XFS
Esta sección describe cómo XFS maneja varios tipos de errores en el sistema de archivos.
Desmontajes sin limpiar
La gestión de los diarios mantiene un registro transaccional de los cambios de metadatos que se producen en el sistema de archivos.
En caso de que el sistema se caiga, haya un fallo de alimentación o se desmonte de otra manera, XFS utiliza el diario (también llamado registro) para recuperar el sistema de archivos. El núcleo realiza la recuperación del diario al montar el sistema de archivos XFS.
Corrupción
En este contexto, corruption se refiere a errores en el sistema de archivos causados, por ejemplo:
- Fallos de hardware
- Errores en el firmware de almacenamiento, los controladores de dispositivos, la pila de software o el propio sistema de archivos
- Problemas que hacen que partes del sistema de archivos sean sobrescritas por algo ajeno al sistema de archivos
Cuando XFS detecta una corrupción en el sistema de archivos o en los metadatos del sistema de archivos, puede cerrar el sistema de archivos e informar del incidente en el registro del sistema. Tenga en cuenta que si la corrupción se produjo en el sistema de archivos que alberga el directorio /var
, estos registros no estarán disponibles después de un reinicio.
Ejemplo 13.1. Entrada en el registro del sistema informando de una corrupción de XFS
# dmesg --notime | tail -15 XFS (loop0): Mounting V5 Filesystem XFS (loop0): Metadata CRC error detected at xfs_agi_read_verify+0xcb/0xf0 [xfs], xfs_agi block 0x2 XFS (loop0): Unmount and run xfs_repair XFS (loop0): First 128 bytes of corrupted metadata buffer: 00000000027b3b56: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000005f9abc7a: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000005b0aef35: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000000da9d2ded: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000001e265b07: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000006a40df69: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000000b272907: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000000e484aac5: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ XFS (loop0): metadata I/O error in "xfs_trans_read_buf_map" at daddr 0x2 len 1 error 74 XFS (loop0): xfs_imap_lookup: xfs_ialloc_read_agi() returned error -117, agno 0 XFS (loop0): Failed to read root inode 0x80, error 11
Las utilidades del espacio de usuario suelen informar del mensaje Input/output error cuando intentan acceder a un sistema de archivos XFS dañado. El montaje de un sistema de archivos XFS con un registro dañado da como resultado un montaje fallido y el siguiente mensaje de error:
mount /mount-pointLa llamada al sistema mount(2) ha fallado: La estructura necesita ser limpiada.
Debe utilizar manualmente la utilidad xfs_repair
para reparar la corrupción.
Recursos adicionales
-
La página de manual
xfs_repair(8)
proporciona una lista detallada de las comprobaciones de corrupción de XFS.