Vous venez d’agrandir le disque d’une machine virtuelle (ou physique) sous Debian et vous souhaitez exploiter l’espace nouvellement disponible sans redémarrage. Selon l’organisation des volumes, deux cas se présentent :
- Partition directe : le filesystem est posé directement sur une partition (ex :
/dev/sda2), sans couche intermédiaire. - LVM : la partition est un Physical Volume, et le filesystem est sur un Logical Volume.
Dans les deux cas, la logique est la même : agrandir la partition physique, puis propager l’agrandissement vers le haut de la pile.
Prérequis : vérifier l’état actuel
Commencez par vous orienter :
lsblk fdisk -l /dev/sda
Repérez la taille totale du disque, les partitions existantes, et l’espace libre disponible en fin de disque (non alloué).
Cas 1 – Partition directe (sans LVM)
Dans ce cas, /dev/sda2 monte directement / avec un filesystem ext4 (ou xfs).
Étape 1 : agrandir la partition
L’outil growpart (paquet cloud-guest-utils) est la méthode la plus simple et la plus sûre :
apt install cloud-guest-utils growpart /dev/sda 2
Notez l’espace entre le disque (/dev/sda) et le numéro de partition (2). growpart étend la partition pour qu’elle occupe tout l’espace libre qui la suit sur le disque.
Alternative avec parted si growpart n’est pas disponible :
parted /dev/sda resizepart 2 100%
Étape 2 : agrandir le filesystem
Pour ext4 — resize2fs supporte le redimensionnement en ligne, sans démontage :
resize2fs /dev/sda2
Pour XFS — passer le point de montage, pas le device :
xfs_growfs /
Vérification
df -h / lsblk
La partition /dev/sda2 et le filesystem / doivent maintenant afficher la nouvelle taille.
Cas 2 – Avec LVM
Ici, /dev/sda2 est un Physical Volume (PV) LVM. Le filesystem est posé sur un Logical Volume (LV). La pile est : partition → PV → VG → LV → filesystem. Il faut propager l’agrandissement à chaque couche.
Commencez par identifier les noms de votre VG et LV :
pvs vgs lvs
Notez le nom du Volume Group (souvent debian-vg sous Debian) et du Logical Volume racine (souvent root).
Étape 1 : agrandir la partition
Même opération que dans le cas 1 :
apt install cloud-guest-utils growpart /dev/sda 2
Étape 2 : agrandir le Physical Volume
Informez LVM de la nouvelle taille disponible sur la partition :
pvresize /dev/sda2
Vérifiez que le PV a bien gagné en espace libre :
pvs
La colonne PFree doit maintenant afficher l’espace libéré.
Étape 3 : agrandir le Logical Volume
Étendez le LV pour absorber tout l’espace libre du VG (adaptez les noms à votre configuration) :
lvextend -l +100%FREE /dev/debian-vg/root
Pour allouer une valeur fixe (exemple : ajouter 50 Go) :
lvextend -L +50G /dev/debian-vg/root
Étape 4 : agrandir le filesystem
Pour ext4 :
resize2fs /dev/debian-vg/root
Pour XFS :
xfs_growfs /
Vérification complète
pvs vgs lvs df -h / lsblk
Récapitulatif des commandes
Sans LVM (ext4) :
apt install cloud-guest-utils growpart /dev/sda 2 resize2fs /dev/sda2 df -h /
Avec LVM (ext4) :
apt install cloud-guest-utils growpart /dev/sda 2 pvresize /dev/sda2 lvextend -l +100%FREE /dev/debian-vg/root resize2fs /dev/debian-vg/root df -h /
Points de vigilance
- Espace libre en fin de disque :
growpartne peut étendre une partition que si l’espace libre se trouve immédiatement après elle sur le disque. Si une autre partition suit, ce n’est pas possible sans la déplacer au préalable. - resize2fs fonctionne en ligne sur ext4 : pas besoin de démonter
/. Pour XFS,xfs_growfsfonctionne également sur un filesystem monté. - Noms LVM variables : sous Debian, le VG s’appelle souvent
debian-vget le LV racineroot, mais ce n’est pas systématique. Toujours vérifier aveclvsavant d’agir. - Vérifier le type de partition : si le disque utilise GPT (machines modernes, VMs récentes),
growpartetpartedfonctionnent tous les deux. Si c’est MBR (dos),growpartest préférable. - Pas de redémarrage nécessaire : toutes ces opérations s’effectuent sur un système en production, sans interruption de service.
