Cerebro Seco

Se faciliter la vie informatique sans sacrifier ses principes!

Aller au contenu | Aller au menu | Aller à la recherche

Comment forcer une resynchronisation RAID1 sur Synology DSM 6.2 sans formater le disque (méthode rapide)

Il y a deux semaines je détaillais la méthode pour resynchroniser manuellement une tranche RAID1 en cas d'avarie sur l'un des disques. C'était long parce que j'avais formaté le disque dur, espérant que cela efface l'erreur. Voilà qu'hier, le même disque dur remet ça, 97 erreurs CRC d'un coup. N'étant toujours pas en position d'acheter un autre disque dur et DSM étant toujours aussi pusillanime, j'ai remis ça.

La méthode rapide est conceptuellement très simple; on retire virtuellement la partition fautive, puis on la remet. Le disque dur physique, lui, ne bouge pas.

Pour garder une bonne habitude, on vérifie encore quelles partition sont appariées et comment:

$ cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] 
md2 : active raid1 sda5[2](F) sdb5[3]
      3902187456 blocks super 1.2 [2/1] [_U]
      
md3 : active raid1 sda6[2](F) sdb6[1]
      3906998912 blocks super 1.2 [2/1] [_U]
      
md1 : active raid1 sda2[2](F) sdb2[1]
      2097088 blocks [2/1] [_U]
      
md0 : active raid1 sda1[0] sdb1[1]
      2490176 blocks [2/2] [UU]
      
unused devices: <none>

Bilan: md2 est constitué de sda5 et sdb5, md3 de sda6 et sdb6, et md1 de sda2 et sdb2. Le (F) indique que les partitions sont marquées comme "Failed".

On les "retire" à chaud, puis on les rebranche:

$ sudo mdadm --remove /dev/md1 /dev/sda2
mdadm: hot removed /dev/sda2 from /dev/md1
$ sudo mdadm --remove /dev/md2 /dev/sda5
mdadm: hot removed /dev/sda5 from /dev/md2
$ sudo mdadm --remove /dev/md3 /dev/sda6
mdadm: hot removed /dev/sda6 from /dev/md3

puis:

$ sudo mdadm --add /dev/md1 /dev/sda2
mdadm: added /dev/sda2
$ sudo mdadm --add /dev/md2 /dev/sda5
mdadm: added /dev/sda5
$ sudo mdadm --add /dev/md3 /dev/sda6
mdadm: added /dev/sda6

Il n'y a plus qu'à attendre la resynchronisation, dont on peut suivre le progrès dans la ligne de commande ou dans la GUI.

Évidemment ce n'est pas une panacée, je me doute bien que d'autres erreurs surgiront et qu'il faudra encore intervenir.