🔒 Connexion

UNIX/LINUX

Agrandir un filesystem sous Linux : LVM, ext4 et XFS

12 novembre 2026 · par Romain RICHER

Un système de fichiers qui approche des 85 % de remplissage pose une question simple : faut-il faire de la place, ou en donner davantage ? Quand le nettoyage ne suffit pas, parce que les données sont légitimes et continuent de croître, il faut agrandir le système de fichiers. Sous Linux, avec LVM, l’opération se fait le plus souvent à chaud, en une seule commande, sans arrêter les applications.

Cet article explique comment un système de fichiers est construit, comment vérifier l’espace disponible à chaque niveau, et comment l’agrandir selon les situations : espace libre dans le groupe de volumes, nouveau disque, disque virtuel agrandi, ou serveur sans LVM.

Les commandes de diagnostic présentées ici sont en lecture seule. Les commandes d’agrandissement modifient les disques : sur un serveur de production, assurez-vous d’avoir une sauvegarde récente et vérifiez chaque nom de volume avant de valider.

Du disque au point de montage

Entre le disque physique et le répertoire dans lequel une application écrit, il y a plusieurs couches. Les connaître permet de savoir à quel niveau manque l’espace.

  • Le disque : physique ou virtuel, par exemple /dev/sdb ;
  • la partition, facultative : une portion du disque, par exemple /dev/sda2 ;
  • le système de fichiers (filesystem) : la structure qui organise les fichiers et répertoires. Sous Linux, les plus courants sont ext4 et XFS, ce dernier étant le choix par défaut des distributions Red Hat ;
  • le point de montage : le répertoire par lequel on accède au système de fichiers, par exemple /var/lib/containers.

Sur la plupart des serveurs, une couche supplémentaire s’intercale entre les disques et les systèmes de fichiers : LVM.

LVM en trois notions

LVM (Logical Volume Manager) regroupe l’espace de un ou plusieurs disques dans une réserve commune, puis le découpe en volumes logiques de taille modifiable. C’est ce qui rend l’agrandissement si simple.

NiveauAbréviationRôleCommande de consultation
Volume physiquePVUn disque ou une partition confié à LVMpvs
Groupe de volumesVGLa réserve d’espace formée par un ou plusieurs PVvgs
Volume logiqueLVUne portion du VG, qui porte un système de fichierslvs

Un volume logique apparaît sous deux noms équivalents : /dev/datavg/containerslv et /dev/mapper/datavg-containerslv. C’est ce second nom que l’on voit dans le résultat de df.

Étape 1 : établir le diagnostic

Commencez par identifier le système de fichiers concerné, son type et le volume qui le porte :

df -hT /var/lib/containers
Filesystem                      Type  Size  Used Avail Use% Mounted on
/dev/mapper/datavg-containerslv xfs   100G   85G   16G  85% /var/lib/containers

Le nom /dev/mapper/datavg-containerslv indique un volume logique containerslv dans le groupe datavg. Il faut ensuite savoir s’il reste de la place dans ce groupe :

vgs datavg
lvs datavg
  VG     #PV #LV #SN Attr   VSize    VFree
  datavg   1  14   0 wz--n- <350.00g <126.00g

La colonne VFree est la clé : ici, 126 Go ne sont attribués à aucun volume logique. On peut donc agrandir le volume sans toucher aux disques.

Pour une vue d’ensemble de l’empilement des disques, partitions et volumes, lsblk est le plus lisible :

lsblk -f

Cas 1 : il reste de l’espace dans le groupe de volumes

C’est le cas le plus fréquent, et le plus simple. Une seule commande agrandit le volume logique et le système de fichiers qu’il porte :

lvextend -r -L +50G /dev/datavg/containerslv
  • -L +50G ajoute 50 Go à la taille actuelle. Le signe + est essentiel, nous y reviendrons ;
  • -r (--resizefs) agrandit le système de fichiers dans la foulée, quel que soit son type. Sans cette option, le volume grandit mais le système de fichiers garde son ancienne taille, et df n’affiche aucun changement.

Pour attribuer tout l’espace libre restant, on raisonne en pourcentage avec -l minuscule :

lvextend -r -l +100%FREE /dev/datavg/containerslv

Il est cependant rarement judicieux de vider complètement le groupe : garder une marge permet de réagir à la prochaine alerte sur un autre volume, ou de créer un instantané avant une opération délicate.

Vérifiez le résultat :

df -hT /var/lib/containers
Filesystem                      Type  Size  Used Avail Use% Mounted on
/dev/mapper/datavg-containerslv xfs   150G   85G   66G  57% /var/lib/containers

L’opération se fait à chaud : le système de fichiers reste monté, les applications continuent d’écrire.

La même chose en deux temps

Si vous avez oublié -r, ou si vous préférez maîtriser chaque étape, on agrandit d’abord le volume, puis le système de fichiers avec l’outil propre à son type :

lvextend -L +50G /dev/datavg/containerslvSystème de fichiers XFS : on désigne le point de montage
xfs_growfs /var/lib/containers
Système de fichiers ext4 : on désigne le volume
resize2fs /dev/datavg/containerslv

Sans indication de taille, xfs_growfs et resize2fs étendent le système de fichiers à toute la taille du volume.

Cas 2 : le groupe de volumes est plein

Si VFree est à zéro ou insuffisant, il faut d’abord donner de l’espace au groupe. Deux possibilités.

Ajouter un nouveau disque

Après l’ajout d’un disque, physique ou virtuel, repérez-le avec lsblk : c’est celui qui n’a ni partition ni point de montage. Puis confiez-le à LVM et ajoutez-le au groupe :

