Mon NAS Netgear tourne en RAID1 dégradé depuis quelques jours (un seul disque sur les 2 baies). Je viens de remettre le 2e disque, vide. La procédure tient en 3 commandes — avec quelques pièges.
État de départ
$ lsblk
sda 1.8T WDC WD20EARX ← actif (RAID member)
├─sda2 8G → md125 ext4 / (mounted)
├─sda3 2G → md126 [SWAP]
└─sda4 1.8T → md127 /srv/data
sdb 1.8T WDC WD20EFRX ← nouveau, vide
$ cat /proc/mdstat
md125 : raid1 sda2[1] [2/1] [_U] ← dégradé
md126 : raid1 sda3[1] [2/1] [_U]
md127 : raid1 sda4[1] [2/1] [_U]
Procédure
1. Cloner la GPT
sgdisk -R copie l’intégralité de la table GPT (partitionnement secteur par secteur) :
$ sudo sgdisk -R /dev/sdb /dev/sda
⚠️ Attention : -R DEST SOURCE. Inverser → écrase la source.
2. Régénérer le GUID
Sans ça, sda et sdb ont les mêmes GUID → conflit pour les outils GPT :
$ sudo sgdisk -G /dev/sdb
Change le GUID disque ET tous les GUID de partitions.
3. Vérifier que le kernel voit les partitions
$ ls /dev/sdb*
/dev/sdb /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb4
Si manquantes : partprobe /dev/sdb ou blockdev --rereadpt /dev/sdb.
4. Ajouter aux arrays mdadm
$ sudo mdadm --add /dev/md125 /dev/sdb2
$ sudo mdadm --add /dev/md126 /dev/sdb3
$ sudo mdadm --add /dev/md127 /dev/sdb4
$ cat /proc/mdstat
md125 : active raid1 sdb2[2] sda2[1]
[>....................] recovery = 0.0% finish=69.8min
md127 : active raid1 sdb4[2](S) sda4[1]
mdadm sérialise les resync (un à la fois). Le (S) = « spare en attente ».
5. Persister la config
$ sudo mdadm --detail --scan | sudo tee /etc/mdadm/mdadm.conf
$ sudo update-initramfs -u
Sans ça, le boot suivant peut tomber sur des arrays mal nommés (md0 vs md125).
6. Attendre
Sur Atom + 2 disques 2 To : ~5-6h à 100 MB/s. Le système reste utilisable.
Pièges
- Sans
sgdisk -G: conflits GUID, certains outils refusent. - Si le 2e disque a déjà des superblocs RAID (autre array précédent) :
mdadm --zero-superblock /dev/sdb*AVANT, sinon mdadm s’embrouille. - Pas besoin d’éteindre le serveur : RAID1 + hotswap SATA = fait pour ça.
Lessons learned
sgdisk -R DEST SOURCE+sgdisk -G DEST: le couple clé pour cloner GPT sans conflit.mdadm --addenclenche le resync auto. Pas besoin de--manageou--re-add.--detail --scan > mdadm.confessentiel après changement de topology.