O cp falha ao copiar com os erros “cp: erro ao ler 'arquivo': erro de entrada / saída” e 'cp: falha ao estender' arquivo ': erro de entrada / saída

10

Eu sou um usuário do Oracle Virtualbox no Ubuntu. E eu costumava copiar arquivos vdi como uma espécie de backup. Anteriormente, eu fazia isso (copiando o arquivo vdi e depois copiando-o de volta) muitas vezes sem nenhum problema.

Mas hoje eu experimentei esse erro

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

Pesquisei um pouco sobre isso, mas com os conselhos sobre problemas semelhantes, infelizmente não subestimei nada. Alguém poderia sugerir como resolver isso, por favor?

A saída do dmesgé, (e eu não entendo nada disso)

[ 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

Qualquer ajuda é muito apreciada, obrigado antecipadamente

user907860
fonte
Talvez o disco em que o arquivo vdi esteja, se estiver cheio? Tentedf -h
Volker Siegel
Ah, espere - você está fazendo tudo isso dentro da caixa virtual ou fora?
Volker Siegel
@VolkerSiegel Eu faço isso fora, no meu sistema host. A partição, onde a cópia está armazenada e onde tento fazer uma cópia, tem 280 GB disponíveis, portanto é mais do que suficiente, pois eu disse que já fiz essa operação várias vezes. Suponho que isso possa ser um erro do HDD
user907860
Qual é o sistema de arquivos nessa partição do / dev / sda? ( mount | grep /dev/sda)
Volker Siegel
@VolkerSiegel a saída é/dev/sda5 on /home type ext4 (rw)
user907860

Respostas:

7

Se este não é um "disco" dentro de uma caixa virtual, mas o disco físico real em que as imagens vm estão armazenadas, isso parece muito ruim.

Ocorreram erros de leitura em / dev / sda.
Há um manuseio automático marcando um bloco de disco como ruim para sempre e, em vez disso, use um diferente.
Para que isso funcione, o disco rígido precisa ler os dados mais uma vez , talvez tentando algumas centenas de leituras.
Mas o disco desistiu disso:

"Add. Sense: Erro de leitura não recuperado - falha na realocação automática"

Existem erros realmente ruins no disco - ainda não está claro se eles estão em um único local ou se estão espalhados e se aumentam com o tempo.

O disco rígido pode falhar muito em breve,
como "agora" .
Ou na próxima semana, ou nem um pouco.

Se tudo correr bem em um e2fsckteste, você ainda não poderá usá-lo para algo importante.

Assim que e2fsckconfirmar que há erros médios, o melhor é substituí-lo.

Caso contrário, faça backups o mais rápido possível,
inicialize um CD ao vivo (ou encontre uma maneira de desmontar / não montar/home )
e verifique se há blocos defeituosos, como por

sudo e2fsck -c -v /dev/sdXN

Leve em consideração que, em um disco rígido mecânico maior , a verificação de blocos defeituosos pode levar muito tempo , entre horas e talvez um dia ou dois. Isso ocorre em parte porque o programa precisa verificar cada bloco de disco separadamente e resolver os problemas separadamente também. Mas também, se o disco está apresentando erros durante a leitura, há muitas tentativas em vários níveis antes e2fsckmesmo que se saiba que há um problema. Para cada bloco de disco.

Pode ser a coisa certa executar e2fsckno modo de reparo automático e deixar o computador em paz por um tempo:

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

Veja ubuntuforums: Freeze aleatório e "Erro de leitura não recuperado" em / var / log / messages para obter detalhes.

Volker Siegel
fonte
Eu não entendi o que você quis dizer com "o disco físico real". Este não é um disco real, é um arquivo que é a unidade virtual do Virtualbox
user907860
Ok, algumas perguntas para confirmar, posso estar errado: O arquivo win_7.vdié uma imagem vm, certo? E está fora de qualquer vms, certo? Quero dizer, o arquivo win_7.vdiestá em um disco real - certo? A dmesgsaída é de fora da vm, certo? Nesse caso, os erros no dmesglog estão em um disco rígido real / dev / sda.
Volker Siegel
sim, "certo" para todas as suas perguntas
user907860 11/08/14
Bom - mas ruim para o disco ... você pode substituí-lo? Pode falhar muito em breve, como "just now". Ou na próxima semana, ou nem um pouco. Se tudo correr bem em um e2fsckteste, você ainda não poderá usá-lo para algo importante.
Volker Siegel
ok, obrigado, agora eu estou no trabalho por isso vou verificar sua resposta hoje, o mais cedo possível
user907860
6

Para mim, recebi esse erro ao tentar copiar imagens de disco que totalizavam algo como 128 GB. cpestava tentando carregar a coisa toda na memória, a fim de reescrevê-la e, obviamente, isso não vai funcionar, por isso tem que ser feito em pedaços. A melhor maneira que encontrei para dividir o arquivo é forçá-lo através do ssh.

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

Você tem que usar user@localhost; omitir isso reverterá para um cpcomportamento semelhante.

jwallace
fonte
2

Os setores do seu disco rígido foram corrompidos. DRDY ERR - Erro de verificação do dispositivo pronto. UNC - incorrigível.

Devido a vários motivos, como o desligamento abrupto durante gravação extensiva, as operações de alta temperatura, leitura e gravação executadas e a qualidade do disco rígido desempenham um papel importante nesse caso.

Quando um setor for corrompido e se o kernel tentar acessar esses setores, você receberá esse erro.

Você pode usar ferramentas marítimas para se recuperar temporariamente desse erro. Mas não será para corrigir esse problema para sempre. Pode ocorrer novamente algumas vezes mais tarde.

Se você tiver sorte, não ocorrerá novamente por vários dias.

Faça melhor backup dos dados em um novo disco rígido e substitua o disco rígido.

user314563
fonte