pvcreate /dev/sdc
vgextend datavg /dev/sdc
vgs datavg

L’espace du nouveau disque apparaît dans VFree, et l’on revient au cas 1. Vérifiez deux fois le nom du disque avant pvcreate : sur un disque contenant des données, la commande les rendrait inaccessibles.

Agrandir un disque virtuel existant

Sur une machine virtuelle, il est souvent plus simple d’agrandir le disque depuis l’hyperviseur. Il faut alors faire constater sa nouvelle taille au système, puis à LVM :

# Faire relire la taille du disque par le noyau
echo 1 > /sys/class/block/sdb/device/rescanSi le disque entier est un volume physique
pvresize /dev/sdb

Si le volume physique est une partition, par exemple /dev/sda2, il faut d’abord agrandir la partition. La commande growpart, du paquet cloud-utils-growpart, le fait sans démontage :

growpart /dev/sda 2
pvresize /dev/sda2

Notez l’espace entre /dev/sda et 2 : growpart attend le disque, puis le numéro de la partition.

Cas 3 : un serveur sans LVM

Quand le système de fichiers repose directement sur une partition, la démarche est la même, sans la couche LVM : agrandir le disque, puis la partition, puis le système de fichiers.

growpart /dev/sda 1XFS
xfs_growfs /
ext4
resize2fs /dev/sda1

La limite apparaît quand la partition à agrandir n’est pas la dernière du disque : une autre partition lui barre la route, et il faut alors ajouter un disque et déplacer des données. C’est précisément ce que LVM évite.

Réduire un système de fichiers : à éviter

L’opération inverse est beaucoup plus délicate.

  • XFS ne peut pas être réduit. La seule solution est de sauvegarder les données, de recréer un volume plus petit et de restaurer ;
  • ext4 peut être réduit, mais seulement démonté, donc avec une interruption de service, après une vérification complète par e2fsck -f.

D’où une règle pratique : allouez par petites étapes. Il est facile d’ajouter 50 Go demain ; il est difficile de reprendre 200 Go attribués trop généreusement aujourd’hui.

Les pièges à connaître

Oublier le signe +. -L +50G ajoute 50 Go ; -L 50G fixe la taille totale à 50 Go. Avec lvextend, une taille inférieure à l’actuelle est refusée, ce qui protège. Mais avec lvresize, qui sait aussi réduire, la même faute de frappe réduirait le volume en dessous de ses données.

Oublier -r. Le volume grandit, le système de fichiers non : lvs montre la nouvelle taille, df l’ancienne. Rattrapez avec xfs_growfs ou resize2fs.

Confondre les unités. Pour LVM, G désigne des gibioctets (1 024³ octets). Les tailles affichées par df -h suivent la même convention. Les écarts avec la taille annoncée par un fournisseur, en gigaoctets décimaux, viennent souvent de là.

Agrandir au lieu de comprendre. Un système de fichiers qui se remplit régulièrement a souvent une cause : journaux sans rotation, images de conteneurs jamais nettoyées, exports oubliés. Avant d’agrandir, vérifiez ce qui occupe l’espace ; c’est l’objet de notre article sur les gros fichiers qui saturent un serveur. Pour un répertoire de conteneurs comme /var/lib/containers, un podman system df indique la part des images inutilisées, qu’un nettoyage peut libérer.

Les inodes d’ext4. Sur ext4, le nombre maximal de fichiers est fixé à la création. Agrandir le système de fichiers en ajoute proportionnellement, mais si le problème vient de millions de petits fichiers, df -i le révélera avant que l’espace ne soit épuisé. XFS alloue ses inodes dynamiquement et n’a pas cette limite.

Et sur AIX ?

AIX intègre la gestion de volumes depuis l’origine, avec un vocabulaire proche : volumes physiques, groupes de volumes, volumes logiques. Pour un système de fichiers JFS2, une seule commande agrandit à la fois le volume logique et le système de fichiers, à chaud :

# Espace libre dans le groupe de volumes
lsvg datavgAjouter 50 Go au système de fichiers
chfs -a size=+50G /data

Si le groupe est plein, extendvg y ajoute un disque, comme vgextend sous Linux.

La procédure complète en résumé

  1. df -hT : quel système de fichiers, quel type, quel volume ;
  2. vgs : reste-t-il de l’espace libre dans le groupe ?
  3. si non : ajouter un disque (pvcreate, vgextend) ou agrandir l’existant (growpart, pvresize) ;
  4. lvextend -r -L +NG : agrandir le volume et le système de fichiers ;
  5. df -hT : vérifier.

En résumé

  • un système de fichiers repose sur un volume logique, découpé dans un groupe de volumes, formé de volumes physiques ;
  • la colonne VFree de vgs dit si l’on peut agrandir sans toucher aux disques ;
  • lvextend -r -L +50G agrandit volume et système de fichiers, à chaud, en une commande ;
  • sans -r, il faut finir avec xfs_growfs (XFS) ou resize2fs (ext4) ;
  • groupe plein : pvcreate et vgextend pour un nouveau disque, growpart et pvresize pour un disque agrandi ;
  • XFS ne se réduit pas, ext4 seulement démonté : allouez par petites étapes ;
  • sur AIX, chfs -a size=+50G fait tout en une commande.

Agrandir un système de fichiers est devenu une opération banale, presque sans risque quand LVM est en place. Ce qui demande du discernement, c’est la décision qui la précède : donner de l’espace ou en faire, et combien en garder en réserve pour la prochaine fois.

📖 À lire aussi

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les commentaires sont modérés avant publication.