Tengo una pregunta sobre errores irrecuperables en un sistema de archivos BTRFS. Específicamente, he ejecutado un BTRFS Scrub recientemente después de experimentar un problema con una de mis memorias RAM y parece haber descubierto 4 errores no corregibles. Esta es la salida:
scrub status for <UUID>
scrub started at Thu Dec 25 15:19:22 2014 and was aborted after 89882 seconds
total bytes scrubbed: 1.87TiB with 4 errors
error details: csum=4
corrected errors: 0, uncorrectable errors: 4, unverified errors: 0
Afortunadamente, tengo todo respaldado en una copia de seguridad terciaria, por lo que no estoy particularmente preocupado por perder los archivos (soy muy consciente de los problemas asociados con el estado experimental de BTRFS, tengo varias copias de seguridad para mantener mis datos seguros y decididos a continúe usándolo así que por favor no: "Solución; no use publicaciones BTRFS").
Sin embargo, me gustaría saber cómo determinar qué archivos están asociados con los errores que no se pueden corregir. Quiero encontrarlos, eliminarlos y reemplazarlos con sus copias de seguridad.
Si alguien tiene información sobre cómo hacer esto, me encantaría saber de usted.
Gracias de antemano.
fuente
sort | uniq
para deshacerse de los duplicados de esta manera:dmesg | grep "checksum error at" | cut -d\ -f24- | sed 's/.$//' | sort | uniq
Sí, la asignación de INODE o Número de bloque a un nombre de archivo puede ser difícil. Si está realmente interesado, puede intentar algo como esto y ver qué archivos copiar ... después de todo, si el archivo es malo, debería arrojar un error durante la copia. Anteriormente he usado este tipo de técnica.
fuente
dmesg
le proporcionará detalles sobre los archivos involucrados en los errores de suma de verificación no corregibles. Los mensajes suelen tener este aspecto: "BTRFS: error de suma de comprobación en lógica [...] en [...] dev, sector [...], raíz [...], inodo [...], desplazamiento [ ...], longitud [...], enlaces [...] (ruta: [...]) "; La última información es la ruta absoluta al archivo que está dañado.fuente
Vine aquí buscando el "error no corregible" de BTRFS también. El grep anterior no funcionó para mí; Tuve que usar en su lugar:
Observe cómo la ruta es relativa al inicio del subvolumen, sin indicación de en qué subvolumen se encuentra. Esto, afortunadamente, no fue un problema para mí.
fuente
somepath/somefile.txt
? Parece que lo está escribiendo como un comando separado, ¿o es el resultado del comando que escribió? Si se supone que todo es una línea de comando, no divida las líneas de comando para mostrarlas, solo colóquelo en la respuesta como una línea larga. ¿Pero, qué es esto? ¿Está proporcionando dos entradas asort
(una tubería y un archivo)? ¿O estásomepath/somefile.txt
destinado a ser un archivo de salida? (No es muy útil especificar archivos de salida, a menos que sean archivos intermedios que está utilizando de nuevo. La gente sabe cómo manejar los resultados; por ejemplo, por tuberías.)