Commande Linux df : Rapport sur l'utilisation de l'espace disque

LinuxBeginner
Pratiquer maintenant

Introduction

Dans cet atelier, vous allez explorer la commande df, un outil indispensable pour surveiller l'utilisation de l'espace disque sur les systèmes Linux. Vous incarnerez un administrateur système gérant un serveur web très sollicité, utilisant df pour analyser l'occupation du disque, identifier d'éventuels problèmes de stockage et garantir le bon fonctionnement du serveur. Cet atelier est conçu pour les débutants : ne vous inquiétez pas si vous faites vos premiers pas sous Linux, nous vous guiderons à chaque étape.

Comprendre la commande df de base

En tant qu'administrateur système, votre première tâche consiste à obtenir une vue d'ensemble de l'utilisation de l'espace disque sur votre serveur web. La commande df sans aucune option fournit un instantané rapide de tous les systèmes de fichiers montés.

Tout d'abord, naviguons vers le répertoire du projet :

cd ~/project

Maintenant, exécutons la commande df de base :

df

Astuces : En raison des changements dynamiques dans le stockage des machines virtuelles, la sortie de la commande df peut varier ; ce point peut être ignoré.

Vous devriez voir un résultat similaire à celui-ci :

Filesystem     1K-blocks     Used Available Use% Mounted on
overlay         20971520  1314600  19656920   7% /
tmpfs              65536        0     65536   0% /dev
tmpfs            4068320        0   4068320   0% /sys/fs/cgroup
shm                65536        0     65536   0% /dev/shm
/dev/vdb       104806400 17442788  87363612  17% /etc/hosts
tmpfs             102400    51200     51200  50% /mnt/ramdisk

Analysons cette sortie :

  • Filesystem : Cette colonne affiche le nom du périphérique ou de la partition.
  • 1K-blocks : Indique la taille totale du système de fichiers en blocs de 1 kilo-octet.
  • Used : Indique combien de blocs de 1K sont utilisés.
  • Available : Indique combien de blocs de 1K sont disponibles.
  • Use% : Affiche le pourcentage d'utilisation du système de fichiers.
  • Mounted on : Indique le point de montage du système de fichiers dans l'arborescence des répertoires.

Remarquez le système de fichiers overlay, couramment utilisé dans les environnements conteneurisés. Le périphérique /dev/vdb est probablement un disque virtuel, et nous pouvons voir un système tmpfs monté sur /mnt/ramdisk, qui est un système de fichiers résidant en mémoire vive (RAM).

Rendre la sortie de df lisible par l'homme

Par défaut, df affiche les tailles en blocs de 1K, ce qui peut être difficile à interpréter rapidement. Imaginez essayer de deviner combien de gigaoctets représentent 20640796 blocs de 1K ! Heureusement, nous pouvons utiliser l'option -h (pour "human-readable") pour rendre le résultat plus compréhensible.

Exécutez la commande suivante :

df -h

Vous devriez voir un résultat similaire à celui-ci :

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  1.3G   19G   7% /
tmpfs            64M     0   64M   0% /dev
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
shm              64M     0   64M   0% /dev/shm
/dev/vdb        100G   17G   84G  17% /etc/hosts
tmpfs           100M   50M   50M  50% /mnt/ramdisk

Notez que les tailles sont désormais exprimées en Go (G) et Mo (M). C'est beaucoup plus simple à analyser d'un coup d'œil. Par exemple, nous voyons immédiatement que notre système de fichiers principal (overlay) fait 20 Go, avec seulement 1,3 Go utilisés et 19 Go disponibles.

Afficher les types de systèmes de fichiers

En tant qu'administrateur système, il est important de connaître les types de systèmes de fichiers présents sur votre serveur. Chaque type possède des fonctionnalités et des caractéristiques de performance différentes. L'option -T permet d'afficher cette information.

Exécutez la commande suivante :

df -T

Vous devriez voir un résultat similaire à celui-ci :

