reparar el sistema de archivos editando el archivo fstab

reparar el sistema de archivos editando el archivo fstab

¿Es posible ejecutar la reparación de xfs volviendo a editar el archivo fstab?

/dev/mapper/vg-linux_root /                       xfs     defaults        0 0
UUID=7de1dc5c-b605-4a6f-bdf1-f1e869f6ffb9 /boot   xfs     defaults        0 0
/dev/mapper/vg-linux_var /var                     xfs     defaults        0 0
/dev/mapper/vg-linux_swap swap                    swap    defaults        0 0

No estoy seguro, pero reemplazando el último número de 0 a 1, ¿es correcto?

Respuesta1

No, simplemente editar /etc/fstab no puede hacer que se ejecute xfs_repair.

Para otros tipos de sistemas de archivos, funcionaría. Pero XFS es especial aquí.

Cambiar el sexto campo de /etc/fstaba un valor distinto de cero en un sistema de archivos XFS hará que el sistema ejecute fsck.xfs, cuya página de manual dice:

NAME
       fsck.xfs - do nothing, successfully

[...]

       However,  the  system  administrator  can force fsck.xfs to run xfs_re‐
       pair(8) at boot time by creating a /forcefsck file or booting the  sys‐
       tem with "fsck.mode=force" on the kernel command line.

Por lo tanto, normalmente fsck.xfsno hará nada en absoluto.

Si realmente desea xfs_repairejecutar durante el arranque, hay dos condiciones que deben cumplirse:

a) El sexto campo /etc/fstabdebe ser distinto de cero para el sistema de archivos XFS en cuestión, por lo que fsck.xfsse ejecutará.

b) /forcefsckDebe existir un archivo en el sistema de archivos raíz (o quizás dentro de initramfs, si planea verificar el sistema de archivos raíz), o la línea de comando del kernel debe tener la fsck.mode=forceopción de inicio. Esto hará fsck.xfsque se ejecute xfs_repairen lugar de no hacer nada.

Entonces, ¿qué tiene de especial xfs_repair?

Tanto el sistema de archivos XFS como la xfs_repairherramienta asumirán que el disco subyacente está en buenas condiciones, o al menos es capaz de reemplazar de forma transparente los bloques defectuosos con bloques de repuesto integrados (como lo hacen todos los discos modernos). Si un disco moderno tiene bloques defectuosos persistentes visibles para el sistema operativo, generalmente significa que el mecanismo de bloque de repuesto incorporado ya se ha visto abrumado por la cantidad de bloques defectuosos y, de todos modos, el disco probablemente fallará completamente pronto.

La página de manual de xfs_repairdice:

   Disk Errors
       xfs_repair aborts on most disk I/O errors. Therefore, if you are trying
       to  repair  a  filesystem that was damaged due to a disk drive failure,
       steps should be taken to ensure that all blocks in the  filesystem  are
       readable and writable before attempting to use xfs_repair to repair the
       filesystem. A possible method is using dd(8) to copy the  data  onto  a
       good disk.

Por lo tanto, probablemente no debería configurarlo xfs_repairpara que se ejecute automáticamente en circunstancias normales.

Si un sistema de archivos XFS tiene errores, siempre debe evaluar primero la condición del disco subyacente: smartctl -a /dev/<disk device>podría ser útil, como podría ser usarlo ddpara leer todo el contenido de la partición/LV /dev/nully ver que el comando se puede completar sin errores.

Si el disco falla, primero debe copiar el contenido de la partición/LV a un disco nuevo sin errores (quizás usando ddo ddrescue), y solo entonces debe intentar ejecutar xfs_repairel sistema de archivos en el disco sin errores.

La ejecución xfs_repairautomática en el momento del arranque puede ser una solución adecuada si sabe que algo está causando errores a nivel del sistema de archivos incluso cuando sus discos están en buenas condiciones. Pero eso es sólo una solución alternativa, no una solución: debe descubrir qué está causando los errores del sistema de archivos y corregir la causa raíz. (¿Tal vez un error en el controlador del sistema de archivos, que requiere un paquete de kernel actualizado para solucionarlo?)

Respuesta2

Si los archivos /dev/sdatienen errores, entonces debe ejecutarlos fsck. Tenga en cuenta que en realidad no reparará el disco en sí, sino sólo los archivos. Si el disco realmente tiene errores y está fallando, entonces es mejor reemplazar el disco y restaurar los datos desde una copia de seguridad porque si empeora lo suficiente, es posible que se pierdan datos, especialmente si el disco muere por completo.

información relacionada