logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 15-03-2018 14:41:52

philev
Membre
Inscription : 15-03-2018

Reconstruction d'un Raid 1 - Disque Spare

Bonjour,
J'essaie de remplacer les disques (2TO) d'un raid 1 presque plein par des disques de 6 TO, mais je n'arrive pas à reconstituer le Raid.

Ma configuration comprend un SSD system de 120 GO (sda) et deux disques SATA (sdb) et (sdc) montés en Raid 1 (md0). Ma carte mère n'ayant que trois ports SATA, j'avais prévu de
1. enlever un disque et le remplacer par un disque neuf,
2. reconstituer le raid,
3. enlever le deuxième disque et le remplacer par un disque neuf
4. reconstituer le raid.

J'ai donc déconnecté sdb à froid et l'ai remplacer par un nouveau disque
J'ai formaté le nouveau disque avec gdisk
A ce moment, j'ai lu que j'aurais du le déclarer fail puis l'enlever proprement avec mdadm, mais c'était trop tard.
J'ai ajouté le nouveau disque au Raid avec

mdadm --add /dev/sdb


Le Raid a eu l'air de se reconstituer gentiment, mais à la fin de l'opération le nouveau disque est en "spare", le Raid comprend 3 disques dont un "removed", un "active" et un "spare" et le Raid est en état dégradé.

Je n'arrive pas à remettre le raid dans un état normal, quelqu'un peut-il m'aider?

Hors ligne

#2 15-03-2018 15:28:38

raleur
Membre
Inscription : 03-10-2014

Re : Reconstruction d'un Raid 1 - Disque Spare

Pour retirer le disque manquant, tu peux essayer

mdadm --fail /dev/md0 detached
mdadm --remove /dev/md0 detached failed


Si ça ne marche pas, peux-tu poster la sortie des commandes suivantes ?

cat /proc/mdstat
mdadm --detail /dev/md0
 


Note : si tu as créé une table de partition et une partition RAID sur le nouveau disque, tu n'aurais pas dû déclarer en tant que nouveau membre le disque entier/dev/sdb mais la partition /dev/sdb1. Tu vas au devant d'ennuis, la table de partition GPT et les méta-données RAID se chevauchant.

Edit : note qu'après avoir remplacé les deux disques il faudra agrandir l'ensemble RAID pour qu'il prenne en compte la nouvelle capacité (ce n'est pas automatique) puis agrandir son contenu pour la même raison.

Dernière modification par raleur (15-03-2018 15:31:33)


Il vaut mieux montrer que raconter.

Hors ligne

#3 15-03-2018 16:32:25

philev
Membre
Inscription : 15-03-2018

Re : Reconstruction d'un Raid 1 - Disque Spare

Merci pour la réponse rapide.
A la suite de diverses manipulations, j'avais relancé une reconstruction du Raid. Je testerai ce soir quand ce sera terminé
Mais d'après ta note, il va falloir de toutes façon que je reconstruises le Raid en mettant /dev/sdb1 en membre, n'est-ce pas?

Hors ligne

#4 15-03-2018 16:51:02

raleur
Membre
Inscription : 03-10-2014

Re : Reconstruction d'un Raid 1 - Disque Spare

Si la reconstruction sur le nouveau membre est en cours (à confirmer avec cat /proc/mdstat), alors ce dernier deviendra actif dès la fin de la reconstruction.

philev a écrit :

il va falloir de toutes façon que je reconstruises le Raid en mettant /dev/sdb1 en membre, n'est-ce pas?


Pas forcément. Ça dépend de ce que tu as fait exactement. Peux-tu confirmer que tu as créé une partition /dev/sdb1 mais ajouté /dev/sdb au RAID ?
Qu'en est-il de l'autre disque ?


Il vaut mieux montrer que raconter.

Hors ligne

#5 15-03-2018 17:09:19

philev
Membre
Inscription : 15-03-2018

Re : Reconstruction d'un Raid 1 - Disque Spare

J'ai créé une partition sur le disque, elle s'appelle sdb1.
Je l'ai ajouté au Raid

mdadm --add /dev/md0 /dev/sdb



L'autre disque est ajouté en sdc1 (il s'agit d'un disque de 2TO que je vais remplacer quand j'aurai réussi la manipulation sur le premier).

Dans /proc/mdstat il y a :
Personalities : [raid1]
md0 : active raid1 sdb[2](S) sdc2[1]
      1951810363 blocks super 1.2 [2/1] [U_]

Dernière modification par philev (15-03-2018 17:09:43)

Hors ligne

