Aller au contenu
Administration Linux medium

Contrôler capacité et quotas disque

8 min de lecture

Un disque saturé met un serveur à genoux : SSH refuse les connexions, les bases s'arrêtent, le système passe en lecture seule. Ce guide montre comment surveiller l'espace et les inodes avec df, localiser ce qui occupe la place avec du et ncdu, débloquer le piège du fichier supprimé encore ouvert, et récupérer de l'espace sans casser le système. Pour administrateurs débutants à intermédiaires. Sorties capturées sur AlmaLinux.

  • Surveiller espace et inodes avec df
  • Localiser les répertoires volumineux avec du et ncdu
  • Débloquer un fichier supprimé encore ouvert
  • Récupérer de l'espace en sécurité

df (disk free) résume l'occupation de chaque système de fichiers monté. L'option -h rend les tailles lisibles, -T ajoute le type, et exclure tmpfs retire le bruit des systèmes virtuels :

Fenêtre de terminal
df -hT -x tmpfs -x devtmpfs
Filesystem Type Size Used Avail Use% Mounted on
/dev/sdb2 ext4 20G 1.2G 19G 6% /
/dev/sdb1 vfat 99M 8.8M 90M 9% /boot/efi

La colonne Use% repère d'un coup d'oeil les volumes proches de la saturation. C'est la première commande à lancer quand une alerte « disque plein » tombe.

Surveiller les inodes : le piège du disque « plein »

Section intitulée « Surveiller les inodes : le piège du disque « plein » »

Un système de fichiers peut afficher de l'espace libre et pourtant refuser d'écrire : il a épuisé ses inodes, les structures qui décrivent chaque fichier. Leur nombre est fixé à la création du système de fichiers. Des millions de petits fichiers (sessions PHP, caches, mails) peuvent les saturer bien avant l'espace. Vérifiez avec df -i :

Fenêtre de terminal
df -i -x tmpfs -x devtmpfs
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sdb2 2557440 36172 2521268 2% /

Si IUse% est à 100 % alors que df -h montre de la place, le coupable est une pénurie d'inodes, pas un manque d'espace. La solution est de supprimer les petits fichiers en cause (ou de recréer le système de fichiers avec plus d'inodes).

df dit combien ; du (disk usage) dit . Pour trouver les gros postes d'un répertoire, listez le premier niveau et triez :

Fenêtre de terminal
du -h --max-depth=1 /usr | sort -h
38M /usr/sbin
64M /usr/bin
169M /usr/lib64
241M /usr/share
505M /usr/lib
1022M /usr

Le tri sort -h (human-numeric) place les plus gros en bas, immédiatement visibles. Pour le total seul d'un dossier, du -sh /var. En descendant de répertoire en répertoire, on remonte jusqu'à la source du remplissage.

Pour un diagnostic plus rapide, ncdu (NCurses Disk Usage) combine du et une interface navigable : tailles triées, déplacement aux flèches, suppression par la touche d.

Fenêtre de terminal
sudo apt install ncdu
Fenêtre de terminal
sudo ncdu /var

L'exploration interactive fait gagner un temps précieux sur un serveur en alerte : on descend visuellement jusqu'au dossier fautif au lieu d'enchaîner les du.

Symptôme classique et déroutant : vous supprimez un gros fichier, mais df montre toujours le disque plein. La cause : un processus garde le fichier ouvert. Tant qu'il tourne, l'espace n'est pas libéré, même si le fichier a disparu de l'arborescence. Repérez ces fichiers :

Fenêtre de terminal
sudo lsof +L1

La colonne finale liste les fichiers (deleted) encore ouverts, avec le processus et son PID. Deux issues : redémarrer proprement le service concerné (un systemctl restart suffit souvent), ou, à défaut, tuer le processus. Le cas le plus fréquent est un journal applicatif (log) supprimé sans recharger le service qui l'écrit.

Quand le nettoyage ne suffit plus, il faut agrandir le volume. La démarche dépend de la couche sous-jacente, détaillée dans les guides dédiés :

  • Volume LVM : lvextend -r agrandit volume et système de fichiers à chaud (voir LVM).
  • Partition ext4 : agrandir la partition puis resize2fs.
  • Partition XFS : agrandir puis xfs_growfs (XFS ne se réduit jamais).

Pour limiter la consommation par utilisateur ou groupe en amont, mettez en place des quotas disque, traités dans le guide quotas.

SymptômeCause probableSolution
Disque « plein » mais df -h montre de la placeinodes épuisésdf -i, supprimer les petits fichiers en cause
Espace non libéré après suppressionfichier supprimé encore ouvertlsof +L1, redémarrer le service
/ se remplit sans raison visiblejournaux systemd ou logs applicatifsjournalctl --vacuum-size, vérifier /var/log
/boot plein après mises à jouranciens noyaux accumuléspurger les noyaux obsolètes selon la distribution

Face à un vrai disque plein, la théorie ne suffit plus : il faut trouver le coupable vite et sans casser les données légitimes. Le lab vous confronte à un système de fichiers saturé que vous diagnostiquez avec df et du, avant de supprimer les fichiers parasites et de ramener l'occupation sous le seuil d'alerte.

Vérifiez que l'essentiel de ce guide est acquis. Les questions portent uniquement sur ce qui vient d'être expliqué ici.

Contrôle de connaissances

Validez vos connaissances avec ce quiz interactif

6 questions
6 min.
70% requis

Informations

  • Le chronomètre démarre au clic sur Démarrer
  • Questions à choix multiples, vrai/faux et réponses courtes
  • Vous pouvez naviguer entre les questions
  • Les résultats détaillés sont affichés à la fin

Lance le quiz et démarre le chronomètre

  • df -h montre l'espace ; df -i les inodes (un disque peut être « plein » sans manquer d'espace).
  • du -h --max-depth=1 | sort -h localise les gros répertoires ; ncdu explore interactivement.
  • Un fichier supprimé encore ouvert ne libère pas l'espace : lsof +L1, puis redémarrer le service.
  • Les journaux systemd se purgent avec journalctl --vacuum-size / --vacuum-time.
  • Pour agrandir durablement : lvextend -r (LVM), resize2fs (ext4) ou xfs_growfs (XFS).
  • Les quotas limitent la consommation par utilisateur en amont.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracking. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn