Problème Raid1 - mdadm

Bonjour,

j’ai eu une coupure de courant alors que le raid1 était en reconstruction. Du coup, au redémarrage de la machine la partition md0 ne monte plus, donc impossible de décrypter (luks) et monter pour récupérer les données.

je ne m’y connais pas assez dans ce domaine. j’ai lancé quelques commandes pour vous communiquer quelques informations sur l’état actuel du raid. Pouvez vous m’aider à le reconstruire, svp ?

lsblk :

sdb        8:16   0   1,8T  0 disk  
└─sdb1     8:17   0   1,8T  0 part  
sdc        8:32   0   1,8T  0 disk  
└─sdc1     8:33   0   1,8T  0 part  

cat /proc/mdstat

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : inactive sdb1[2]
1953348608 blocks super 1.2

unused devices: <none>

mdadm --misc --detail /dev/md0

/dev/md0:
           Version : 1.2
     Creation Time : Mon Feb 20 20:06:18 2017
        Raid Level : raid1
     Used Dev Size : 1953348608 (1862.86 GiB 2000.23 GB)
      Raid Devices : 2
     Total Devices : 1
       Persistence : Superblock is persistent

       Update Time : Mon Nov  6 08:50:02 2023
             State : active, FAILED, Not Started 
    Active Devices : 0
   Working Devices : 1
    Failed Devices : 0
     Spare Devices : 1

Consistency Policy : unknown

    Number   Major   Minor   RaidDevice State
       -       0        0        0      removed
       -       0        0        1      removed

       -       8       17        0      spare rebuilding   /dev/sdb1

mdadm --manage /dev/md0 --add /dev/sdc1

mdadm: cannot load array metadata from /dev/md0

Bonjour,