#6 15-03-2018 17:16:38

philev
Membre
Inscription : 15-03-2018

Re : Reconstruction d'un Raid 1 - Disque Spare

La reconstruction est terminée. J'ai appliqué les commandes que tu m'as transmises pour passer le disque enlevé en failed et l'enlever. Apparemment, rien n'a changé.

 mdadm --detail /dev/md0


/dev/md0:
        Version : 1.2
  Creation Time : Sun May 22 21:20:45 2011
     Raid Level : raid1
     Array Size : 1951810363 (1861.39 GiB 1998.65 GB)
  Used Dev Size : 1951810363 (1861.39 GiB 1998.65 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Thu Mar 15 17:16:57 2018
          State : clean, degraded
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1

           Name : PA-Phil:0
           UUID : 6f1718a7:9826df2c:26b7f273:73a0dc9a
         Events : 4963

    Number   Major   Minor   RaidDevice State
       1       8       34        0      active sync   /dev/sdc2
       1       0        0        1      removed

       2       8       16        -      spare   /dev/sdb
 

Hors ligne

#7 15-03-2018 17:17:54

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Reconstruction d'un Raid 1 - Disque Spare

Bonjour
Le raid ne va t'il pas garder l'ancienne capacité de 2To ?

-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#8 15-03-2018 17:26:37

philev
Membre
Inscription : 15-03-2018

Re : Reconstruction d'un Raid 1 - Disque Spare

En principe il y a une option (--grow) de mdadm pour l'étendre à la taille des nouveaux disques quand ils auront remplacé les anciens.
Mais on n'est pas encore là...

Hors ligne

#9 15-03-2018 17:32:42

raleur
Membre
Inscription : 03-10-2014

Re : Reconstruction d'un Raid 1 - Disque Spare

Je n'ai pas l'impression qu'il y ait eu de reconstruction. sdb est toujours marqué comme spare, md0 est toujours marqué dégradé. Lorsqu'une reconstruction est en cours, /proc/mdstat contient une barre d'avancement.

philev a écrit :

L'autre disque est ajouté en sdc1


Vraiment ? D'après /proc/mdstat c'est sdc2.

Dernière modification par raleur (15-03-2018 17:36:20)


Il vaut mieux montrer que raconter.

Hors ligne

#10 15-03-2018 17:41:56

philev
Membre
Inscription : 15-03-2018

Re : Reconstruction d'un Raid 1 - Disque Spare

Il y a bien eu une reconstruction pendant laquelle /proc/mdstat a affiché une barre de progression et /mdadm --detail indiquait qu'il y avait une synchronisation.

Ci-après un extrait de /var/log/messages :

Mar 15 13:01:32 pa-phil kernel: [  383.484792] md: bind<sdb>
Mar 15 13:01:32 pa-phil kernel: [  383.500772] md: recovery of RAID array md0
Mar 15 13:01:32 pa-phil kernel: [  383.500780] md: minimum _guaranteed_  speed: 1000 KB/sec/disk.
Mar 15 13:01:32 pa-phil kernel: [  383.500786] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for recovery.
Mar 15 13:01:32 pa-phil kernel: [  383.500794] md: using 128k window, over a total of 1951810363k.

Mar 15 16:50:23 pa-phil kernel: [14110.007289] ata7.00: configured for UDMA/133
Mar 15 16:50:23 pa-phil kernel: [14110.007378] ata7: EH complete
Mar 15 16:50:28 pa-phil kernel: [14115.690996] ata7.00: configured for UDMA/133
Mar 15 16:50:28 pa-phil kernel: [14115.691090] ata7: EH complete
Mar 15 16:50:33 pa-phil kernel: [14120.276094] ata7.00: configured for UDMA/133
Mar 15 16:50:33 pa-phil kernel: [14120.276187] ata7: EH complete
Mar 15 16:50:38 pa-phil kernel: [14125.314503] ata7.00: configured for UDMA/133
Mar 15 16:50:38 pa-phil kernel: [14125.314599] ata7: EH complete
Mar 15 16:50:42 pa-phil kernel: [14129.327164] ata7.00: configured for UDMA/133
Mar 15 16:50:42 pa-phil kernel: [14129.327257] ata7: EH complete
Mar 15 16:50:47 pa-phil kernel: [14134.665769] ata7.00: configured for UDMA/133
Mar 15 16:50:47 pa-phil kernel: [14134.665859] ata7: EH complete
Mar 15 16:50:52 pa-phil kernel: [14139.601027] ata7.00: configured for UDMA/133
Mar 15 16:50:52 pa-phil kernel: [14139.601124] ata7: EH complete
Mar 15 16:50:57 pa-phil kernel: [14144.492243] ata7.00: configured for UDMA/133
Mar 15 16:50:57 pa-phil kernel: [14144.492338] ata7: EH complete
Mar 15 16:51:00 pa-phil kernel: [14147.399187] ata7.00: configured for UDMA/133
Mar 15 16:51:00 pa-phil kernel: [14147.399324] sd 6:0:0:0: [sdc] Unhandled sense code
Mar 15 16:51:00 pa-phil kernel: [14147.399332] sd 6:0:0:0: [sdc]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Mar 15 16:51:00 pa-phil kernel: [14147.399343] sd 6:0:0:0: [sdc]  Sense Key : Medium Error [current] [descriptor]
Mar 15 16:51:00 pa-phil kernel: [14147.399354] Descriptor sense data with sense descriptors (in hex):
Mar 15 16:51:00 pa-phil kernel: [14147.399359]         72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00
Mar 15 16:51:00 pa-phil kernel: [14147.399381]         87 c0 48 48
Mar 15 16:51:00 pa-phil kernel: [14147.399392] sd 6:0:0:0: [sdc]  Add. Sense: Unrecovered read error - auto reallocate failed
Mar 15 16:51:00 pa-phil kernel: [14147.399403] sd 6:0:0:0: [sdc] CDB: Read(10): 28 00 87 c0 48 44 00 00 80 00
Mar 15 16:51:00 pa-phil kernel: [14147.404135] ata7: EH complete
Mar 15 16:51:03 pa-phil kernel: [14150.447201] ata7.00: configured for UDMA/133
Mar 15 16:51:03 pa-phil kernel: [14150.447252] ata7: EH complete
Mar 15 16:51:08 pa-phil kernel: [14155.665625] ata7.00: configured for UDMA/133
Mar 15 16:51:08 pa-phil kernel: [14155.665669] ata7: EH complete
Mar 15 16:51:11 pa-phil kernel: [14158.580618] ata7.00: configured for UDMA/133
Mar 15 16:51:11 pa-phil kernel: [14158.580663] ata7: EH complete
Mar 15 16:51:14 pa-phil kernel: [14161.495562] ata7.00: configured for UDMA/133
Mar 15 16:51:14 pa-phil kernel: [14161.495607] ata7: EH complete
Mar 15 16:51:17 pa-phil kernel: [14164.410548] ata7.00: configured for UDMA/133
Mar 15 16:51:17 pa-phil kernel: [14164.410597] ata7: EH complete
Mar 15 16:51:20 pa-phil kernel: [14167.325497] ata7.00: configured for UDMA/133
Mar 15 16:51:20 pa-phil kernel: [14167.325539] sd 6:0:0:0: [sdc] Unhandled sense code
Mar 15 16:51:20 pa-phil kernel: [14167.325545] sd 6:0:0:0: [sdc]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Mar 15 16:51:20 pa-phil kernel: [14167.325552] sd 6:0:0:0: [sdc]  Sense Key : Medium Error [current] [descriptor]
Mar 15 16:51:20 pa-phil kernel: [14167.325561] Descriptor sense data with sense descriptors (in hex):
Mar 15 16:51:20 pa-phil kernel: [14167.325566]         72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00
Mar 15 16:51:20 pa-phil kernel: [14167.325585]         87 c0 48 44
Mar 15 16:51:20 pa-phil kernel: [14167.325592] sd 6:0:0:0: [sdc]  Add. Sense: Unrecovered read error - auto reallocate failed
Mar 15 16:51:20 pa-phil kernel: [14167.325603] sd 6:0:0:0: [sdc] CDB: Read(10): 28 00 87 c0 48 44 00 00 08 00
Mar 15 16:51:20 pa-phil kernel: [14167.330343] ata7: EH complete
Mar 15 16:51:20 pa-phil kernel: [14167.335408] md: md0: recovery done.

 

Hors ligne

#11 15-03-2018 17:46:39

philev
Membre
Inscription : 15-03-2018

Re : Reconstruction d'un Raid 1 - Disque Spare

Sinon pour le disque sdc, je l'ai monté il y a plusieurs années, donc sdc1 ou sdc 2 en fait, j'ai oublié ! Si /proc/mdstat dit sdc2 comme tu me l'as fait justement remarquer, il doit avoir raison.

Hors ligne

#12 15-03-2018 18:13:17

raleur
Membre
Inscription : 03-10-2014

Re : Reconstruction d'un Raid 1 - Disque Spare

Il y a eu une erreur physique irrécupérable de lecture/écriture sur sdc. Je suppose que cela a interrompu la reconstruction.
Un petit coup de smartctl s'impose pour voir l'état du disque.

Il vaut mieux montrer que raconter.

Hors ligne

#13 15-03-2018 18:50:29

philev
Membre
Inscription : 15-03-2018

Re : Reconstruction d'un Raid 1 - Disque Spare

J'ai installé smartmontools, lancé deux "short test". Effectivement, il y a un problème :

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed: read failure       90%      5490         2277473290
# 2  Short offline       Completed: read failure       90%      5490         2277473288
 



La question est donc, ai-je une chance de reconstruire un Raid avec ce disque et dois-je tenter une reconstruction à partir de l'autre disque (celui que j'avais enlevé) ?

