Redimensionner un RAID dégradé (/dev/md1)
Ce guide explique pas à pas comment réduire la taille d’un ensemble RAID1 dégradé (/dev/md1) composé de /dev/sda5 et /dev/sdb5, où /dev/sda5 est défaillant. Il couvre la préparation, la réduction du système de fichiers et des volumes LVM, le redimensionnement de /dev/md1, puis la remise en état de l’ensemble RAID.
Important
- Sauvegardez toujours les données critiques avant toute opération sur les volumes.
- L’opération mdadm –zero-superblock sur le disque retiré est essentielle pour éviter des conflits au redémarrage.
Définitions rapides
- RAID1 : miroir disque-à-disque.
- PV : Physical Volume (LVM).
- VG : Volume Group (LVM).
- LV : Logical Volume (LVM).
1 Contexte et état initial
Je décris comment redimensionner l’ensemble dégradé /dev/md1 constitué de /dev/sda5 et /dev/sdb5, où /dev/sda5 a échoué.
Extrait de l’état RAID :
cat /proc/mdstat
server1:~# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb5[1]
4988032 blocks [2/1] [_U]
md0 : active raid1 sda1[0] sdb1[1]
248896 blocks [2/2] [UU]
unused devices:
server1:~#
Espace disque et volumes LVM :
df -h
server1:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/server1-root 4.5G 741M 3.5G 18% /
tmpfs 126M 0 126M 0% /lib/init/rw
udev 10M 68K 10M 1% /dev
tmpfs 126M 0 126M 0% /dev/shm
/dev/md0 236M 18M 206M 8% /boot
server1:~#
État du PV (physical volume) :
pvdisplay
server1:~# pvdisplay
— Physical volume —
PV Name /dev/md1
VG Name server1
PV Size 4.75 GB / not usable 0
Allocatable yes (but full)
PE Size (KByte) 4096
Total PE 1217
Free PE 0
Allocated PE 1217
PV UUID Ntrsmz-m0o1-WAPD-xhsb-YpH7-0okm-qfdBQG
server1:~#
État du VG :
vgdisplay
server1:~# vgdisplay
— Volume group —
VG Name server1
Format lvm2
Metadata Areas 1
VG Access read/write
VG Status resizable
Cur LV 2
Cur PV 1
VG Size 4.75 GB
PE Size 4.00 MB
Total PE 1217
Alloc PE / Size 1217 / 4.75 GB
Free PE / Size 0 / 0
server1:~#
État des LV :
lvdisplay
server1:~# lvdisplay
— Logical volume —
LV Name /dev/server1/root
VG Name server1
LV Size 4.50 GB
Current LE 1151
— Logical volume —
LV Name /dev/server1/swap_1
VG Name server1
LV Size 264.00 MB
Current LE 66
server1:~#
Note : les tailles affichées indiquent que le PV (/dev/md1) fait 4.75 GB et que la racine (root) occupe actuellement 4.50 GB.
2 Objectif
Réduire /dev/md1 de ~5 GB à 4 GB, en conservant les LVs utiles et en recréant le swap si nécessaire. Étapes clés :
- Nettoyer le disque défaillant du RAID.
- Démarrer en mode rescue et activer mdadm + LVM.
- Réduire le système de fichiers, puis le LV, puis le PV.
- Redimensionner l’ensemble RAID.
- Réétendre puis rééquilibrer LVM et remettre le disque en miroir.
3 Procédure détaillée
3.0 Préparation avant rescue
- Vérifiez que /dev/sda5 est bien considéré comme défaillant.
- Sur la machine en production, marquez et retirez /dev/sda5 du md1 :
mdadm --manage /dev/md1 --fail /dev/sda5
mdadm --manage /dev/md1 --remove /dev/sda5
Important
Exécutez ensuite :
mdadm --zero-superblock /dev/sda5
Ceci efface l’en-tête mdadm du disque. Si vous oubliez cette étape, le système pourrait refuser d’ajouter à nouveau le disque au miroir après redémarrage.
3.1 Démarrer en rescue et activer les modules
Dans l’environnement rescue, activez les modules nécessaires :
modprobe md
modprobe linear
modprobe multipath
modprobe raid0
modprobe raid1
modprobe raid5
modprobe raid6
modprobe raid10
Activez ensuite les ensembles :
cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf_orig
mdadm --examine --scan >> /etc/mdadm/mdadm.conf
mdadm -A --scan
Puis démarrez LVM :
/etc/init.d/lvm start
3.2 Vérification et contrôle du système de fichiers
Avant toute réduction, vérifiez le système de fichiers du LV racine :
e2fsck -f /dev/server1/root
Cible actuelle : /dev/md1 a ~5GB ; objectif final de l’ensemble RAID = 4GB.
Plan résumé (raisonnement) :
- Réduire le système de fichiers à une taille sûre (ex. 2GB) pour laisser de la marge.
- Réduire le LV root à 2.5GB.
- Supprimer ou adapter le LV swap s’il est placé à la fin du PV.
- Redimensionner le PV à 3GB.
- Réduire l’ensemble md1 à 4GB (valeur en KiB : 4 × 1024 × 1024 = 4194304).
- Agrandir ensuite le PV au maximum et recréer le swap, puis agrandir le LV root pour utiliser l’espace disponible.
3.3 Réduire le système de fichiers et le LV root
Réduisez d’abord l’ext4 (ou ext3) du LV root. Adaptez la taille selon vos données :
resize2fs /dev/server1/root 2G
Ensuite réduisez le LV :
lvreduce -L2.5G /dev/server1/root
Note
Choisissez des valeurs qui couvrent toutes vos données. Si resize2fs indique que la taille est trop petite, annulez et reprenez avec une taille plus grande.
3.4 Supprimer ou ajuster le swap
Si /dev/server1/swap_1 est situé physiquement à la fin du PV, vous pouvez le supprimer pour libérer de l’espace contigu. Sinon, ajustez le dernier LV présent sur le PV.
lvremove /dev/server1/swap_1
3.5 Redimensionner le PV
Réduisez le PV pour refléter l’espace disponible souhaité sur le RAID :
pvresize --setphysicalvolumesize 3G /dev/md1
3.6 Redimensionner l’ensemble RAID md1
La taille doit être fournie en KiBytes et divisible par 64. Pour 4GB : 4 × 1024 × 1024 = 4194304
mdadm --grow /dev/md1 --size=4194304
3.7 Ré-expansion du PV et recréation du swap
Après avoir réduit le RAID, demandez au PV d’utiliser tout l’espace disponible :
pvresize /dev/md1
Vérifiez le VG :
vgdisplay
Exemple de sortie attendue (adaptée à votre cas) :
root@Knoppix:~# vgdisplay
— Volume group —
VG Name server1
VG Size 4.00 GB
Total PE 1023
Alloc PE / Size 640 / 2.50 GB
Free PE / Size 383 / 1.50 GB
Si vous avez suffisamment de PE libres, recréez le swap :
lvcreate --name swap_1 -l 66 server1
mkswap /dev/server1/swap_1
Vérifiez à nouveau le VG puis augmentez le LV root si nécessaire :
lvextend -l +317 /dev/server1/root
resize2fs /dev/server1/root
e2fsck -f /dev/server1/root
3.8 Réintégrer le disque réparé
Une fois le système démarré normalement, remettez /dev/sda5 dans le miroir :
mdadm --zero-superblock /dev/sda5
mdadm -a /dev/md1 /dev/sda5
Contrôlez la synchronisation :
cat /proc/mdstat
Vous devriez voir /dev/sdb5 et /dev/sda5 en cours de synchronisation.
4 SOP condensé — checklist opérateur
Avant (pré-flight)
- Sauvegarde récente validée.
- Accès console ou KVM et image rescue prête.
- Notez UUIDs des PV/LV (lvdisplay, pvdisplay).
Opérations principales
- mdadm –manage … –fail et –remove sur /dev/sda5.
- mdadm –zero-superblock /dev/sda5.
- Boot rescue, modprobe des modules RAID et LVM.
- mdadm -A –scan et /etc/init.d/lvm start.
- e2fsck -f /dev/server1/root.
- resize2fs sur le filesystem (taille sûre).
- lvreduce du LV root.
- lvremove du swap si nécessaire.
- pvresize –setphysicalvolumesize (taille PV cible).
- mdadm –grow –size=
. - pvresize pour étendre PV.
- recréer swap, lvextend root, resize2fs.
- e2fsck final, redémarrage normal, réintégration du disque.
Après
- Vérifier /proc/mdstat
- Vérifier vgdisplay et lvdisplay
- Vérifier dmesg / syslog pour erreurs
5 Risques, échecs possibles et mitigations
Risque : réduction trop agressive du système de fichiers.
Mitigation : vérifier l’espace utilisé (du -sh / home, du -sh /var) et réduire avec marge. Toujours e2fsck avant et après.Risque : oublier mdadm –zero-superblock sur le disque retiré.
Mitigation : exécuter la commande et vérifier l’absence d’en-tête avec mdadm –examine.Risque : operations sur le mauvais disque / LV.
Mitigation : vérifier les UUID et résultats de lvdisplay, pvdisplay, mdadm –detail avant chaque commande destructive.Risque : PV non réductible parce que LVs non déplacés.
Mitigation : utilisez pvmove pour déplacer données, ou supprimez le LV situé physiquement à la fin.
6 Table de conversion et calcul rapide
- 1 KiB = 1024 octets
- 1 MiB = 1024 KiB
- 1 GiB = 1024 MiB
Calcul mdadm pour 4 GiB : 4 × 1024 × 1024 = 4 194 304 KiB
La valeur doit être divisible par 64 (alignement mdadm).
7 Critères d’acceptation
- Le VG montre la taille attendue (ex. 4.00 GB).
- Les LVs critiques (/dev/server1/root, swap_1) sont montables et intacts.
- /proc/mdstat montre les deux disques synchronisés.
- e2fsck retourne OK sans erreurs critiques.
8 Cheatsheet commandes importantes
- Retirer et nettoyer disque RAID :
mdadm --manage /dev/md1 --fail /dev/sda5
mdadm --manage /dev/md1 --remove /dev/sda5
mdadm --zero-superblock /dev/sda5
- Recréer mdadm.conf et monter arrays :
mdadm --examine --scan >> /etc/mdadm/mdadm.conf
mdadm -A --scan
- LVM :
e2fsck -f /dev/server1/root
resize2fs /dev/server1/root 2G
lvreduce -L2.5G /dev/server1/root
lvremove /dev/server1/swap_1
pvresize --setphysicalvolumesize 3G /dev/md1
mdadm --grow /dev/md1 --size=4194304
pvresize /dev/md1
lvcreate --name swap_1 -l 66 server1
mkswap /dev/server1/swap_1
lvextend -l +317 /dev/server1/root
resize2fs /dev/server1/root
9 Réponses aux cas particuliers et alternatives
- Si vous avez pvmove disponible et suffisamment d’espace, vous pouvez déplacer les extents afin d’éviter de supprimer un LV :
pvmove /dev/md1
Si le LV swap n’est pas à la fin, ne le supprimez pas ; réduisez plutôt le LV situé physiquement à la fin du PV.
Si vous ne pouvez pas démarrer en rescue, démontez la machine et branchez les disques sur une autre hôte pour effectuer les opérations en sécurité.
10 Glossaire (une ligne par terme)
- PV : Volume physique géré par LVM.
- VG : Groupe de volumes contenant des LVs.
- LV : Volume logique monté comme système de fichiers ou swap.
- mdadm : utilitaire de gestion des ensembles RAID sur Linux.
11 Courte annonce pour équipe (100–200 mots)
Nous avons réduit avec succès l’ensemble RAID principal /dev/md1 afin d’optimiser l’utilisation des disques et préparer le remplacement du matériel défaillant. Pendant l’opération, nous avons démarré en mode rescue, nettoyé l’en-tête du disque défaillant, redimensionné le système de fichiers puis les volumes LVM, et réduit l’ensemble RAID à 4 GiB. Le swap a été recréé et le disque réparé a été réintégré et resynchronisé. Aucune donnée critique n’a été perdue. Les administrateurs doivent vérifier les sauvegardes et surveiller les logs pendant 48 heures.
12 Résumé final
Ce guide décrit la séquence sûre pour redimensionner un RAID1 dégradé, en insistant sur les étapes critiques : zéro du superbloc, vérification du système de fichiers, réduction ordonnée filesystem→LV→PV→mdadm, et enfin réintégration du disque. Respectez les vérifications avant/après chacune des opérations et conservez des sauvegardes à jour.
Notes
- Adaptez toutes les tailles (G, MiB, PE) à votre environnement et à l’espace réellement utilisé.
- Ne travaillez jamais sur des volumes en production sans plan de rollback et sauvegardes.
Matériaux similaires

Pourquoi l'estimation d'autonomie d'un PC portable fluctue

Créer un Video Overview avec NotebookLM

Empêcher les applications Android en arrière-plan
Redimensionner un RAID dégradé (/dev/md1)

Réparer le son des Stories Instagram sur iPhone
