3.2 Agrandir un ensemble dégradé
Ce guide explique comment agrandir une partition LVM hébergée sur un ensemble RAID dégradé (mdadm) : retirer proprement le disque, agrandir l’ensemble, redimensionner le PV et le LV, puis réintégrer le disque. Suivez les commandes dans l’ordre, sauvegardez la configuration mdadm et vérifiez le système de fichiers avant et après.
Contexte rapide
Définition en une ligne : un ensemble (array) « dégradé » est un raid où au moins un disque manque ou est marqué comme défaillant ; les données restent accessibles mais la redondance est compromise.
Ce que ce guide couvre
- Retirer proprement un disque d’un ensemble RAID dégradé
- Écraser le superbloc du disque retiré
- Démarrer un système de secours et activer les modules nécessaires
- Agrandir l’ensemble RAID et redimensionner LVM
- Vérifier et redimensionner le système de fichiers
- Réintégrer le disque dans l’ensemble
Important : effectuez une sauvegarde avant toute modification de partition ou de volume logique. Si vous manipulez un serveur en production, planifiez une fenêtre de maintenance.
Préparations et retrait du disque défaillant
Avant de démarrer en secours, assurez-vous que /dev/sda5 est bien marqué comme retiré :
mdadm --manage /dev/md1 --fail /dev/sda5
mdadm --manage /dev/md1 --remove /dev/sda5
Puis écrasez le superbloc sur /dev/sda5. C’est crucial : oublier cette étape peut empêcher le système de redémarrer après le redimensionnement.
mdadm --zero-superblock /dev/sda5
Démarrage en mode rescue et activation des modules
Démarrez dans votre système de secours (rescue) et activez les modules noyau requis :
modprobe md
modprobe linear
modprobe multipath
modprobe raid0
modprobe raid1
modprobe raid5
modprobe raid6
modprobe raid10
Ensuite, reconstruisez/actualisez la configuration mdadm et activez les ensembles RAID :
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
Agrandir l’ensemble RAID et LVM
Agrandissez /dev/md1 au maximum disponible :
mdadm --grow /dev/md1 --size=max
Note : –size=max signifie la valeur maximale possible. Vous pouvez aussi préciser une taille en KiB.
Redimensionnez ensuite le PV pour utiliser tout l’espace disponible sur /dev/md1 :
pvresize /dev/md1
Vérifiez l’état du volume group :
vgdisplay
Exemple de sortie (présentée telle quelle) :
root@Knoppix:~# vgdisplay
--- Volume group ---
VG Name server1
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 29
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 4.75 GB
PE Size 4.00 MB
Total PE 1217
Alloc PE / Size 1023 / 4.00 GB
Free PE / Size 194 / 776.00 MB
VG UUID X3ZYTy-39yq-20k7-GCGk-vKVU-Xe0i-REdEu0
root@Knoppix:~#
Dans cet exemple, il y a 194 PE (physical extents) libres, soit 776 MiB.
Agrandissez le LV racine avec les PE libres :
lvextend -l +194 /dev/server1/root
Vérification et redimensionnement du système de fichiers
Effectuez un contrôle du système de fichiers avant et après le redimensionnement :
e2fsck -f /dev/server1/root
resize2fs /dev/server1/root
e2fsck -f /dev/server1/root
Remarque : adaptez les commandes si vous utilisez un autre type de FS (xfs, btrfs…). Pour XFS, on utilise xfs_growfs (le redimensionnement nécessite normalement le point de montage).
Réintégrer le disque dans l’ensemble RAID
Une fois que vous avez booté dans le système normal, ajoutez /dev/sda5 au RAID :
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 phase de resync.
Checklist rapide pour l’administrateur
- Sauvegarde récente validée
- Alerter les utilisateurs et planifier la maintenance
- Marquer le disque comme failed puis remove
- mdadm –zero-superblock sur le disque retiré
- Démarrer en rescue et charger les modules nécessaires
- Sauvegarder /etc/mdadm/mdadm.conf et regénérer la config
- mdadm -A –scan et démarrer LVM
- mdadm –grow + pvresize + lvextend
- e2fsck, resize2fs, e2fsck
- Réintégrer le disque et vérifier /proc/mdstat
Mini-méthodologie (résumé opérationnel)
- Isoler et retirer le disque défaillant.
- Écraser son superbloc.
- Démarrer en rescue, activer les modules et LVM.
- Agrandir le RAID (mdadm –grow).
- Étendre le PV (pvresize) puis le LV (lvextend).
- Redimensionner le système de fichiers et vérifier.
- Réintégrer le disque et vérifier la resynchronisation.
Quand cette méthode peut échouer (contre-exemples)
- Le disque retiré contient des métadonnées partagées non standard : l’écrasement du superbloc peut poser problème si vous n’avez pas identifié correctement la partition.
- LVM ou mdadm corrompus : si la configuration est incohérente, mdadm –examine peut retourner des informations contradictoires.
- Système de fichiers non soporté par resize2fs (e.g., XFS non monté) : adaptez la procédure.
Arbre de décision simplifié
flowchart TD
A[Disque défaillant identifié?] -->|Oui| B[Fail et Remove le disque]
A -->|Non| Z[Identifier disque et vérifier SMART]
B --> C[Zero superblock]
C --> D[Démarrer rescue et charger modules]
D --> E[mdadm --grow / pvresize]
E --> F[lvextend et resize FS]
F --> G[Reboot normal]
G --> H[mdadm -a /dev/md1 /dev/sda5]
H --> I[Vérifier /proc/mdstat]
Notes importantes
Important : ne sautez pas l’étape mdadm –zero-superblock sur le disque retiré avant de le réintégrer. Omettre cette étape peut rendre le boot impossible.
Note : adaptez les chemins (/dev/md1, /dev/sda5, /dev/server1/root) à votre environnement.
Liens utiles
- Knoppix: http://www.knoppix.net/
Résumé
Agrandir un ensemble RAID dégradé nécessite de retirer proprement le disque, d’écraser son superbloc, d’agrandir l’ensemble et les volumes LVM, puis de réintégrer le disque. Vérifiez systématiquement l’intégrité du système de fichiers avant et après le redimensionnement.
Matériaux similaires

Sniffer les URLs sur Android — guide complet

Test No Life : l'app qui dit si vous avez une vie

Éditer des RAW sur Chromebook avec Darktable
Agrandir un RAID dégradé avec mdadm & LVM

TextNow : redirection vers Récupérer votre compte — Résolu