Hors ligne

#14 15-03-2018 20:44:34

raleur
Membre
Inscription : 03-10-2014

Re : Reconstruction d'un Raid 1 - Disque Spare

Ce n'est probablement pas une bonne idée d'utiliser ce disque comme source pour la reconstruction.

Puisque la reconstruction a échoué, je te suggère dans un premier temps de remettre le nouveau disque de 6 To au propre :
- le retirer de md0
- effacer ses méta-données (superbloc RAID et table de partition partiellement écrasée) avec wipefs
- recréer une table de partition GPT et une partition RAID avec gdisk, fdisk, parted...

Ensuite, tu peux te demander si la reconstruction dans le même ensemble RAID est la meilleure méthode pour transférer les données sur les nouveaux disques. Ne serait-ce pas plus simple et plus sûr de créer un nouvel ensemble RAID (d'abord dégradé avec un seul disque) de 6 To et d'y copier les données de façon classique ? Ainsi il ne sera pas nécessaire de faire d'agrandissement de l'ensemble RAID.

Il vaut mieux montrer que raconter.

Hors ligne

#15 15-03-2018 23:22:55

philev
Membre
Inscription : 15-03-2018

Re : Reconstruction d'un Raid 1 - Disque Spare

Si je comprends bien tu me suggères de :
1. Abandonner la stratégie consistant à reconstruire le raid à partir du raid existant md0
2. Créer un nouveau Raid dans lequel je mettrai un disque 6TO auquel j'aurai fait une virginité
3. Copier les données de l'ancien Raid (qui fonctionne sur un seul disque) vers le nouveau (qui fonctionnera alors aussi sur un seul disque)
4. Compléter le nouveau Raid en ajoutant le deuxième disque de 6TO.
Je vais regarder cela demain. Il faut que je comprenne comment fonctionne le wipefs que tu me suggères d'utiliser.

En tout cas merci pour ton aide.

Hors ligne

#16 16-03-2018 20:30:23

raleur
Membre
Inscription : 03-10-2014

Re : Reconstruction d'un Raid 1 - Disque Spare

Tu as bien compris. Vois-le comme une alternative, pas une recommandation.

Pour la copie, tu as encore deux options :
- formatage du nouveau, montage des deux et copie des fichiers avec rsync, cp -a ou équivalent
- démontage de l'ancien, copie bloc à bloc (clonage) avec dd, partclone ou équivalent (si le volume est bien rempli ce sera peut-être plus efficace que la copie de fichiers) et agrandissement du nouveau avec le programme correspondant (resize2fs si ext4)

Note que le clonage va copier l'UUID et le LABEL du système de fichiers, donc si le volume est identifié par l'un ou l'autre dans fstab, il n'y aura pas de modification à faire dans ce fichier. Ce n'est pas le cas avec la copie dans un nouveau volume fraîchement formaté.

Pour finir, le cas échéant il faudra remplacer la définition de l'ancien volume par celle du nouveau dans /etc/mdadm/mdadm.conf, avec les informations fournies par

mdadm --detail --scan

Dernière modification par raleur (16-03-2018 20:31:10)


Il vaut mieux montrer que raconter.

Hors ligne

#17 16-03-2018 22:57:33

philev
Membre
Inscription : 15-03-2018

Re : Reconstruction d'un Raid 1 - Disque Spare

Une précision s'il te plaît.
La copie par dd se fait sur les disques /dev/sdb1 / dev/sdc1 ou sur les volumes Raids /dev/md0 et /dev/md1 (l'ancien et le nouveau Raid), sachant que je n'ai qu'un disque branché par Raid (car je n'ai que trois port Sata dont un occupé par le système) ?

Hors ligne

#18 16-03-2018 23:11:12

raleur
Membre
Inscription : 03-10-2014

Re : Reconstruction d'un Raid 1 - Disque Spare

Les volumes RAID. On ne lit ou écrit jamais directement dans les membres de RAID.

Il vaut mieux montrer que raconter.

Hors ligne

#19 17-03-2018 02:32:54

root@rkn
Membre
Lieu : Grenoble
Distrib. : Debian 10 Apache2 HTTPS HTTP/2 BROTLI REDIS
Noyau : PROD: 4.19.37-5 (2019-06-19) x86_64
(G)UI : headless - aucun
Inscription : 24-02-2018
Site Web

Re : Reconstruction d'un Raid 1 - Disque Spare

Bonjour,

perso, en raid6 ( 8*6TO ) sur mon serveur j'utilise mdadm ET lvm. 
Je viens de finir une procedure de remplacement de disque reconstruction, en remplaçant mes disques de 2TO par des 6TO.

c'est lonnnnnng, mais c'est bon  smile

- If it works, dont update it.
- You don't know how, just do it, you will learn.
- Test, re-stest, test again, and maybe it will work.
- https://nextcloud.rkn.ovh/index.php/s/3yp93A7oNMPexcp

Hors ligne

#20 22-03-2018 13:22:45

philev
Membre
Inscription : 15-03-2018

Re : Reconstruction d'un Raid 1 - Disque Spare

Bonjour,
J'ai réussi à reconstruire le Raid. J'ai créé un nouveau RAID avec un disque de 6TO et j'ai entrepris de recopier le premier (/dev/md0) sur le deuxième (/dev/md1).
Dans un premier temps, j'ai essayé avec dd. Mais comme le disque d'origine avait des erreurs de lectures, la commande a signalé des erreurs à la lecture. Logique. Le problème était que je ne pouvais pas identifier les fichiers qui avaient été perdus dans le processus.
J'ai donc abandonné cette procédure et recommencé la copie (après avoir recréé le raid md1) en recopiant les données avec rsync, lequel a lui aussi échoué à copier une partie du disque d'origine, mais en identifiant les fichiers en échec. J'ai donc pu par la suite les récupérer d'une sauvegarde.
J'ai ensuite retiré le disque d'origine, mis un second disque de 6 TO et l'ai ajouté au RAID. Et le RAID s'est reconstruit, sans erreur, avec les deux disques actifs, plus de "spare".
Problème initial résolu. Merci à raleur pour ses conseils.

Il me reste un autre problème sad : le Raid ne se monte automatiquement pas au boot. Je reçois le message suivant:

fsck.ext4: Unable to resolve 'UUID=xxxxxx'
fsck died with exit status 8

et le boot s'interrompt.
Un mount -a donne le même message. Je peux cependant monter le raid manuellement par mount /dev/md1, mais c'est embêtant de faire cela à tous les démarrages...

Le UUID=xxx est bien renseigné dans /etc/fstab, il est aussi présent dans /etc/mdadm/mdadm.conf. Par contre, il est absent du répertoire /dev/disks/bu-UUID. C'est un autre UUID qui pointe sur /dev/md1. (sans doute correspond-il à la première création du Raid md1 lors de mes manipulations successives.

Un grand merci d'avance à celui qui pourra m'aider pour que le raid se monte automatiquement au boot.

Dernière modification par philev (22-03-2018 13:23:13)

Hors ligne

#21 22-03-2018 16:28:07

raleur
Membre
Inscription : 03-10-2014

Re : Reconstruction d'un Raid 1 - Disque Spare

philev a écrit :

Le UUID=xxx est bien renseigné dans /etc/fstab, il est aussi présent dans /etc/mdadm/mdadm.conf


Ce n'est pas le même UUID. L'UUID dans fstab doit être celui du système de fichiers ext4 (affiché par tune2fs -l ou blkid sur l'ensemble RAID /dev/mdX par exemple) alors que celui dans mdadm.conf doit être celui de l'ensemble RAID, affiché entre autres par mdadm --examine ou blkid sur un membre /dev/sdXY.

Dernière modification par raleur (22-03-2018 16:28:32)


Il vaut mieux montrer que raconter.

Hors ligne

#22 22-03-2018 17:34:41

philev
Membre
Inscription : 15-03-2018

Re : Reconstruction d'un Raid 1 - Disque Spare

Merci !

J'ai mis le bon UUID (celui donné par blkid /dev/md1), rebooté et ça marche ! Le Raid est actif et redémarre tout seul.
smile

Hors ligne

Pied de page des forums