Filesystem     Type    1K-blocks     Used Available Use% Mounted on
overlay        overlay  20971520  1314600  19656920   7% /
tmpfs          tmpfs       65536        0     65536   0% /dev
tmpfs          tmpfs     4068320        0   4068320   0% /sys/fs/cgroup
shm            tmpfs       65536        0     65536   0% /dev/shm
/dev/vdb       xfs     104806400 17442728  87363672  17% /etc/hosts
tmpfs          tmpfs      102400    51200     51200  50% /mnt/ramdisk

Cette sortie inclut une nouvelle colonne, Type. Voici les types rencontrés :

  • overlay : Un type de système de fichiers d'union, souvent utilisé dans les conteneurs.
  • tmpfs : Un système de fichiers temporaire qui réside en mémoire vive ou dans la partition d'échange (swap).
  • xfs : Un système de fichiers journalisé haute performance, utilisé ici pour le montage de /etc/hosts.

Connaître le type de système de fichiers peut vous aider à diagnostiquer des problèmes et à optimiser les performances de votre système.

Analyser l'utilisation des inodes

Sous Linux, les inodes sont des structures de données qui stockent des informations cruciales sur les fichiers, telles que les permissions, le propriétaire et l'emplacement sur le disque. Chaque fichier utilise un inode. Il est possible de tomber à court d'inodes même s'il reste beaucoup d'espace disque, ce qui empêcherait la création de nouveaux fichiers. C'est pourquoi la surveillance des inodes est essentielle.

Vérifions l'utilisation des inodes avec l'option -i :

df -i

Vous devriez voir un résultat similaire à celui-ci :

Filesystem       Inodes  IUsed    IFree IUse% Mounted on
overlay        52428800 539001 51889799    2% /
tmpfs           1017080    206  1016874    1% /dev
tmpfs           1017080     17  1017063    1% /sys/fs/cgroup
shm             1017080      1  1017079    1% /dev/shm
/dev/vdb       52428800 539001 51889799    2% /etc/hosts
tmpfs           1017080      2  1017078    1% /mnt/ramdisk

Détail des colonnes :

  • Inodes : Nombre total d'inodes disponibles sur le système de fichiers.
  • IUsed : Nombre d'inodes actuellement utilisés.
  • IFree : Nombre d'inodes libres.
  • IUse% : Pourcentage d'inodes utilisés.

Dans cet exemple, notre système de fichiers principal (overlay) n'utilise que 2 % de ses inodes. C'est un bon signe : nous sommes loin de la saturation qui bloquerait la création de fichiers.

Combiner les options pour une analyse complète

Maintenant que nous avons exploré les options individuellement, combinons-les pour obtenir une vue exhaustive du stockage de notre serveur. Vous pouvez cumuler plusieurs options en une seule commande.

Exécutez la commande suivante :

df -hT

Cette commande combine le format lisible (-h) et l'affichage du type de système de fichiers (-T).

Vous devriez voir un résultat similaire à celui-ci :

Filesystem     Type     Size  Used Avail Use% Mounted on
overlay        overlay   20G  1.3G   19G   7% /
tmpfs          tmpfs     64M     0   64M   0% /dev
tmpfs          tmpfs    3.9G     0  3.9G   0% /sys/fs/cgroup
shm            tmpfs     64M     0   64M   0% /dev/shm
/dev/vdb       xfs      100G   17G   84G  17% /etc/hosts
tmpfs          tmpfs    100M   50M   50M  50% /mnt/ramdisk

Ce rapport offre une vue d'ensemble complète, incluant les types et les tailles simplifiées. C'est un excellent moyen d'obtenir un état des lieux détaillé et rapide de votre système.

Se concentrer sur un système de fichiers spécifique

En tant qu'administrateur, vous aurez souvent besoin de vérifier l'état d'un point de montage précis. Par exemple, pour vérifier rapidement l'espace sur la racine du système, il suffit de spécifier le chemin après la commande df.

Concentrons-nous sur la racine. Exécutez la commande suivante :

df -h /

Vous devriez voir un résultat similaire à celui-ci :

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  1.3G   19G   7% /

Cette commande cible uniquement le système de fichiers racine. C'est très pratique lorsque vous ne voulez pas être encombré par les informations des autres partitions.

