disque dur externe

21 réponses
Avatar
TP
Bonjour à tous,


Je fais régulièrement une copie sur disque dur externe. J'utilise rdiff-
backup.
J'ai un problème avec un de mes disques durs externes: au bout de quelques
minutes de sauvegarde, j'obtients des erreurs:


IOError: [Errno 5] Input/output error


Et la sauvegarde s'arrête.
Si ensuite je démonte le disque, et que je fais:


$ fsck.ext3 -y /dev/dm-5
e2fsck 1.41.14 (22-Dec-2010)
/dev/dm-5 contains a file system with errors, check forced.
[...]

La réparation semble fonctionner, mais quand je relance rdiff-backup,
j'obtiens à nouveau une IOError. Puis je fais à nouveau un fsck.ext3, et
ainsi de suite. La seule solution que j'ai trouvée est alors de formater le
disque. Une dizaine de copies se passent alors ensuite correctement (grosso-
modo, 3 semaines de copies), puis à nouveau j'obtiens une IOError. J'ai
essayé en EXT3 et en EXT4, même comportement. Que faire?

Merci par avance,

TP


Note 1: aujourd'hui, nouveau comportement: j'obtiens une IOError, mais quand
je fais fsck.ext3 ensuite, fsck.ext3 ne trouve pas d'erreurs sur le disque,
donc rend directement la main:

$ fsck.ext3 -y /dev/dm-5
e2fsck 1.41.14 (22-Dec-2010)
/dev/dm-5: clean, 1037927/30531584 files, 36318243/122095872 blocks
$

Note 2: le disque externe est crypté. Peut-être est-ce une information
importante.

10 réponses

1 2 3
Avatar
Luc.Habert.00__arjf
TP :

IOError: [Errno 5] Input/output error



Tape un dmesg juste après, il devrait y avoir des infos plus détaillées.
Avatar
Arnaud Gomes-do-Vale
TP writes:

IOError: [Errno 5] Input/output error



