Ext4 - ¿Cómo habilitar cordura adicional, sumas de verificación, validaciones, pruebas de cualquier tipo?

8

Estoy ejecutando Ext4 en un disco duro, y para ser sincero, realmente no confío en el disco porque es viejo y tiene algunos bloqueos defectuosos. Tengo datos no esenciales en el disco, así que si murió mañana, entonces no es gran cosa.

Sin embargo, me gustaría saber si / cuándo comienza a morir, y volver a montar solo lectura. ¿Hay alguna opción que permita la verificación de archivos adicionales en un Ext4 fs? (No me importa si hace que el sistema de archivos sea más lento).

Rucent88
fuente
1
El disco duro tiene comprobaciones internas de CRC, por lo que incluso si falla y / o tiene bloques pendientes, debería detectar esos errores e informarlos al sistema operativo. Si los archivos se dañan debido a bloques de disco duro dañados, verá estos daños como errores de E / S sin ninguna opción especial.
Martin von Wittich
@MartinvonWittich La unidad podría, o no, pero si los datos se corrompen mientras se transmiten entre la unidad y el controlador de disco, las comprobaciones internas de CRC de la unidad no le comprarán nada ... Entonces sí, CRC en el nivel FS es una buena característica para tener.
Mathieu

Respuestas:

5

Sin embargo, me gustaría saber si / cuándo comienza a morir, y volver a montar solo lectura.

El montaje de solo lectura no le ahorrará nada si el problema son los bloques defectuosos: mire el primer párrafo aquí y observe los problemas asociados con los errores de lectura .

No hay forma de detectar bloques defectuosos sin leer físicamente en el disco, por lo tanto, como buscar una trampa de mouse en una habitación oscura, no hay formas de evitar los posibles problemas al verificar. Si cree que el disco falla, periódicamente umounty ejecute e2fsck -cen todas las particiones; Si este es su sistema de archivos raíz y necesita usar, por ejemplo, un liveCD para hacerlo, hágalo. Según la página del manual;

-c Esta opción hace que e2fsck use el programa badblocks (8) para hacer un escaneo de solo lectura del dispositivo para encontrar cualquier bloque defectuoso. Si se encuentran bloques defectuosos, se agregan al inodo del bloque defectuoso para evitar que se asignen a un archivo o directorio.

Si los bloques contenían datos, una versión recuperada puede terminar en el /lost+founddirectorio en algún momento, no estoy seguro.

Tenga en cuenta que esto puede llevar algo de tiempo. Si hay bloques defectuosos, el escaneo puede desencadenar problemas de E / S que bloquean todo el sistema durante horas, así que hágalo cuando se sienta cómodo alejándose por un tiempo.

encerrada dorada
fuente
1
"trampa de ratón en una habitación oscura". Buena frase
Faheem Mitha
3

Además, en términos generales, algunas utilidades pueden monitorear diferentes aspectos de la situación y le permiten tomar las medidas adecuadas.

Por ejemplo, la smartctlherramienta del paquete smartmontools le dará acceso al estado SMART incorporado para algunas unidades.

También puede aumentar la frecuencia de las comprobaciones del sistema de archivos en un objetivo específico utilizando el tune2fscomando. Por ejemplo, parece que tune2fs -c 1 targetse asegurará de que la unidad se verifique casi siempre antes de que se monte en el arranque.


fuente
1
smartctlTambién puede ejecutar el mecanismo interno de autocomprobación del disco, por ejemplo con smartctl -t long /dev/sdX.
Martin von Wittich
1
@MartinvonWittich El problema con SMART es que necesita saber qué es lo que está buscando backblaze y no necesariamente le dicen mucho google : "Nuestro análisis identifica varios parámetros de la instalación de autocontrol del disco (SMART) que se correlacionan altamente con fallas. A pesar de esta alta correlación, llegamos a la conclusión de que es poco probable que los modelos basados ​​en parámetros SMART por sí solos sean útiles para predecir fallas de unidades individuales ".
Mathieu
@Mathieu, sí, esas cosas de predicción INTELIGENTE son IMO bastante inútiles. Pero las autocomprobaciones son, en mi experiencia, 100% precisas. Desafortunadamente, la mayoría de las personas no saben que existen y por eso rara vez se usan.
Martin von Wittich
2

Buen punto de illuminÉ. Es bueno tener el smartd ejecutándose en backgroud que verifica periódicamente las fallas.

Además de esto, puedes usar

e2fsck -fvy -c -c -C0 /dev/sda1

-f    Force checking even if the file system seems clean.
-v    Verbose mode.
-y    Assume an answer of `yes' to all questions
-C0   write  completion  information to stdout
-c -c If this option is specified twice, then the 
      bad block scan  will  be  done  using  a  non-destructive
      read-write test.

Esta prueba de lectura-escritura no destructiva ( -c -c), le permite saber si hay fallas de lectura.
Sin embargo, lleva mucho tiempo.

Por lo tanto, debería ser una solución de tránsito antes de comprar una nueva unidad.


fuente
Excepto que no se puede hacer mientras el FS está montado y escaneo de bloques defectuosos es lenta como la melaza así que no es realmente una opción viable ....
Mathieu