Vérifier l'espace disponible pour les répertoires personnels

Dans le cadre de vos fonctions, vous devez vous assurer que les utilisateurs disposent de suffisamment d'espace dans leurs dossiers personnels. Sur de nombreux systèmes, ces dossiers se trouvent dans /home. Vérifions l'espace disponible pour ce répertoire.

Exécutez la commande suivante :

df -h /home

Vous pourriez voir un résultat comme celui-ci :

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  1.3G   19G   7% /

Cela indique que le répertoire /home se trouve sur le même système de fichiers que la racine (/). Ici, nous constatons qu'il reste beaucoup d'espace (19 Go) pour les utilisateurs.

Si vous remarquez que le pourcentage d'utilisation (Use%) devient élevé, vous devrez identifier quels utilisateurs consomment le plus d'espace ou envisager d'augmenter la capacité de stockage.

Exclure certains types de systèmes de fichiers

Parfois, vous souhaiterez masquer certains types de systèmes de fichiers du rapport df. Par exemple, vous pourriez vouloir exclure les systèmes de fichiers temporaires (en mémoire) qui ne représentent pas une utilisation réelle du disque physique. L'option -x permet d'effectuer ce filtrage.

Exécutez la commande suivante pour exclure les systèmes tmpfs :

df -h -x tmpfs

Vous devriez voir un résultat similaire à celui-ci :

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  1.3G   19G   7% /
/dev/vdb        100G   17G   84G  17% /etc/hosts

Notez que les entrées tmpfs ont disparu. C'est utile pour se concentrer uniquement sur le stockage physique et filtrer les systèmes de fichiers virtuels.

Afficher un résumé total

Pour finir, affichons un résumé global de tous les systèmes de fichiers. Nous utilisons pour cela l'option --total. C'est particulièrement utile pour connaître la consommation globale de stockage sur l'ensemble de la machine.

Exécutez la commande suivante :

df -h --total

Vous devriez voir un résultat similaire à celui-ci :

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  1.3G   19G   7% /
tmpfs            64M     0   64M   0% /dev
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
shm              64M     0   64M   0% /dev/shm
/dev/vdb        100G   17G   84G  17% /etc/hosts
tmpfs           100M   50M   50M  50% /mnt/ramdisk
total           125G   18G  107G  15% -

La dernière ligne (total) additionne les capacités de tous les systèmes de fichiers, indiquant qu'au total, 18 Go sur 125 Go sont utilisés, soit environ 15 % de l'espace global disponible.

Résumé

Dans cet atelier, vous avez appris à utiliser la commande df pour surveiller et analyser l'utilisation de l'espace disque sur un système Linux. Vous avez exploré diverses options, notamment :

  • L'utilisation basique de df.
  • La conversion au format lisible avec -h.
  • L'affichage des types de systèmes de fichiers avec -T.
  • L'analyse de l'utilisation des inodes avec -i.
  • La combinaison d'options pour une analyse approfondie.
  • Le ciblage de systèmes de fichiers spécifiques.
  • L'exclusion de certains types avec -x.
  • L'affichage d'un résumé global avec --total.

Ces compétences sont fondamentales pour une administration système efficace et pour garantir les performances optimales de vos serveurs Linux. Au fil de votre progression, la commande df deviendra un outil inestimable de votre panoplie.

D'autres options de df non abordées ici incluent :

  • -a : Affiche tous les systèmes de fichiers, y compris les pseudo-systèmes, les doublons et les systèmes inaccessibles.
  • -k : Affiche les tailles en kilo-octets (par défaut).
  • -m : Affiche les tailles en méga-octets.
  • -P : Utilise le format de sortie POSIX.
  • --sync : Invoque une synchronisation avant de récupérer les informations d'utilisation.
  • -t : Limite l'affichage aux systèmes d'un type spécifique.

N'oubliez pas que si df est puissant, ce n'est qu'un des nombreux outils de surveillance. Par la suite, vous pourriez explorer d'autres commandes comme du (disk usage), ncdu (NCurses Disk Usage) ou divers outils de monitoring système.