Gestion de l'espace disque sous Linux
Mise à jour :
Sur Linux, une bonne gestion de l’espace disque est essentielle pour assurer la stabilité, la performance et la sécurité du système. Un disque saturé peut entraîner des ralentissements, des erreurs critiques ou des pertes de données. Surveiller régulièrement l’utilisation du stockage, détecter les fichiers encombrants et savoir redimensionner les partitions sont des compétences indispensables pour tout administrateur système.
Pourquoi surveiller l’espace disque sous Linux
La surveillance régulière de l’espace disque est indispensable pour maintenir un système Linux en état de fonctionnement optimal. Un disque plein ou saturé peut rapidement entraîner des conséquences graves, aussi bien sur un poste personnel que sur un serveur en production.
Éviter les pannes système
Sous Linux, de nombreux services critiques dépendent d’un espace disque disponible minimal :
- Le serveur
SSH
peut refuser de nouvelles connexions si/var
ou/tmp
est plein. - Les bases de données (MySQL, PostgreSQL) peuvent s’arrêter brutalement faute d’espace pour écrire.
- Les systèmes de fichiers peuvent passer en mode lecture seule pour protéger l’intégrité des données.
Préserver les performances
Un disque saturé peut provoquer :
- Des ralentissements du système dus à l’absence d’espace pour les fichiers temporaires.
- Un allongement du temps de réponse des applications.
- Une dégradation progressive du fonctionnement général.
Anticiper les besoins d’extension
La surveillance permet de :
- Planifier l’ajout de nouveaux disques ou l’agrandissement des partitions.
- Ajuster la stratégie de sauvegarde et d’archivage.
- Identifier les volumes nécessitant une réorganisation ou un nettoyage.
Détecter les anomalies
Une consommation d’espace disque anormalement rapide peut signaler :
- Un processus anormal ou mal configuré générant des logs excessifs.
- Une attaque (flood de fichiers, ransomwares).
- Une fuite de fichiers temporaires non nettoyés.
Surveiller l’utilisation du disque avec df
La commande df
(disk free) est l’outil de base pour surveiller l’utilisation
de l’espace disque sous Linux. Elle fournit un résumé clair de l’espace
occupé et disponible sur chaque système de fichiers monté.
Présentation de la commande df
Pour afficher l’espace disque de manière lisible, utilisez l’option -h
(human-readable) :
df -h
Exemple de sortie :
Filesystem Size Used Avail Use% Mounted on/dev/sda2 50G 20G 28G 42% //dev/sda3 449G 30G 397G 7% /home
Interpréter les colonnes
- Filesystem : périphérique ou partition.
- Size : taille totale du système de fichiers.
- Used : espace utilisé.
- Avail : espace encore disponible.
- Use% : pourcentage d’utilisation.
- Mounted on : point de montage dans l’arborescence.
Cette commande permet de repérer immédiatement :
- Les partitions proches de la saturation.
- L’espace libre restant.
- Les volumes temporairement montés comme des disques USB.
Astuce : pour se concentrer uniquement sur les systèmes de fichiers
physiques, sans afficher les systèmes virtuels (comme tmpfs
), utilisez :
df -hT -x tmpfs -x devtmpfs
Analyser l’utilisation détaillée avec du
Pour aller au-delà de la vision globale offerte par df
, la commande du
(disk
usage) permet d’analyser en détail l’espace utilisé par les fichiers et
dossiers sous Linux. Elle est particulièrement utile pour identifier
rapidement les répertoires qui consomment beaucoup de place.
Présentation de la commande du
La commande de base pour afficher l’espace utilisé par un dossier est :
du -h /chemin/vers/dossier
Explication :
-h
: rend les tailles lisibles (Ko, Mo, Go).
Chaque sous-dossier listé affiche sa taille cumulée, ce qui permet de repérer les emplacements volumineux.
Afficher uniquement le total utilisé
Pour obtenir uniquement la taille totale d’un dossier sans afficher chaque sous-dossier :
du -sh /chemin/vers/dossier
-s
: résumé sur une seule ligne.-h
: format lisible.
Exemple pratique :
du -sh /var
Lister et trier les sous-dossiers selon leur taille
Pour analyser rapidement quel sous-dossier occupe le plus d’espace :
du -h --max-depth=1 /chemin | sort -h
Explication :
--max-depth=1
: affiche uniquement les dossiers de premier niveau.sort -h
: trie les résultats par taille de manière lisible.
Exemple :
du -h --max-depth=1 /home | sort -h
Cela permet de localiser les utilisateurs ou les projets qui saturent /home
.
Utiliser du
régulièrement donne une vision précise de comment l’espace
disque est consommé, facilitant ainsi les opérations de nettoyage ou de
réorganisation des données.
Explorer l’espace disque avec ncdu
Pour une analyse plus interactive et visuelle de l’espace disque sous
Linux, l’outil ncdu
(NCurses Disk Usage) est une excellente alternative à
la commande du
. Il permet de naviguer facilement dans les répertoires et de
repérer rapidement les fichiers ou dossiers volumineux.
Présentation rapide de ncdu
ncdu
combine la puissance de du
avec une interface en mode texte qui rend
l’exploration de l’espace disque plus intuitive :
- Affiche les tailles triées automatiquement.
- Permet de se déplacer dans l’arborescence.
- Offre la possibilité de supprimer directement des fichiers/dossiers.
Installation de ncdu
Pour installer ncdu
sur une distribution Debian/Ubuntu :
sudo apt install ncdu
Sur Fedora/CentOS :
sudo dnf install ncdu
Sur Arch Linux :
sudo pacman -S ncdu
Utilisation de base
Lancer l’analyse d’un répertoire spécifique :
ncdu /chemin
Exemple :
ncdu /home
Une fois ouvert, utilisez les flèches haut/bas pour naviguer, Entrée pour entrer dans un répertoire, et d pour supprimer un fichier ou dossier.
Astuce : pour scanner tout le système (attention, nécessite les droits root) :
sudo ncdu /
Avantage de l’analyse interactive
- Localiser rapidement les zones critiques.
- Décider immédiatement quoi nettoyer.
- Gagner du temps par rapport à l’analyse classique par
du
etsort
.
ncdu
est ainsi un outil incontournable pour les administrateurs qui veulent
maintenir un système propre et optimiser l’utilisation de l’espace disque
sous Linux.
Détecter les fichiers ouverts sur un disque plein
Il peut arriver que même après avoir supprimé des fichiers, l’espace disque ne soit pas libéré sous Linux. Ce phénomène est souvent dû à des fichiers supprimés qui restent ouverts par des processus en cours d’exécution.
Explication du problème
Lorsque vous supprimez un fichier en cours d’utilisation par un programme :
- Le fichier disparaît de l’arborescence.
- Mais l’espace occupé n’est pas libéré tant que le processus qui utilise le fichier n’est pas fermé.
Cela peut conduire à une situation où l’espace disque semble bloqué même après un nettoyage.
Utilisation de lsof
pour détecter les fichiers supprimés
Pour identifier les fichiers supprimés encore ouverts :
sudo lsof | grep deleted
Explication :
lsof
liste tous les fichiers ouverts sur le système.- Le filtre
grep deleted
affiche ceux qui ont été supprimés mais qui restent accrochés par des processus.
Exemple de sortie :
bash 1234 user txt REG 8,1 1024000 1234567 /tmp/largefile (deleted)
Vous pouvez voir :
- Le nom du programme (ex :
bash
). - Le PID du processus (
1234
). - Le chemin du fichier supprimé.
Libérer l’espace occupé
Deux options pour libérer l’espace :
- Fermer proprement le programme concerné.
- Tuer le processus si nécessaire :
sudo kill 1234
Après l’arrêt du processus, l’espace disque sera automatiquement récupéré.
Attention : toujours analyser les conséquences avant de tuer un processus, notamment sur un serveur en production.
Redimensionner une partition sous Linux
Dans certaines situations, il peut être nécessaire de redimensionner une partition sous Linux, que ce soit pour agrandir ou réduire un volume afin de mieux utiliser l’espace disque disponible. Ce processus peut être délicat et nécessite une attention particulière pour éviter toute perte de données. Ce chapitre explique les étapes nécessaires pour redimensionner une partition, en détaillant les outils et les précautions à prendre.
Prérequis avant redimensionnement
Avant de procéder à la modification des partitions, voici les éléments essentiels à vérifier et à préparer :
-
Sauvegarde et précautions : Il est impératif de réaliser une sauvegarde complète des données contenues sur la partition avant toute manipulation. En cas de problème, vous pourrez restaurer vos données.
-
Démontage de la partition : Avant de redimensionner une partition, il est généralement nécessaire de démonter la partition pour éviter toute modification ou corruption de données pendant le processus. Vous pouvez démonter une partition avec la commande
umount
:Terminal window sudo umount /dev/sdXnRemplacez
/dev/sdXn
par le chemin de votre partition. -
Vérification du système de fichiers : Avant de redimensionner une partition, vérifiez l’intégrité du système de fichiers avec
fsck
pour éviter tout risque de perte de données.Terminal window sudo fsck /dev/sdXn
Redimensionner une partition : méthode générale
Voici les étapes principales pour redimensionner une partition sous Linux :
-
Démonter la partition : Comme mentionné précédemment, démontez la partition que vous souhaitez redimensionner.
-
Redimensionner la partition avec
parted
ougparted
:-
Avec
parted
: Utilisez la commande suivante pour redimensionner la partition :Terminal window sudo parted /dev/sdXUne fois dans l’interface
parted
, utilisez la commanderesize
pour ajuster la taille de la partition. -
Avec
gparted
(interface graphique) : Si vous préférez une interface graphique, vous pouvez utilisergparted
, un outil puissant permettant de gérer les partitions. Lancezgparted
avec la commande suivante :Terminal window sudo gpartedSélectionnez la partition à redimensionner, puis utilisez l’option de redimensionnement dans l’interface graphique.
-
-
Redimensionner le système de fichiers : Une fois la partition redimensionnée, vous devrez ajuster le système de fichiers pour qu’il s’adapte à la nouvelle taille de la partition. Cette étape peut être réalisée avec des outils comme
resize2fs
pour les systèmes de fichiersext4
ouxfs_growfs
pourXFS
.
Agrandir une partition EXT4
Pour agrandir une partition de type EXT4
, la commande à utiliser après avoir
redimensionné la partition est resize2fs
. Voici la procédure à suivre :
-
Redimensionner la partition à l’aide de
parted
ougparted
, comme expliqué précédemment. -
Ajuster le système de fichiers avec
resize2fs
:Terminal window sudo resize2fs /dev/sdXnCette commande permet au système de fichiers de s’ajuster à la nouvelle taille de la partition.
-
Vérifier l’intégrité du système de fichiers avec
fsck
:Terminal window sudo fsck /dev/sdXn
Réduire une partition EXT4
Réduire une partition est une opération plus délicate et risquée. Voici les étapes à suivre pour réduire une partition EXT4 en toute sécurité :
-
Sauvegarder les données : Avant de commencer, il est crucial de faire une sauvegarde complète de la partition.
-
Redimensionner le système de fichiers : Utilisez
resize2fs
pour réduire le système de fichiers avant de réduire la partition. Cette commande réduira la taille du système de fichiers sans affecter les données :Terminal window sudo resize2fs /dev/sdXn 10GIci,
10G
représente la taille souhaitée du système de fichiers. -
Redimensionner la partition : Une fois le système de fichiers réduit, vous pouvez utiliser
parted
ougparted
pour redimensionner la partition physique.Exemple avec
parted
:Terminal window sudo parted /dev/sdXPuis utilisez la commande
resize
pour ajuster la taille de la partition. -
Vérification : Une fois le processus terminé, vérifiez à nouveau l’intégrité du système de fichiers avec
fsck
.
Agrandir une partition XFS
Les partitions de type XFS
ont une particularité : elles ne peuvent être
réduites, mais vous pouvez les agrandir. Voici la procédure pour agrandir une
partition XFS
:
-
Redimensionner la partition : Utilisez
parted
ougparted
pour augmenter la taille de la partition. -
Ajuster le système de fichiers avec
xfs_growfs
: Après avoir redimensionné la partition, vous pouvez agrandir le système de fichiers avec la commande suivante :Terminal window sudo xfs_growfs /dev/sdXnCette commande agrandira le système de fichiers pour utiliser tout l’espace disponible sur la partition.
Cas particulier : gérer l’espace avec LVM
LVM (Logical Volume Management) offre une grande flexibilité pour gérer l’espace disque sous Linux. Si vous utilisez LVM, vous pouvez redimensionner les volumes logiques de manière dynamique sans avoir à redimensionner les partitions physiques.
-
Agrandir un volume logique : Utilisez la commande
lvextend
pour augmenter la taille d’un volume logique.Terminal window sudo lvextend -L +10G /dev/volume_group/volume_nameCette commande ajoute 10 Go au volume logique spécifié.
-
Redimensionner le système de fichiers : Après avoir agrandi le volume logique, vous devrez redimensionner le système de fichiers avec
resize2fs
(pourext4
) ouxfs_growfs
(pourXFS
).Terminal window sudo resize2fs /dev/volume_group/volume_name
Conclusion
Une gestion efficace de l’espace disque sous Linux est essentielle pour
maintenir la stabilité et la performance du système. En utilisant des outils
comme df
, du
, et ncdu
, vous pouvez surveiller, analyser et libérer de
l’espace de manière proactive. Le redimensionnement des partitions, qu’il
s’agisse d’EXT4 ou de XFS, doit être effectué avec précaution, en prenant soin
de sauvegarder les données et de vérifier le système de fichiers. En appliquant
ces bonnes pratiques, vous garantissez un environnement Linux optimal, stable et
sécurisé.