Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/10/2010, à 22:05

LukorNemuse

[Résolu] Récupérer partition RAID 1 après défaillance logicielle

Bonjour à tous,

Mon volume RAID 1 constitué de 2 disques durs (DD) de 1To était ralenti suite à de la fragmentation causée par amule, le rendant inutilisable en le limitant à 200ko/s (notez qu'il est utile de cocher la case "Réserver de la mémoire pour les nouveaux fichiers" dans les réglages de amule), j'ai entrepris une défragmentation manuelle en copiant des dossiers avant de supprimer les dossiers d'origine. En copiant un dossier de quelques dizaines de Go, le gestionnaire de fichiers a planté au milieu de la copie (après plusieurs jours vu le bas débit!). Je redémarre, et à l'écran de démarrage plymouth, le système reste figé, les disques durs cherchent je ne sais quoi, et ne trouvent rien même après plusieurs heures.
Seul moyen pour démarrer: débrancher physiquement un des deux DD. Mais là, plus moyen d'accéder au volume raid.
voilà ce que me dit mdadm

luc@luc-server:~$ mdadm --manage
mdadm: an md device must be given in this mode

donc pas moyen de suive le paragraphe "Que faire lorsqu'un des composants de l'Array vient à défaillir ?"  http://doc.ubuntu-fr.org/raid_logiciel
La même chose est obtenue avec l'un ou l'autre des DD, donc la panne n'est pas matérielle.

Il y a bien des choses que je pourrais tenter par exemple avec gnome-disk-utility mais je ne veux prendre aucun risque car mes données sont fondamentales.

Que pourrais-je faire pour récupérer les données. par exemple en convertissant le raid en partition normale puisque je ne peux pas démarrer avec les deux DD branchés?

Dernière modification par LukorNemuse (Le 06/10/2010, à 21:52)

Hors ligne

#2 Le 04/10/2010, à 22:12

slasher-fun

Re : [Résolu] Récupérer partition RAID 1 après défaillance logicielle

Bonjour,

Sauf que là l'exemple parle d'un RAID 5. Sur un RAID 0, si l'un des disques est mort, l'ensemble des données est perdu.

EDIT : Ah oui je me suis arrêté au titre moi... 0 ou 1 ?

Dernière modification par slasher-fun (Le 04/10/2010, à 22:20)

Hors ligne

#3 Le 04/10/2010, à 22:17

Frédéric Stemmelin

Re : [Résolu] Récupérer partition RAID 1 après défaillance logicielle

Il te demande le nom du device, soit surement "/dev/md0" ici.

Je commencerais par faire un:

mdadm --detail /dev/md0

pour afficher les détails.
Si tu parles d'un raid 1, corrige le titre du post wink

Dernière modification par Frédéric Stemmelin (Le 04/10/2010, à 22:18)

Hors ligne

#4 Le 05/10/2010, à 21:30

LukorNemuse

Re : [Résolu] Récupérer partition RAID 1 après défaillance logicielle

Effectivement, il y avait une confusion de ma part car c'est du RAID 1. Le titre est corrigé.

Après avoir rebranché les deux DD, et attendu une journée à l'écran de plymouth, fsck annonce qu'il y a des erreurs. Après avoir essayé de les corriger, il m'est affiché qu'il y a tjs des erreurs, je choisis de les ignorer et de poursuivre le montage.
Après le démarrage, nautilus reste bloqué quand je vais ouvrir le volume.

voici ce que me donne mdadm:

luc@luc-server:~$ sudo mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Tue Sep 15 06:09:34 2009
     Raid Level : raid1
     Array Size : 976759936 (931.51 GiB 1000.20 GB)
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Tue Oct  5 13:13:40 2010
          State : active, resyncing
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

 Rebuild Status : 0% complete

           UUID : e056c764:5d63bc59:1195d402:d151a60b
         Events : 0.1539443

    Number   Major   Minor   RaidDevice State
       0       8       49        0      active sync   /dev/sdd1
       1       8       65        1      active sync   /dev/sde1

Hors ligne

#5 Le 05/10/2010, à 21:46

LukorNemuse

Re : [Résolu] Récupérer partition RAID 1 après défaillance logicielle

Après avoir démonté le volume, j'ai lancé une vérification de fichiers avec gnome-disk-utility (utilitaire de disque). 
Verdict :
"Vérification du système de fichiers de « Safe » (Volume de disque entier sur Ensemble RAID-1 1.0 TB) terminée
Le système de fichiers n'est PAS propre."

Et avec fsck

luc@luc-server:~$ sudo fsck /dev/sdd1
fsck de util-linux-ng 2.17.2
ATTENTION : mauvais format à la ligne 23 sur /etc/fstab
fsck : fsck.linux_raid_member : non trouvé
fsck : erreur 2 lors de l'exécution de "fsck". linux_raid_member pour /dev/sdd1
luc@luc-server:~$ sudo fsck /dev/sde1
fsck de util-linux-ng 2.17.2
ATTENTION : mauvais format à la ligne 23 sur /etc/fstab
fsck : fsck.linux_raid_member : non trouvé
fsck : erreur 2 lors de l'exécution de "fsck". linux_raid_member pour /dev/sde1

je ne vois pas trop ce que la FSTAB a à voir avec ça d'autant qu'elle est conforme et que la ligne 23 est la dernière ligne vide

# <file system>                            <mount point>      <type>       <options>                            <dump> <pass>
  proc                                     /proc              proc         defaults                                0     0  
#Disque SSD système /dev/sda1
 UUID=fb02e525-3149-4b34-b4f8-82ad5856d7ef /                  ext4         errors=remount-ro                       0     1  
#swap /dev/sda5 
 UUID=a78b97d0-94c3-4faa-8b5c-d5b05fdb5e9d none               swap         sw                                      0     0
#DVD-ROM ASUS (RW DL)  
# /dev/sr0   #scd0                          /media/cdrom       udf,iso9660  user,noauto,exec,utf8                  0     0  
#Disque "Safe" constitué de 2 HDD Western Digital 1000GB en miroir (RAID 1); pass=0: pas de check
 UUID=6e0c98f1-9aef-4d7d-bae3-7f9acd98408c /media/Safe        ext3         rw,suid,dev,exec,auto,user,user_xattr   0     2 
#Disque "Samsung500" (500GB)
 UUID=2a09602d-74d5-4a0f-9a19-9c47981c9a2c /media/Samsung500  ext3         rw,suid,dev,exec,auto,user,user_xattr   0     2  
#Disque "WD1000" (Western Digital 1TB)
 UUID=16c5ad12-8495-45b1-aa88-bba31677fb8d /media/WD1000      ext3         rw,suid,dev,exec,auto,user,user_xattr   0     2 
# errors=remount-ro,users,user  00

quant au fsck du volume raid, voilà ce qu'il me donne :

luc@luc-server:~$ sudo fsck /dev/md0
fsck de util-linux-ng 2.17.2
e2fsck 1.41.11 (14-Mar-2010)
La taille du système de fichiers (selon le superbloc) est de 244190000 blocs
La taille physique du périphérique est de 244189984 blocs
Le superbloc ou la table des partitions est peut-être corrompue !
Arrêter<o>?

Comme je travaille sans filet, je n'ose pas aller plus loin, de peur de perdre toutes les données.

Hors ligne

#6 Le 05/10/2010, à 21:59

slasher-fun

Re : [Résolu] Récupérer partition RAID 1 après défaillance logicielle

Mmm... Que donne un "cat /proc/mdstat" ?

Hors ligne

#7 Le 05/10/2010, à 22:10

LukorNemuse

Re : [Résolu] Récupérer partition RAID 1 après défaillance logicielle

luc@luc-server:~$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid1 sdd1[0] sde1[1]
      976759936 blocks [2/2] [UU]
      [>....................]  resync =  0.4% (4818048/976759936) finish=177958.4min speed=90K/sec
      
unused devices: <none>

Cela veut-t-il dire que l'un des DD est défaillant et que le système de gestion RAID est en train de copier des données de l'un vers l'autre?

Hors ligne

#8 Le 05/10/2010, à 22:25

LukorNemuse

Re : [Résolu] Récupérer partition RAID 1 après défaillance logicielle

Quelques minutes après ...

luc@luc-server:~$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid1 sdd1[0] sde1[1]
      976759936 blocks [2/2] [UU]
      [>....................]  resync =  0.4% (4861184/976759936) finish=377050.1min speed=42K/sec
      
unused devices: <none>

Si c'est le temps qu'il faut attendre avant que ça refonctionne, ce sera bon dans... 8.7 mois!

Hors ligne

#9 Le 05/10/2010, à 23:46

slasher-fun

Re : [Résolu] Récupérer partition RAID 1 après défaillance logicielle

Voilà. À ta place je vérifierais l'intégrité des disques vu la vitesse de copie..

Hors ligne

#10 Le 06/10/2010, à 00:34

Frédéric Stemmelin

Re : [Résolu] Récupérer partition RAID 1 après défaillance logicielle

Assure toi qu'il y a bien un ventilateur devant les disques histoire qu'ils ne chauffent pas trop, puis laisse tourner un peu la reconstruction du RAID, qui même en temps normal peut durer facilement plus de 24 heures pour 1T.

La vitesse de reconstruction augmentera surement par la suite lorsque les secteurs défectueux seront passés.
"Utilitaire de disque" te permets de faire un test SMART, il va surement te dire s'il y a des secteurs défectueux ...

Hors ligne

#11 Le 06/10/2010, à 02:42

rmy

Re : [Résolu] Récupérer partition RAID 1 après défaillance logicielle

que donne

dmesg|tail

pour savoir quel disque serait en cause ?

Ensuite la doc

semble expliquer correctement comment se passer d'un des deux disques sur un raid1.

Par contre, si tu as vraiment des données importantes et que l'un de tes disques est mort, ne joues pas avec le feu : fais une image disque de celui qui est sain avant de tenter quoi que ce soit…

Hors ligne

#12 Le 06/10/2010, à 14:04

LukorNemuse

Re : [Résolu] Récupérer partition RAID 1 après défaillance logicielle

Un grand merci à tous pour votre aide!

Au bout d'une nuit d'attente, fsck en est toujours au même stade :

fsck de util-linux-ng 2.17.2
e2fsck 1.41.11 (14-Mar-2010)
La taille du système de fichiers (selon le superbloc) est de 244190000 blocs
La taille physique du périphérique est de 244189984 blocs
Le superbloc ou la table des partitions est peut-être corrompue !
Arrêter<o>? non


Safe contient un système de fichiers comportant des erreurs, vérification forcée.
Passe 1 : vérification des i-noeuds, des blocs et des tailles

D'autre part, j'obtiens

luc@luc-server:~$ dmesg|tail
[66966.990205] ata4: EH complete
[66984.023765] ata4.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x0
[66984.023773] ata4.00: irq_stat 0x40000008
[66984.023780] ata4.00: failed command: READ FPDMA QUEUED
[66984.023793] ata4.00: cmd 60/80:00:bf:71:ed/00:00:00:00:00/40 tag 0 ncq 65536 in
[66984.023795]          res 41/10:00:c1:71:ed/00:00:00:00:00/40 Emask 0x481 (invalid argument) <F>
[66984.023801] ata4.00: status: { DRDY ERR }
[66984.023805] ata4.00: error: { IDNF }
[66984.025602] ata4.00: configured for UDMA/133
[66984.025617] ata4: EH complete

Bien qu'ayant jeté un oeil sur le net, ça rete du chinois pour moi, mais il est clair que cela indique des erreurs.

Quant à l'utilitaire de disque il me dit bizarrement que l'un des deux est considéré en PATA (sde1) et l'autre en SATA (sdd1) alors qu'ils sont identiques
Auto-test SMART:
sde1: "Le disque est sain"
sdd1: "Le disque présente quelques secteurs endommagés"
Plus précisément, les points en rouge:

5. Nombre de secteurs réalloués :
   Normalisé: 173
   La pire: 173
   Seuil: 140
   Valeur: 213 secteurs
197. Nombre de secteurs en attente :
   Normalisé: 194
   La pire: 194
   Seuil: 0
   Valeur: 1052 secteurs

Donc si je vous suis bien, les actions à entreprendre pour restaurer le disque sans risque de tout perdre sont les suivantes :
1. Faire une image disque
Apparemment, ça peut être fait avec Partimage ou Clonezilla mais je pense que le plus simple serait

dd if=/dev/sdd of=/dev/sdz9 conv=notrunc,noerror

avec sdz9 un DD externe que je vais acheter pour l'occasion et qui me servira de backup
Cela vous paraît-il OK?
2. désactiver le DD défaillant

sudo mdadm /dev/md0 -f /dev/sdd1

Et là les données devraient être accessibles sur le DD non défaillant.

Hors ligne

#13 Le 06/10/2010, à 14:37

LukorNemuse

Re : [Résolu] Récupérer partition RAID 1 après défaillance logicielle

Recification , c'était

dd if=/dev/sde1 of=/dev/sdz9 conv=notrunc,noerror

Hors ligne

#14 Le 06/10/2010, à 15:16

SnakemaN

Re : [Résolu] Récupérer partition RAID 1 après défaillance logicielle

Je ne saurais t'aider dans le cas présent.
Mais pour la prochaine fois, si tu as des copies lourdes à faire, pense a utiliser un gestionnaire de copie (Genre SuperCopier sous Windows)
Il y a par exemple ultracopier, ou encore minicopier

Ca peut sans doute éviter des mésaventures de ce genre.


"Bon chat n'a besoin de beau collier d'or "
Membre du Groupe des Parrains Linux

Hors ligne

#15 Le 06/10/2010, à 16:56

rmy

Re : [Résolu] Récupérer partition RAID 1 après défaillance logicielle

tu peux aussi utiliser ddrescue, tout à fait adapté à de la copie sur disque, même endommagé. Tu n'est par ailleurs pas obligé de faire une image disque vers disque. Tu peux faire une image disque vers fichier :
sudo ddrescue -n /dev/sde /media/pointdemontage_de_sdz9/imagesde.img

ou la même chose avec l'image de la partition sde1 seule, en remplaçant sde par sde1.

La démarche que tu décris me parait être la bonne, et de toutes façons après une image saine et complète tu peux te permettre le retour en arrière.

Hors ligne

#16 Le 06/10/2010, à 17:00

Frédéric Stemmelin

Re : [Résolu] Récupérer partition RAID 1 après défaillance logicielle

Personnellement je pense qu'il ne faudrait pas faire de "dd", mais simplement désactiver le disque défaillant du raid  avec ta commande "sudo mdadm /dev/md0 -f /dev/sdd1", puis par sécurité, recopier les données utiles de ton disque valide sur un autre disque, externe par exemple (avec la commande "cp -R -p" ou en graphique).

Mais il te faudra de toute façon remplacer le disque défectueux "/dev/sdd" par un autre, de préférence de taille identique.

Voici donc ce que je préconise, mais il existe d'autres méthodes toutes aussi valables:

- sudo mdadm /dev/md0 -f /dev/sdd1
- boot sur livecd (ou éviter le montage auto de /dev/md0), faire un fsck sur le système de fichier intact pour vérifier (/dev/sde1), quitte à ne pas réparer
- copier les fichiers de ce fs sur un autre disque (externe ?)
- remplacer le disque défectueux "/dev/sdd" par un autre de même taille
- reconstruire le raid avec le nouveau disque pour refaire du raid 1
- mettre en place une politique de sauvegarde car un raid ne protège pas des suppressions accidentelles.

La partie sensible est le fsck, à toi de voir pour prendre ce risque.

Hors ligne

#17 Le 06/10/2010, à 17:05

rmy

Re : [Résolu] Récupérer partition RAID 1 après défaillance logicielle

Frédéric Stemmelin a écrit :

Personnellement je pense qu'il ne faudrait pas faire de "dd", mais simplement désactiver le disque défaillant du raid 

La partie sensible est le fsck, à toi de voir pour prendre ce risque.

+1, d'où le conseil de la sauvegarde préalable pour avoir une image avant de bosser sur une situation sensible. Mais l'image en elle-même n'est pas utile à la récup.

Hors ligne

#18 Le 06/10/2010, à 21:26

LukorNemuse

Re : [Résolu] Récupérer partition RAID 1 après défaillance logicielle

J'ai pu récupérer toutes les données, je détaille pour ceux que ça pourrait aider par la suite :
1. déactiver le disque défectueux (identifié par l'utilitaire de disque)

sudo mdadm /dev/md0 -f /dev/sdd1

2. mettre noauto au lieu de auto dans /etc/fstab à la ligne qui concerne ce volume raid
3. Redémarrer
4. monter le volume raid

sudo mount /dev/md0 /media/Safe

Donc le système RAID 1 a prouvé son efficacité de tolérance de panne.
Par contre il semble que les disques durs Western Digital Green que j'ai soient déconseillés pour du RAID, ce que tend à confirmer cette défaillance.
Je vais abandonner le RAID 1 logiciel qui est hyper lent pour passer à un système de sauvegarde sur disques durs externes. Une copie sur l'ordinateur central et une copie sur un DD dans un placard, mis à jour quelques fois par an me paraît suffisant.

Un grand merci à tous pour mon premier recours à la communauté sur ce forum.

Hors ligne