cp kopiert nicht mit den Fehlern "cp: Fehler beim Lesen von 'Datei': Eingabe- / Ausgabefehler" und "cp: 'Datei' konnte nicht erweitert werden: Eingabe- / Ausgabefehler

10

Ich bin ein Benutzer von Oracle Virtualbox unter Ubuntu. Und ich habe vdi-Dateien als eine Art Backup kopiert. Zuvor habe ich dies viele Male ohne Probleme getan (vdi-Datei kopieren und dann zurückkopieren).

Aber heute habe ich diesen Fehler erlebt

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

Ich habe ein wenig gegoogelt, aber von den Ratschlägen zu ähnlichen Problemen habe ich leider nichts verstanden. Könnte jemand vorschlagen, wie man das löst, bitte?

Die Ausgabe von dmesgist (und ich verstehe nichts davon)

[ 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

Jede Hilfe wird sehr geschätzt, danke im Voraus

user907860
quelle
Vielleicht ist die Festplatte, auf der sich die vdi-Datei befindet, voll? Versuchen Siedf -h
Volker Siegel
Oh, warte - machst du das alles in der Virtualbox oder draußen?
Volker Siegel
@VolkerSiegel Ich mache das draußen auf meinem Hostsystem. Die Partition, in der die Kopie gespeichert ist und in der ich versuche, eine Kopie zu erstellen, verfügt über 280 GB. Dies ist also mehr als genug, da ich diesen Vorgang bereits viele Male ausgeführt habe. Ich nehme an, dass dies ein Fehler der Festplatte sein kann
user907860
Was ist das Dateisystem auf dieser Partition von / dev / sda? ( mount | grep /dev/sda)
Volker Siegel
@ VolkerSiegel die Ausgabe ist/dev/sda5 on /home type ext4 (rw)
user907860

Antworten:

7

Wenn dies keine "Festplatte" in einer Virtualbox ist, sondern die reale physische Festplatte, auf der die VM-Images gespeichert sind, sieht das ziemlich schlecht aus.

Es gab Lesefehler auf / dev / sda.
Es gibt eine automatische Behandlung, indem ein Plattenblock für immer als fehlerhafter Block markiert wird und stattdessen ein anderer verwendet wird.
Damit dies funktioniert, muss die Festplatte die Daten noch einmal lesen und möglicherweise ein paar hundert Lesevorgänge ausführen.
Aber die Scheibe gab dies auf:

"Add. Sense: Nicht wiederhergestellter Lesefehler - automatische Neuzuweisung fehlgeschlagen"

Es gibt wirklich schlimme Fehler auf der Festplatte - es ist nur noch nicht klar, ob sie sich nur an einem Ort befinden oder sich ausbreiten und ob sie mit der Zeit zunehmen.

Die Festplatte kann sehr bald ausfallen,
wie "gerade jetzt" .
Oder nächste Woche oder gar nicht.

Wenn es bei einem e2fsckTest in Ordnung ist, können Sie es immer noch nicht für wichtige Dinge verwenden.

Sobald e2fsckbestätigt wird, dass es mittlere Fehler gibt, ist es am besten, sie einfach zu ersetzen.

Andernfalls erstellen Sie so schnell wie möglich Backups ,
booten Sie eine Live-CD oder so (oder finden Sie einen Weg, um die Bereitstellung aufzuheben / nicht zu mounten/home ),
und suchen Sie nach fehlerhaften Blöcken, z

sudo e2fsck -c -v /dev/sdXN

Berücksichtigen Sie, dass das Überprüfen auf fehlerhafte Blöcke auf einer größeren mechanischen Festplatte zwischen Stunden und möglicherweise ein oder zwei Tagen viel Zeit in Anspruch nehmen kann . Dies liegt zum Teil daran, dass das Programm jeden Plattenblock separat prüfen und Probleme auch separat beheben muss. Aber auch wenn die Festplatte beim Lesen Fehler macht, gibt es viele Wiederholungsversuche auf mehreren Ebenen, bevor e2fscküberhaupt ein Problem auftritt. Für jeden Plattenblock.

Es kann richtig sein, nur e2fsckim Autoreparaturmodus zu arbeiten und den Computer eine Weile in Ruhe zu lassen:

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

Weitere Informationen finden Sie unter ubuntuforums: Zufälliges Einfrieren und "Nicht wiederhergestellter Lesefehler" in / var / log / messages .

Volker Siegel
quelle
Ich habe nicht verstanden, was Sie mit "der realen physischen Festplatte" gemeint haben. Dies ist keine echte Festplatte, dies ist eine Datei, die ein virtuelles Virtualbox-Laufwerk ist
user907860
Ok, einige Fragen zur Bestätigung, ich kann mich irren: Die Datei win_7.vdiist ein VM-Image, oder? Und es ist außerhalb von VMS, richtig? Ich meine, die Datei win_7.vdibefindet sich auf einer echten Festplatte - richtig? Die dmesgAusgabe erfolgt von außerhalb des VM, oder? In diesem Fall befinden sich die Fehler im dmesgProtokoll auf einer echten Festplatte / dev / sda.
Volker Siegel
Ja, "richtig" für alle Ihre Fragen
user907860
Gut - aber schlecht für die Festplatte ... können Sie sie einfach ersetzen? Es kann sehr bald scheitern, wie "gerade jetzt". Oder nächste Woche oder gar nicht. Wenn es bei einem e2fsckTest in Ordnung ist, können Sie es immer noch nicht für wichtige Dinge verwenden.
Volker Siegel
ok, danke, jetzt bin ich bei der Arbeit, also werde ich Ihre Antwort heute so
schnell
6

Ich habe diesen Fehler beim Kopieren von Disk-Images mit einer Gesamtgröße von 128 GB erhalten. cpIch habe versucht, das Ganze in den Speicher zu laden, um es wieder herauszuschreiben, und das wird offensichtlich nicht funktionieren, also muss es in Stücken gemacht werden. Der beste Weg, die Datei zu zerlegen, besteht darin, sie durch ssh zu erzwingen.

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

Sie müssen verwenden user@localhost; Wenn Sie es weglassen, wird das cpVerhalten wieder hergestellt.

jwallace
quelle
2

Die Sektoren Ihrer Festplatte wurden beschädigt. DRDY ERR - Fehler bei der Überprüfung der Gerätebereitschaft. UNC - Nicht korrigierbar.

In diesem Fall spielen aus verschiedenen Gründen, wie z. B. abruptes Herunterfahren während umfangreichen Schreibvorgangs, Hochtemperatur-, Lese-Schreibvorgänge und die Qualität der Festplatte, eine wichtige Rolle.

Sobald ein Sektor beschädigt wurde und der Kernel versucht, auf diese Sektoren zuzugreifen, wird dieser Fehler angezeigt.

Sie können Seatools verwenden, um diesen Fehler vorübergehend zu beheben. Es wird jedoch nicht sein, dieses Problem für immer zu beheben. Es kann einige Male später erneut auftreten.

Wenn Sie Glück haben, wird es mehrere Tage lang nicht wieder auftreten.

Sichern Sie die Daten besser auf einer neuen Festplatte und ersetzen Sie die Festplatte.

user314563
quelle