Guide des technologies

Redimensionner un RAID dégradé (/dev/md1)

8 min read Administration système Mis à jour 22 Sep 2025
Redimensionner un RAID dégradé (/dev/md1)
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

  1. Vérifiez que /dev/sda5 est bien considéré comme défaillant.
  2. 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

  1. mdadm –manage … –fail et –remove sur /dev/sda5.
  2. mdadm –zero-superblock /dev/sda5.
  3. Boot rescue, modprobe des modules RAID et LVM.
  4. mdadm -A –scan et /etc/init.d/lvm start.
  5. e2fsck -f /dev/server1/root.
  6. resize2fs sur le filesystem (taille sûre).
  7. lvreduce du LV root.
  8. lvremove du swap si nécessaire.
  9. pvresize –setphysicalvolumesize (taille PV cible).
  10. mdadm –grow –size=.
  11. pvresize pour étendre PV.
  12. recréer swap, lvextend root, resize2fs.
  13. 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.
Auteur
Édition

Matériaux similaires

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

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

Créer un Video Overview avec NotebookLM
Outils d'étude

Créer un Video Overview avec NotebookLM

Empêcher les applications Android en arrière-plan
Mobile

Empêcher les applications Android en arrière-plan

Redimensionner un RAID dégradé (/dev/md1)
Administration système

Redimensionner un RAID dégradé (/dev/md1)

Réparer le son des Stories Instagram sur iPhone
Dépannage iPhone

Réparer le son des Stories Instagram sur iPhone

Traquer et se protéger des numéros frauduleux
Sécurité

Traquer et se protéger des numéros frauduleux