Après un upgrade de disque sur votre VPS Linux Infrawire, le disque virtuel est plus grand, mais la partition et le système de fichiers gardent leur ancienne taille. Il faut agrandir les deux à la main, à chaud, sans démonter la racine.
Ce guide couvre les partitions classiques (ext4 et XFS) et les installations LVM sur Ubuntu 24.04, Debian 12, AlmaLinux 9 et Rocky 9.
📋 Prérequis
- Un VPS dont le disque a déjà été agrandi (la nouvelle taille apparaît dans
lsblk) - Un accès SSH root (l'IP et le mot de passe root sont disponibles dans votre espace client)
- Une sauvegarde récente de vos données importantes
1. Sauvegarder avant de toucher aux partitions
Redimensionner un système de fichiers ext4 ou XFS monté est une opération courante, mais une erreur dans la table de partitions peut détruire des données. Sauvegardez d'abord l'essentiel :
Bash# Archiver les données irremplaçables tar -czf /root/backup-etc.tar.gz /etc rsync -avz /var/www/ USER@BACKUP_HOST:/backups/www/ # Sauvegarder la table de partitions (utile pour la restaurer) sfdisk -d /dev/vda > /root/vda-partition-table.txt
2. Identifier le disque, la partition et le système de fichiers
Bashlsblk -f df -hT /
Sortie typique : disque vda de 80G, partition vda1 de 40G montée sur /, système de fichiers ext4 ou xfs. Si la racine est sur /dev/mapper/..., vous êtes sous LVM : voir la section 5. Le disque peut aussi s'appeler sda ou nvme0n1 (les partitions finissent alors par p1).
3. Agrandir la partition avec growpart
Installez l'outil. Sur Ubuntu et Debian le paquet s'appelle cloud-guest-utils, sur AlmaLinux et Rocky cloud-utils-growpart :
Bash# Ubuntu / Debian apt update && apt install -y cloud-guest-utils # AlmaLinux / Rocky dnf install -y cloud-utils-growpart
Agrandissez ensuite la partition numéro 1 du disque /dev/vda (attention à l'espace entre le disque et le numéro) :
Bashgrowpart /dev/vda 1
Si le message indique NOCHANGE, la partition occupe déjà tout l'espace. Certaines images ont aussi une petite partition après la racine (un swap, par exemple) : growpart ne peut alors pas étendre la racine et il faut d'abord supprimer ou déplacer cette partition.
Vérifiez que le noyau voit la nouvelle taille :
Bashlsblk /dev/vda # Si l'ancienne taille s'affiche encore : partprobe /dev/vda
4. Agrandir le système de fichiers
Utilisez la commande qui correspond à votre type de système de fichiers (indiqué par lsblk -f).
Pour ext4 :
Bashresize2fs /dev/vda1
Pour XFS (par défaut sur AlmaLinux et Rocky). L'argument est le point de montage et non le périphérique, et XFS ne peut qu'agrandir, jamais réduire :
Bashxfs_growfs /
5. Cas LVM : pvresize et lvextend
Quand le volume logique racine repose sur LVM, il y a une couche de plus : partition, puis volume physique, puis volume logique, puis système de fichiers.
Bashlsblk pvs && vgs && lvs # 1. Agrandir la partition qui contient le volume physique (ici vda3) growpart /dev/vda 3 # 2. Informer LVM que le volume physique est plus grand pvresize /dev/vda3 # 3. Étendre le volume logique et son système de fichiers d'un coup (-r) lvextend -r -l +100%FREE /dev/mapper/VG_NAME-LV_NAME
L'option -r appelle pour vous le bon outil (resize2fs ou xfs_growfs). Adaptez VG_NAME-LV_NAME à la sortie de lvs, par exemple /dev/ubuntu-vg/ubuntu-lv. Pour n'utiliser qu'une partie de l'espace libre, remplacez -l +100%FREE par -L +10G.
6. Vérifier le résultat
Bashdf -h / lsblk
La colonne Size de df -h doit maintenant correspondre à la nouvelle capacité, et lsblk doit montrer la partition occupant tout le disque. Aucun redémarrage n'est nécessaire : vos applications continuent de tourner pendant toute l'opération.
🛠️ Dépannage
growpart: command not found : le paquet n'est pas installé. Installez cloud-guest-utils (apt) ou cloud-utils-growpart (dnf).
NOCHANGE: partition 1 could not be grown : soit le disque n'a pas réellement été agrandi (comparez lsblk avec votre commande), soit une autre partition suit celle que vous voulez étendre. Vérifiez avec fdisk -l /dev/vda.
resize2fs: Bad magic number in super-block : le système de fichiers est probablement XFS et non ext4. Lancez lsblk -f et utilisez plutôt xfs_growfs /.
xfs_growfs: / is not a mounted XFS filesystem : vous avez passé un nom de périphérique, ou le système de fichiers est en ext4. Donnez le point de montage et vérifiez d'abord le type.
lvextend signale qu'il n'y a plus d'extents libres : vous avez sauté growpart ou pvresize. Lancez pvs et regardez la colonne PFree.
🎉 Votre espace disque supplémentaire est utilisable : sans redémarrage, sans coupure, et df -h le prouve !