Utilidad de copia de archivos como rsync con manejo de errores como ddrescue, para recuperación de datos de un disco duro con sectores defectuosos o falla de hardware

Utilidad de copia de archivos como rsync con manejo de errores como ddrescue, para recuperación de datos de un disco duro con sectores defectuosos o falla de hardware

Tengo un disco duro con bloques o sectores defectuosos que no se pueden leer debido a posibles problemas mecánicos, como un cabezal de disco defectuoso, un motor defectuoso o algún otro problema que hace que el disco duro lea datos terriblemente lento y con mucha velocidad. de errores de lectura. Veo un promedio de 50 KB/s, con algunas lecturas cayendo por debajo de 10 KB/s, y con frecuencia se queda atascado en un archivo o sector, generalmente durante bastante tiempo, de 2 a 10 minutos o más (cuando usando rsync, antes de que expire el tiempo de espera).

La velocidad parece variar enormemente y se atasca mucho en los archivos, y cuando finalmente se "despega", sólo parece durar un breve período antes de volver a atascarse. La unidad también es muy silenciosa, con sólo un sonido ocasional de copia de archivos (generalmente cuando se atasca o se despega por un breve tiempo, antes de volver a atascarse). Por lo tanto, no hay ninguno de esos sonidos malignos que normalmente se asocian con la muerte del disco duro. Alguien sugirió que los problemas parecían ser causados ​​por un cabezal de disco desalineado, que requiere muchas relecturas antes de que finalmente lea los datos con éxito. Suena plausible, pero estoy divagando...

De todos modos, el problema con rsync es que parece no tener un soporte decente para el manejo de errores. Obviamente, no estaba destinado a recuperar datos de discos duros defectuosos, pero sí todas las utilidades denominadas de "recuperación de datos" que existen.sondestinados a tal uso generalmente se centran en la recuperación de archivos eliminados o particiones estropeadas, en lugar de copiar archivos de discos duros moribundos. Obviamente, la recuperación de archivos eliminados no es lo que necesito, así que tal vez puedas entender mi decepción por no poder encontrar todavía lo que busco.

Naturalmente, aquí es donde probablemente dirías "¡Deberías usar ddrescue!" Bueno, eso está muy bien, pero ya tengo una copia de seguridad de la mayoría de los datos, así que solo quiero recuperar ciertos archivos. No me preocupa intentar recuperar una partición completa bloque por bloque como lo hace ddrescue. Solo me interesa rescatar archivos y directorios específicos.

Idealmente, lo que me gustaría es algún tipo de cruce entre rsync y ddrescue:algo que me permite especificar el origen y el destino como directorios de archivos normales como rsync (en lugar de dos particiones completas como requiere ddrescue), con una forma de omitir archivos con errores en una ejecución inicial, y luego me permite intentar recuperar esos archivos con errores en una ejecución posterior (con un comando ligeramente modificado, por supuesto), tal vez incluso ofreciendo una opción para especificar el número de reintentos... tal como funciona ddrescue con bloques, solo que quiero una utilidad que funcione con archivos específicos/ directorios como lo hace rsync.

Entonces, ¿estoy soñando despierto o existe algo que pueda hacer esto? ¿O tal vez incluso una forma de hacer que rsync o ddrescue funcionen de esa manera? Estoy realmente abierto a cualquier solución que pueda funcionar, siempre y cuando me permitan elegir qué archivos quiero "rescatar" y pueda omitir archivos con errores en la ejecución inicial e intentar/reintentar esos errores nuevamente más tarde.

Hasta ahora he probado rsync con las siguientes opciones, pero a menudo se queda atascado en un archivo durante más tiempo que el tiempo de espera, e idealmente me gustaría pasar al siguiente archivo y volver más tarde a los archivos que obtiene. pegado. Aunque no creo que eso sea posible. De todos modos, esto es lo que he estado usando hasta ahora:

rsync -avP --stats --block-size=512 --timeout=600 /path/to/source/* /path/to/destination/

Respuesta1

Tengo una Hitachi de 3 TB que lee terriblemente lento, ddrescue funcionará a nivel de archivo. Pero no en directorios. Sin embargo, no pude hacer funcionar las opciones --timeout o --min-read-rate de ddrescue.

Querrá hacer esto en un script para recuperar un archivo a la vez.

cat listoffiles | while read file
pipe while> do
pipe while> ls -l "$file"
pipe while> ddrescue -n -e1  "$file" /cc/RecoveredFiles/"$file" /cc/RecoveredFiles/"$file".llog
pipe while> date
done | tee -a  /cc/RecoveredFiles/ddrescue.log

Respuesta2

Quizás rsync haya cambiado en los años transcurridos desde que se hizo esta pregunta.

Mi experiencia fue que rsyncactualmente hace un gran trabajo copiando cosas de un disco duro moribundo, con

rsync -a <src> <dest>

Avanzaría rápidamente si encontrara errores y, cuando se volviera a ejecutar, volvería a probar esos archivos.

rsync --versioninformes rsync version 2.6.9 protocol version 29

Respecto a las otras respuestas:

Las respuestas de 2011 parecen promover herramientas que son solo equivalentes comerciales de ddrescue, sin indicación de que admitan archivos. Sospechoso. La respuesta de 2013 es interesante.

Respuesta3

Gran pregunta, me encanta el nivel de detalle. Para una utilidad que funcione bien en este escenario, recomendaría probar Filescavenger desdeQuetek. Permitirá relecturas excesivas en el recuento de más de 100, pero lo más importante es que tiene una función de imágenes de disco que le permitirá volcar todo el contenido en una imagen sin perder tiempo tratando de evaluar los archivos, luego cargar la imagen y escanearla. para archivos. La utilidad cuesta $50 para usuarios domésticos, pero puedes descargarla y probarla hasta el punto de ver qué se puede recuperar de la imagen antes de gastar dinero.

Si es un uso profesional, le costará bastante dinero, pero obtendrá características importantes que incluyen soporte para matrices raid lógicas y de hardware.

Si esto también falla, es posible que haya superado el punto de las herramientas de recuperación de software. Si es así y puede justificar el costo de la recuperación en el laboratorio, hágame saber en qué país, estado y ciudad se encuentra. Puedo recomendarle uno de nuestros laboratorios o los de la competencia cerca de usted.

cris

Respuesta4

QuieresCopiadora progresiva. Está dirigido a unidades completas, pero como toma una ruta de archivo como parámetro, también debería funcionar para archivos individuales. No creo que funcione para directorios; habría que especificar cada archivo.

información relacionada