Que dit badblocks ? Et smartctl, si le disque parle SMART (pas évident
s'il est dans un boîtier ou derrière un adaptateur un peu hostile) ?

--
Arnaud
http://blogs.glou.org/arnaud/
Avatar
TP
Luc Habert wrote:

IOError: [Errno 5] Input/output error



Tape un dmesg juste après, il devrait y avoir des infos plus détaillées.



Voici l'intégralité des informations que j'obtiens avec dmesg:

[12198.968261] usb 1-6: new high speed USB device number 6 using ehci_hcd
[12199.112220] scsi9 : usb-storage 1-6:1.0
[12200.155337] scsi 9:0:0:0: Direct-Access Samsung G2 Portable
PQ: 0 ANSI: 2 CCS
[12200.170960] sd 9:0:0:0: Attached scsi generic sg2 type 0
[12200.172853] sd 9:0:0:0: [sdb] 976773168 512-byte logical blocks: (500
GB/465 GiB)
[12200.173975] sd 9:0:0:0: [sdb] Write Protect is off
[12200.173980] sd 9:0:0:0: [sdb] Mode Sense: 28 00 00 00
[12200.174721] sd 9:0:0:0: [sdb] No Caching mode page present
[12200.174724] sd 9:0:0:0: [sdb] Assuming drive cache: write through
[12200.180978] sd 9:0:0:0: [sdb] No Caching mode page present
[12200.180983] sd 9:0:0:0: [sdb] Assuming drive cache: write through
[12200.202706] sdb: sdb1
[12200.206886] sd 9:0:0:0: [sdb] No Caching mode page present
[12200.206894] sd 9:0:0:0: [sdb] Assuming drive cache: write through
[12200.206902] sd 9:0:0:0: [sdb] Attached SCSI disk
[12225.769110] EXT4-fs (dm-5): mounted filesystem with ordered data mode.
Opts: (null)
[12794.177180] sd 9:0:0:0: [sdb] Unhandled sense code
[12794.177186] sd 9:0:0:0: [sdb] Result: hostbyte=invalid
driverbyte=DRIVER_SENSE
[12794.177191] sd 9:0:0:0: [sdb] Sense Key : Medium Error [current]
[12794.177196] sd 9:0:0:0: [sdb] Add. Sense: Unrecovered read error
[12794.177201] sd 9:0:0:0: [sdb] CDB: Read(10): 28 00 15 c1 5b c8 00 00 f0
00
[12794.177210] end_request: critical target error, dev sdb, sector 364993480
[12800.698418] sd 9:0:0:0: [sdb] Unhandled sense code
[12800.698424] sd 9:0:0:0: [sdb] Result: hostbyte=invalid
driverbyte=DRIVER_SENSE
[12800.698429] sd 9:0:0:0: [sdb] Sense Key : Medium Error [current]
[12800.698434] sd 9:0:0:0: [sdb] Add. Sense: Unrecovered read error
[12800.698440] sd 9:0:0:0: [sdb] CDB: Read(10): 28 00 15 c1 5c 70 00 00 08
00
[12800.698449] end_request: critical target error, dev sdb, sector 364993648
[12802.931481] sd 9:0:0:0: [sdb] Unhandled sense code
[12802.931498] sd 9:0:0:0: [sdb] Result: hostbyte=invalid
driverbyte=DRIVER_SENSE
[12802.931513] sd 9:0:0:0: [sdb] Sense Key : Medium Error [current]
[12802.931530] sd 9:0:0:0: [sdb] Add. Sense: Unrecovered read error
[12802.931548] sd 9:0:0:0: [sdb] CDB: Read(10): 28 00 15 c1 5c 70 00 00 08
00
[12802.931579] end_request: critical target error, dev sdb, sector 364993648
[12804.831123] sd 9:0:0:0: [sdb] Unhandled sense code
[12804.831128] sd 9:0:0:0: [sdb] Result: hostbyte=invalid
driverbyte=DRIVER_SENSE
[12804.831133] sd 9:0:0:0: [sdb] Sense Key : Medium Error [current]
[12804.831138] sd 9:0:0:0: [sdb] Add. Sense: Unrecovered read error
[12804.831144] sd 9:0:0:0: [sdb] CDB: Read(10): 28 00 15 c1 5c 70 00 00 08
00
[12804.831153] end_request: critical target error, dev sdb, sector 364993648
[12807.030821] sd 9:0:0:0: [sdb] Unhandled sense code
[12807.030838] sd 9:0:0:0: [sdb] Result: hostbyte=invalid
driverbyte=DRIVER_SENSE
[12807.030853] sd 9:0:0:0: [sdb] Sense Key : Medium Error [current]
[12807.030870] sd 9:0:0:0: [sdb] Add. Sense: Unrecovered read error
[12807.030887] sd 9:0:0:0: [sdb] CDB: Read(10): 28 00 15 c1 5c 70 00 00 08
00
[12807.030919] end_request: critical target error, dev sdb, sector 364993648
[12808.974965] sd 9:0:0:0: [sdb] Unhandled sense code
[12808.974971] sd 9:0:0:0: [sdb] Result: hostbyte=invalid
driverbyte=DRIVER_SENSE
[12808.974976] sd 9:0:0:0: [sdb] Sense Key : Medium Error [current]
[12808.974981] sd 9:0:0:0: [sdb] Add. Sense: Unrecovered read error
[12808.974987] sd 9:0:0:0: [sdb] CDB: Read(10): 28 00 15 c1 5c 70 00 00 08
00
[12808.974996] end_request: critical target error, dev sdb, sector 364993648
[12810.941439] sd 9:0:0:0: [sdb] Unhandled sense code
[12810.941456] sd 9:0:0:0: [sdb] Result: hostbyte=invalid
driverbyte=DRIVER_SENSE
[12810.941472] sd 9:0:0:0: [sdb] Sense Key : Medium Error [current]
[12810.941489] sd 9:0:0:0: [sdb] Add. Sense: Unrecovered read error
[12810.941506] sd 9:0:0:0: [sdb] CDB: Read(10): 28 00 15 c1 5c 70 00 00 08
00
[12810.941538] end_request: critical target error, dev sdb, sector 364993648
[13097.736301] sd 9:0:0:0: [sdb] Unhandled sense code
[13097.736307] sd 9:0:0:0: [sdb] Result: hostbyte=invalid
driverbyte=DRIVER_SENSE
[13097.736311] sd 9:0:0:0: [sdb] Sense Key : Medium Error [current]
[13097.736317] sd 9:0:0:0: [sdb] Add. Sense: Unrecovered read error
[13097.736322] sd 9:0:0:0: [sdb] CDB: Read(10): 28 00 17 45 c2 80 00 00 28
00
[13097.736331] end_request: critical target error, dev sdb, sector 390447744
[13099.702781] sd 9:0:0:0: [sdb] Unhandled sense code
[13099.702799] sd 9:0:0:0: [sdb] Result: hostbyte=invalid
driverbyte=DRIVER_SENSE
[13099.702815] sd 9:0:0:0: [sdb] Sense Key : Medium Error [current]
[13099.702832] sd 9:0:0:0: [sdb] Add. Sense: Unrecovered read error
[13099.702851] sd 9:0:0:0: [sdb] CDB: Read(10): 28 00 17 45 c2 80 00 00 08
00
[13099.702883] end_request: critical target error, dev sdb, sector 390447744
Avatar
Luc.Habert.00__arjf
Ça semble donc etre un problème matériel et non une corruption du
filesystem. C'est compatible avec le fait que ça remarche après un
reformatage:
- le formatage n'écrit pas partout sur le disque
- après le formatage, il va se passer un moment avant que le driver du fs
aille taper sur la zone foireuse.

Pour vérifier, le plus simple consiste à faire un
cat /dev/sdmachinploum > /dev/null
et voir si ça se termine normalement ou par un IO Error.

Après, ça peut etre soit le disque dur qui déconne, soit l'électronique du
boitier USB. Refais le cat en branchant le DD dans un autre boitier où dans
un fise.
Avatar
Sergio
Le Thu, 26 Jan 2012 00:10:21 +0100, TP a écrit :

Voici l'intégralité des informations que j'obtiens avec dmesg:

[12794.177210] end_request: critical target error, dev sdb, sector
364993480 [12800.698418] sd 9:0:0:0: [sdb] Unhandled sense code
[12800.698424] sd 9:0:0:0: [sdb] Result: hostbyte=invalid
[etc.]



En gros, le disque est pourri. Y'a pas à tortiller du cul : faut le
remplacer...
Si on veut le récupérer, tenter de le reformater avec "mke2fs -cc" (ça
peut durer des plombes).

--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
Avatar
TP
Arnaud Gomes-do-Vale wrote:

TP writes:

IOError: [Errno 5] Input/output error



Que dit badblocks ? Et smartctl, si le disque parle SMART (pas évident
s'il est dans un boîtier ou derrière un adaptateur un peu hostile) ?




Pour l'instant, je n'ai essayé que badblocks, et il n'a pas fini au bout
d'une nuit:

badblocks /dev/dm-5
147371520
147371560
147371561
147371562
147371563
147371584
147371585
147371586
147371587
147371588
147371589
147371590
147371591
[...]

Il y a un paquet de lignes comme ça.

Je vais tester le formatage "mke2fs -cc" recommandé par Sergio.

Merci.

TP
Avatar
Arnaud Gomes-do-Vale
TP writes:

badblocks /dev/dm-5
147371520
[...]

Il y a un paquet de lignes comme ça.

Je vais tester le formatage "mke2fs -cc" recommandé par Sergio.



Pas la peine, si tu as plus de quelques blocs défectueux (allez, plus de
quelques dizaines, pour être généreux), ton disque est bon pour la
poubelle. Si tu y tiens vraiment tu peux le garder pour jouer, mais ne
mets pas de données dessus.

--
Arnaud
http://blogs.glou.org/arnaud/
Avatar
Lucas Levrel
Le 26 janvier 2012, TP a écrit :

Pour l'instant, je n'ai essayé que badblocks, et il n'a pas fini au bout
d'une nuit:

badblocks /dev/dm-5
147371520
147371560
147371561
147371562
147371563
147371584
147371585
147371586
147371587
147371588
147371589
147371590
147371591
[...]

Il y a un paquet de lignes comme ça.

Je vais tester le formatage "mke2fs -cc" recommandé par Sergio.



Vu le nombre d'erreurs déjà trouvées à la lecture, commence par
mke2fs -c !


--
LL
Avatar
Fabien LE LEZ
On Thu, 26 Jan 2012 09:03:39 +0100, Arnaud Gomes-do-Vale
:

Pas la peine, si tu as plus de quelques blocs défectueux (allez, plus de
quelques dizaines, pour être généreux), ton disque est bon pour la
poubelle.



Je confirme.

L'électronique interne du disque est capable de cacher un certain
nombre de blocs défectueux, car un disque a des blocs "de secours".

Donc, si le système commence à voir des blocs défectueux, c'est que
tous les blocs de secours ont été utilisés. Ça veut dire que le disque
est déjà bien atteint.
Avatar
Nicolas George
Fabien LE LEZ , dans le message
, a écrit :
Donc, si le système commence à voir des blocs défectueux, c'est que
tous les blocs de secours ont été utilisés.



Ce n'est pas tout à fait vrai : un disque dur ne peut réallouer un secteur
défectueux que lorsqu'on écrit dessus. Des secteurs défectueux peuvent donc
être bien visibles en lecture même s'il reste plein de place pour les
réallouer.
1 2 3