Finalement, ce disque me pose encore des problèmes... Puisque je ne le sens plus très fiable, j'ai commencé à m'intéresser à d'autres solutions de sauvegardes du type NAS. Mais encore faut-il que j'arrive à copier les données de ce disque sur le nouveau, sans que cela crée des problèmes à la base.
Je me suis donc dis qu'avant de mettre ça en place (et faire un copier/coller des données de ce disque, à priori corrompu, sur le nouveau tout beau tout neuf), j'allais faire à nouvaeu un test de l'intégrité des données sur le dd externe...
Et là, tout va mal... Après diverses opérations où le disque s'est plus ou moins "démonté" assez sauvagement, voilà les commandes que j'ai effectuées :
[balustre@Bor ~]$ dmesg | tail
sd 10:0:0:0: Attached scsi generic sg2 type 0
sd 10:0:0:0: [sdb] 976773168 512-byte hardware sectors: (500 GB/465 GiB)
sd 10:0:0:0: [sdb] Write Protect is off
sd 10:0:0:0: [sdb] Mode Sense: 1c 00 00 00
sd 10:0:0:0: [sdb] Assuming drive cache: write through
sd 10:0:0:0: [sdb] Assuming drive cache: write through
sdb: sdb1
sd 10:0:0:0: [sdb] Attached SCSI disk
EXT2-fs error (device sdb1): ext2_check_descriptors: Block bitmap for group 80 not in group (block 0)!
EXT2-fs: group descriptors corrupted!
[balustre@Bor ~]$ su -
Mot de passe :
[root@Bor ~]# e2fsck /dev/sdb1
e2fsck 1.41.9 (22-Aug-2009)
e2fsck: Les descripteurs de groupe semblent en mauvais état... tentons d'utiliser les blocs de sauvetage...
/dev/sdb1 n'a pas été démonté proprement, vérification forcée.
Passe 1 : vérification des i-noeuds, des blocs et des tailles
I-noeud 8, i_blocs est 0, devrait être 262408. Corriger<o>? oui
Erreur de lecture du bloc 106166109 (Attempt to read block from filesystem resulted in short read) lors de lecture des blocs indirects de l'i-noeud 37192988. Ignorer l'erreur<o>? oui
Forcer la ré-écriture<o>? oui
I-noeud 37192988, i_blocs est 325360, devrait être 317168. Corriger<o>? oui
Erreur de lecture du bloc 106400195 (Attempt to read block from filesystem resulted in short read) lors de lecture des blocs indirects de l'i-noeud 37193015. Ignorer l'erreur<o>? oui
Forcer la ré-écriture<o>? oui
I-noeud 37193015, i_blocs est 22520, devrait être 14328. Corriger<o>? oui
Erreur de lecture du bloc 106412030 (Attempt to read block from filesystem resulted in short read) lors de lecture des blocs indirects de l'i-noeud 37193019. Ignorer l'erreur<o>? oui
Forcer la ré-écriture<o>? oui
I-noeud 37193019, i_blocs est 104784, devrait être 96592. Corriger<o>? oui
Erreur de lecture du bloc 107158012 (Attempt to read block from filesystem resulted in short read) lors de lecture des blocs indirects de l'i-noeud 37193069. Ignorer l'erreur<o>? oui
Forcer la ré-écriture<o>? oui
I-noeud 37193069, i_blocs est 91480, devrait être 83288. Corriger<o>? oui
Erreur de lecture du bloc 107201631 (Attempt to read block from filesystem resulted in short read) lors de lecture des blocs indirects de l'i-noeud 37193072. Ignorer l'erreur<o>? oui
Forcer la ré-écriture<o>? oui
I-noeud 37193072, i_blocs est 102128, devrait être 8312. Corriger<o>? oui
Erreur de lecture du bloc 107220221 (Attempt to read block from filesystem resulted in short read) lors de lecture des blocs indirects de l'i-noeud 37193074. Ignorer l'erreur<o>? oui
Forcer la ré-écriture<o>? oui
I-noeud 37193074, i_blocs est 68448, devrait être 8312. Corriger<o>? oui
Erreur de lecture du bloc 107300249 (Attempt to read block from filesystem resulted in short read) lors de lecture des blocs indirects de l'i-noeud 37193084. Ignorer l'erreur<o>? oui
Forcer la ré-écriture<o>? oui
I-noeud 37193084, i_blocs est 102480, devrait être 94288. Corriger<o>? oui
Erreur de lecture du bloc 107342573 (Attempt to read block from filesystem resulted in short read) lors de lecture des blocs indirects de l'i-noeud 37193087. Ignorer l'erreur<o>? oui
Forcer la ré-écriture<o>? oui
I-noeud 37193087, i_blocs est 69744, devrait être 65720. Corriger<o>? oui
Erreur de lecture du bloc 107359019 (Attempt to read block from filesystem resulted in short read) lors de lecture des blocs indirects de l'i-noeud 37193091. Ignorer l'erreur<o>? oui
Forcer la ré-écriture<o>? oui
I-noeud 37193091, i_blocs est 61160, devrait être 8312. Corriger<o>? oui
Erreur de lecture du bloc 107368714 (Attempt to read block from filesystem resulted in short read) lors de lecture des blocs indirects de l'i-noeud 37193092. Ignorer l'erreur<o>? oui
Forcer la ré-écriture<o>? oui
Erreur de lecture du bloc 107402034 (Attempt to read block from filesystem resulted in short read) lors de lecture des blocs indirects de l'i-noeud 37193092. Ignorer l'erreur<o>? oui
Forcer la ré-écriture<o>? oui
Erreur de lecture du bloc 107404084 (Attempt to read block from filesystem resulted in short read) lors de lecture des blocs indirects de l'i-noeud 37193092. Ignorer l'erreur<o>? oui
Forcer la ré-écriture<o>? oui
I-noeud 37193092, i_blocs est 319320, devrait être 294744. Corriger<o>? oui
Erreur de lecture du bloc 107406066 (Attempt to read block from filesystem resulted in short read) lors de lecture des blocs indirects de l'i-noeud 37193093. Ignorer l'erreur<o>? oui
Forcer la ré-écriture<o>? oui
Erreur de lecture du bloc 107416837 (Attempt to read block from filesystem resulted in short read) lors de lecture des blocs indirects de l'i-noeud 37193093. Ignorer l'erreur<o>? oui
Forcer la ré-écriture<o>? oui
ETC, ETC : Ca continue très très très très longtemps...
Donc, au début, j'étais contente que les erreurs soient réparées... Mais là, le nombre d'erreur est tellement important (j'appuie sur "o" en permanence depuis 10 minutes...), j'ai pensé qu'il valait mieux arrêter (de toute manière, au bout d'un moment, il m'indiquer que tous les blocs étaient corrompus, ce qui n'est quand même pas le cas...)
edit : Après quelques recherches, je suis tombée sur ces deux liens :
http://www.linux-france.org/article/resolution-probleme/resolution-probleme-3.html
http://www.cgsecurity.org/wiki/Disque_Dur_Endommag%C3%A9
1) Le premier donne une commande pour obtenir une liste des fichiers endommagés . Dans mon cas, je l'ai appliqué en faisant :
# find /dev/sdb1 -type f | xargs -iNIMPORTEQUOIXYZ cp NIMPORTEQUOIXYZ /dev/null >& /home/balustre/noms-fichiers-endommages.txt
mais cela me donne juste un fichier vierge.
2) Le deuxième donne 3 méthodes pour faire une récup des données sur un autre disque dur, en sauvegardant "le plus possible" mais en évitant les zones corrompus. Il conseille finalement la méthode suivante :
La meilleure solution, autrement dit la plus rapide et la plus efficace, semble être le 'ddrescue' d'Antonio Diaz (ddrescue)
#récupérer en priorité le plus de zones mémoires saines:
ddrescue -B -n /dev/old_disk /dev/new_disk rescued.log
#puis essayez de récupérer le plus de zones mémoires endommagées possible:
ddrescue -B -r 1 /dev/old_disk /dev/new_disk rescued.log
Est-ce vraiment mieux que "dd" ou "dd_rescue". Puis-je vraiment faire confiance à cette méthode pour sauver mes données ?
merci (et désolé pour ce poste à rallonge...)