10 votos

cp falla al copiar con los errores "cp: error al leer 'archivo': Input/output error" y "cp: failed to extend 'file': Error de entrada/salida

Soy usuario de Oracle Virtualbox en Ubuntu. Y solía copiar los archivos vdi como una especie de copia de seguridad. Anteriormente hice esto (copiar el archivo vdi y luego copiarlo de nuevo) muchas veces sin ningún problema.

Pero hoy he experimentado este error

VirtualBox VMs/win_7$ cp ../../Bkps/win_7.vdi .
cp: error reading ‘../../Bkps/win_7.vdi’: Input/output error
cp: failed to extend ‘./win_7.vdi’: Input/output error

He buscado un poco en Google pero de los consejos sobre problemas similares no he entendido nada por desgracia. ¿Alguien podría sugerir cómo resolver esto, por favor?

La salida del dmesg es, (y no entiendo nada de ella)

[ 2347.982876] ata1.00: exception Emask 0x0 SAct 0x1900406f SErr 0x0 action 0x0
[ 2347.982887] ata1.00: irq_stat 0x40000008
[ 2347.982895] ata1.00: failed command: READ FPDMA QUEUED
[ 2347.982908] ata1.00: cmd 60/08:70:d0:da:f4/00:00:2e:00:00/40 tag 14 ncq 4096 in
[ 2347.982908]          res 41/40:08:d0:da:f4/00:00:2e:00:00/00 Emask 0x409 (media error) <F>
[ 2347.982915] ata1.00: status: { DRDY ERR }
[ 2347.982919] ata1.00: error: { UNC }
[ 2348.395657] ata1.00: configured for UDMA/133
[ 2348.395727] sd 0:0:0:0: [sda] Unhandled sense code
[ 2348.395733] sd 0:0:0:0: [sda]  
[ 2348.395737] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 2348.395741] sd 0:0:0:0: [sda]  
[ 2348.395745] Sense Key : Medium Error [current] [descriptor]
[ 2348.395752] Descriptor sense data with sense descriptors (in hex):
[ 2348.395764]         72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 
[ 2348.395770]         2e f4 da d0 
[ 2348.395772] sd 0:0:0:0: [sda]  
[ 2348.395774] Add. Sense: Unrecovered read error - auto reallocate failed
[ 2348.395775] sd 0:0:0:0: [sda] CDB: 
[ 2348.395776] Read(10): 28 00 2e f4 da d0 00 00 08 00
[ 2348.395781] end_request: I/O error, dev sda, sector 787798736
[ 2348.395792] ecryptfs_decrypt_page: Error attempting to read lower page; rc = [-5]
[ 2348.395795] ata1: EH complete
[ 2348.395797] ecryptfs_readpage: Error decrypting page; rc = [-5]
[ 2351.264987] ata1.00: exception Emask 0x0 SAct 0x7f80400 SErr 0x0 action 0x0
[ 2351.264998] ata1.00: irq_stat 0x40000008
[ 2351.265005] ata1.00: failed command: READ FPDMA QUEUED
[ 2351.265019] ata1.00: cmd 60/08:50:d0:da:f4/00:00:2e:00:00/40 tag 10 ncq 4096 in
[ 2351.265019]          res 41/40:08:d0:da:f4/00:00:2e:00:00/00 Emask 0x409 (media error) <F>
[ 2351.265025] ata1.00: status: { DRDY ERR }
[ 2351.265029] ata1.00: error: { UNC }
[ 2351.403371] ata1.00: configured for UDMA/133
[ 2351.403425] sd 0:0:0:0: [sda] Unhandled sense code
[ 2351.403426] sd 0:0:0:0: [sda]  
[ 2351.403428] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 2351.403429] sd 0:0:0:0: [sda]  
[ 2351.403430] Sense Key : Medium Error [current] [descriptor]
[ 2351.403433] Descriptor sense data with sense descriptors (in hex):
[ 2351.403434]         72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 
[ 2351.403439]         2e f4 da d0 
[ 2351.403442] sd 0:0:0:0: [sda]  
[ 2351.403444] Add. Sense: Unrecovered read error - auto reallocate failed
[ 2351.403445] sd 0:0:0:0: [sda] CDB: 
[ 2351.403446] Read(10): 28 00 2e f4 da d0 00 00 08 00
[ 2351.403451] end_request: I/O error, dev sda, sector 787798736
[ 2351.403463] ecryptfs_decrypt_page: Error attempting to read lower page; rc = [-5]
[ 2351.403466] ecryptfs_readpage: Error decrypting page; rc = [-5]
[ 2351.403470] ata1: EH complete