Quel est le disque sur lequel les données sont correctes?
Car tu garde ce disque là en autonome (désolé je n’ai pas les commandes en têtes.
Tu détruit le second disque (tu effaces tout , tu reconstruis les partitions) et tu le rajoute dans le raid. Le RAID va se charger de le mettre à jour.

Pourquoi l’ensemble RAID était-il en reconstruction ?
Si /dev/sdb1 est marqué « rebuilding », le disque actif devrait être /dev/sdc1 mais il n’est pas listé.
On peut regarder les méta-données RAID des deux partitions pour en savoir plus.

mdadm --examine /dev/sd[bc]*

Merci.
Peut être à cause de coupures de courant durant les sauvegardes automatiques ? Mais rien de volontaire ni mauvaise manip.

mdadm --examine /dev/sd[bc]*
/dev/sdb:
MBR Magic : aa55
Partition[0] : 4294967295 sectors at 1 (type ee)
/dev/sdb1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x3
Array UUID :
Name : localhost
Creation Time : Mon Feb 20 20:06:18 2017
Raid Level : raid1
Raid Devices : 2

Avail Dev Size : 3906697216 (1862.86 GiB 2000.23 GB)
Array Size : 1953348608 (1862.86 GiB 2000.23 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Recovery Offset : 1462962816 sectors
Unused Space : before=262064 sectors, after=0 sectors
State : clean
Device UUID :

Internal Bitmap : 8 sectors from superblock
Update Time : Mon Nov 6 08:50:02 2023
Bad Block Log : 512 entries available at offset 16 sectors
Checksum : 7574f269 - correct
Events : 7000949

Device Role : Active device 0
Array State : AA (‹ A › == active, ‹ . › == missing, ‹ R › == replacing)
/dev/sdc:
MBR Magic : aa55
Partition[0] : 3906963455 sectors at 1 (type ee)
/dev/sdc1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID :
Name : localhost
Creation Time : Mon Feb 20 20:06:18 2017
Raid Level : raid1
Raid Devices : 2

Avail Dev Size : 3906699231 (1862.86 GiB 2000.23 GB)
Array Size : 1953348608 (1862.86 GiB 2000.23 GB)
Used Dev Size : 3906697216 (1862.86 GiB 2000.23 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262064 sectors, after=2015 sectors
State : clean
Device UUID :

Internal Bitmap : 8 sectors from superblock
Update Time : Mon Nov 6 08:50:00 2023
Bad Block Log : 512 entries available at offset 16 sectors
Checksum : f764520f - correct
Events : 7000947

Device Role : Active device 1
Array State : AA (‹ A › == active, ‹ . › == missing, ‹ R › == replacing)

Bonjour,

J’ai sauvegardé puis supprimé le fichier /etc/mdadm/mdadm.conf et j’ai rescanné avec mdadm.

mdadm --assemble --scan --verbose
mdadm: looking for devices for further assembly
mdadm: no recogniseable superblock on /dev/dm-0
mdadm: No super block found on /dev/sdc (Expected magic a92b4efc, got 00000000)
mdadm: no RAID superblock on /dev/sdc
mdadm: No super block found on /dev/sdb (Expected magic a92b4efc, got 00000000)
mdadm: no RAID superblock on /dev/sdb
mdadm: No super block found on /dev/sda3 (Expected magic a92b4efc, got 656b227b)
mdadm: no RAID superblock on /dev/sda3
mdadm: No super block found on /dev/sda2 (Expected magic a92b4efc, got 20227030)
mdadm: no RAID superblock on /dev/sda2
mdadm: No super block found on /dev/sda1 (Expected magic a92b4efc, got 00000401)
mdadm: no RAID superblock on /dev/sda1
mdadm: No super block found on /dev/sda (Expected magic a92b4efc, got 00000401)
mdadm: no RAID superblock on /dev/sda
mdadm: Fail create md0 when using /sys/module/md_mod/parameters/new_array
mdadm: /dev/sdc1 is identified as a member of /dev/md/0, slot 1.
mdadm: /dev/sdb1 is identified as a member of /dev/md/0, slot 0.
mdadm: added /dev/sdc1 to /dev/md/0 as 1 (possibly out of date)
mdadm: added /dev/sdb1 to /dev/md/0 as 0
mdadm: /dev/md/0 assembled from 0 drives and 1 rebuilding - not enough to start the array.
mdadm: looking for devices for further assembly
mdadm: No arrays found in config file or automatically

sda1, sda2 et sda3 ne sont pas concernés. C’est juste le ssd où est installé le système.

ça serait là le poroblème ? added /dev/sdc1 to /dev/md/0 as 1 (

possibly out of date

)

Possible. On peut voir dans la sortie de --examine que sdc1 (le membre supposément en bon état) a un Update Time plus ancien et un nombre d’Events inférieur à sdb1 (le membre en cours de reconstruction).
J’entrevois deux actions possibles :

  • arrêter md0 et l’assembler en mode dégradé (–run) avec sdc1 seul, puis ajouter sdb1 pour reprendre sa reconstruction
  • ou arrêter md0 et l’assembler en force (–force) avec les deux partitions.

mdadm --examine /dev/sdc1
/dev/sdc1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID :
Name : localhost
Creation Time : Mon Feb 20 20:06:18 2017
Raid Level : raid1
Raid Devices : 2

Avail Dev Size : 3906699231 (1862.86 GiB 2000.23 GB)
Array Size : 1953348608 (1862.86 GiB 2000.23 GB)
Used Dev Size : 3906697216 (1862.86 GiB 2000.23 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262064 sectors, after=2015 sectors
State : clean
Device UUID :

Internal Bitmap : 8 sectors from superblock
Update Time : Mon Nov 6 08:50:00 2023
Bad Block Log : 512 entries available at offset 16 sectors
Checksum : f764520f - correct
Events : 7000947

Device Role : Active device 1
Array State : AA (‹ A › == active, ‹ . › == missing, ‹ R › == replacing)

On avait déjà ces informations plus haut.

Je me suis aperçu aprés coup mdr

j’ai vu quelque part la commande « mdadm --zero-superblock », mais je ne maîtrise rien du tout.
ça serait aussi une solution à essayer ?

Ça efface les méta-données RAID d’une partition donc ne règle rien en soi. Eventuellement après avoir vérifié que l’assemblage en dégradé avec sdc1 seul fonctionne, tu peux effacer sdb1 avant de le réintégrer pour reconstruction complète.

mdadm --assemble --run /dev/md0 /dev/sdc1
mdadm: Fail create md0 when using /sys/module/md_mod/parameters/new_array
mdadm: /dev/md0 has been started with 1 drive (out of 2).

cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active (auto-read-only) raid1 sdc1[3]
1953348608 blocks super 1.2 [2/1] [_U]
bitmap: 12/15 pages [48KB], 65536KB chunk

unused devices:

mdadm --manage /dev/md0 --add /dev/sdb1
mdadm: re-added /dev/sdb1
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb1[2] sdc1[3]
1953348608 blocks super 1.2 [2/1] [_U]
[>…] recovery = 0.0% (89536/1953348608) finish=2181.1min speed=14922K/sec
bitmap: 12/15 pages [48KB], 65536KB chunk

unused devices:

Un grand MERCI !!!

C’est normal que ce soit aussi lent ?
Le raid1 est constitué de 2 disques de 2TO, connectés en usb 2.0. la reconstruction en a encore pour plusieurs jours. j’espère qu’il n’y aura pas de micro coupures de courant. L’onduleur qui était sensé protéger la machine des coupures électriques est tombé en panne…

cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb1[2] sdc1[3]
1953348608 blocks super 1.2 [2/1] [_U]
[===========>…] recovery = 55.9% (1092316480/1953348608) finish=4478.2min speed=3204K/sec
bitmap: 7/15 pages [28KB], 65536KB chunk

Si cela peut aider quelqu’un, un jour.
Le problème venait de l’alimentation, le l’ai remplacée, le débit des ports usb a stabilisé à environ 20Mo/s
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb1[2] sdc1[3]
1953348608 blocks super 1.2 [2/1] [_U]
[>…] recovery = 0.1% (2345920/1953348608) finish=1501.0min speed=21661K/sec
bitmap: 7/15 pages [28KB], 65536KB chunk