Cualquier ayuda es muy apreciada, gracias de antemano

7voto

jch Puntos 276

Si no se trata de un "disco" dentro de un virtualbox, sino del disco físico real donde se almacenan las imágenes vm, eso tiene muy mala pinta.

Hubo errores de lectura, en /dev/sda.
Hay un automático marcando un bloque de disco como bloque malo para siempre, y utilizar uno diferente en su lugar.
Para que esto funcione, el disco duro tiene que leer los datos una sola vez más tal vez intentando un par de cientos de lecturas.
Pero el disco se rindió en esto:

"Añadir. Sense: Error de lectura no recuperado - falla la reasignación automática"

Hay errores muy graves en el disco, pero aún no está claro si se encuentran en un solo lugar o están repartidos, y si aumentan con el tiempo.

El disco duro puede fallar muy pronto,
como "justo ahora" .
O la semana que viene, o no.

Si lo hace bien en un e2fsck prueba, todavía no se puede utilizar para nada importante.

Tan pronto como e2fsck confirma que hay errores medianos, lo mejor es sustituirlo.

De lo contrario, haga copias de seguridad lo antes posible,
boot un CD en vivo o así (o encontrar una manera de desmontar/ no montar /home ),
y comprobar si hay bloques defectuosos, como por ejemplo

sudo e2fsck -c -v /dev/sdXN

Hay que tener en cuenta que en un mecánico disco duro, la comprobación de los bloques defectuosos puede llevar mucho tiempo entre horas y tal vez un día o dos. Esto se debe, en parte, a que el programa tiene que comprobar cada bloque de disco por separado, y ocuparse de los problemas también por separado. Pero también, si el disco está dando errores al leer, hay muchos reintentos en múltiples niveles antes de e2fsck incluso sabe que hay un problema. Para cada bloque de disco.

Puede que lo correcto sea simplemente correr e2fsck en modo de reparación automática y dejar el ordenador solo durante un tiempo:

sudo e2fsck -p -c -v /dev/sdXN

Ver ubuntuforums: Congelación aleatoria y "Error de lectura no recuperado" en /var/log/messages para más detalles.

7voto

jwallace Puntos 71

A mí me dio este error al intentar copiar imágenes de disco que sumaban algo así como 128GB. cp estaba tratando de cargar todo en la memoria con el fin de reescribirlo de nuevo y que, obviamente, no va a funcionar, por lo que tiene que ser hecho en trozos. La mejor manera que he encontrado para trocear el archivo es forzarlo a través de ssh.

scp user@localhost:/path/to/source /path/to/dest

Tienes que usar user@localhost ; al omitirlo se volverá a cp -como el comportamiento.

2voto

Adam Puntos 13

Los sectores de su disco duro se corrompieron. DRDY ERR - Error de comprobación de dispositivo listo. UNC - No corregible.

Debido a varias razones, como el cierre abrupto durante una escritura extensa, La alta temperatura, las operaciones de lectura y escritura realizadas y la calidad del disco duro juegan un papel importante en este caso.

Una vez que un sector se corrompe y si el kernel intenta acceder a esos sectores entonces obtendrá este error.

Usted puede utilizar seatools, para recuperarse de este error temporalmente. Pero no será para arreglar este problema para siempre, Puede ocurrir de nuevo algunas veces más tarde.

Si tiene suerte, no volverá a ocurrir durante varios días.

Es mejor hacer una copia de seguridad de los datos en un nuevo disco duro y sustituir el disco duro.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: