Commande df Linux : Rapport sur l'espace disque

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous allez explorer la commande df, un outil essentiel pour surveiller l'utilisation de l'espace disque sur les systèmes Linux. Vous prendrez le rôle d'un administrateur système chargé de gérer un serveur web très sollicité, en utilisant la commande df pour analyser l'utilisation du disque, identifier les problèmes potentiels de stockage et garantir le bon fonctionnement du serveur. Ce laboratoire est conçu pour les débutants, donc n'ayez pas peur si vous êtes nouveau dans le monde de Linux - nous vous guiderons étape par étape.

Ceci est un Guided Lab, qui fournit des instructions étape par étape pour vous aider à apprendre et à pratiquer. Suivez attentivement les instructions pour compléter chaque étape et acquérir une expérience pratique. Les données historiques montrent que c'est un laboratoire de niveau débutant avec un taux de réussite de 98%. Il a reçu un taux d'avis positifs de 99% de la part des apprenants.

Comprendre la commande de base df

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 jusqu'au répertoire du projet :

cd ~/project

Maintenant, exécutons la commande de base df :

df

Astuce : En raison des changements dynamiques de stockage de la machine virtuelle, la sortie de la commande df peut être incohérente. Ce problème peut être ignoré.

Vous devriez voir une sortie similaire à celle-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

Décortiquons cette sortie :

  • Filesystem : Cette colonne affiche le nom du périphérique ou de la partition.
  • 1K-blocks : Cela indique la taille totale du système de fichiers en blocs de 1 kilooctet.
  • Used : Cela indique combien de blocs de 1K sont utilisés.
  • Available : Cela montre combien de blocs de 1K sont disponibles.
  • Use% : Cela affiche le pourcentage du système de fichiers qui est utilisé.
  • Mounted on : Cela montre où dans l'arborescence des répertoires le système de fichiers est monté.

Remarquez le système de fichiers overlay, qui est 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 de fichiers tmpfs monté sur /mnt/ramdisk, qui est un système de fichiers basé sur la mémoire vive.

Rendre la sortie de df lisible par l'homme

La sortie par défaut de la commande df affiche les tailles en blocs de 1K, ce qui peut être difficile à interpréter rapidement. Imaginez-vous devoir calculer combien de gigaoctets représentent 20640796 blocs de 1K! Heureusement, nous pouvons utiliser l'option -h (qui signifie "human-readable", c'est-à-dire "lisible par l'homme") pour rendre la sortie plus facile à comprendre.

Exécutez la commande suivante :

df -h

Vous devriez voir une sortie similaire à celle-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

Remarquez comment les tailles sont maintenant exprimées en GB et en MB. C'est beaucoup plus facile à comprendre d'un coup d'œil. Par exemple, nous pouvons rapidement constater que notre système de fichiers principal (overlay) a une taille de 20G, avec seulement 1.3G utilisés et 19G 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. Différents types de systèmes de fichiers ont des fonctionnalités et des caractéristiques de performance différentes. L'option -T vous permet de visualiser ces informations.

Exécutez la commande suivante :

df -T

Vous devriez voir une sortie similaire à celle-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, qui indique le type de système de fichiers pour chaque système de fichiers monté. Examinons les types que nous voyons :

  • overlay : Il s'agit d'un type de système de fichiers union, souvent utilisé dans les environnements conteneurisés.
  • tmpfs : C'est un système de fichiers temporaire qui réside en mémoire et/ou dans la partition d'échange (swap).
  • xfs : C'est un système de fichiers journalisé à haute performance, utilisé ici pour le montage de /etc/hosts.

Comprendre les types de systèmes de fichiers peut vous aider à résoudre 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 importantes sur les fichiers, telles que leurs autorisations, leur propriétaire et leur emplacement sur le disque. Chaque fichier de votre système utilise un inode. Fait intéressant, il est possible de manquer d'inodes même si vous avez beaucoup d'espace disque disponible, ce qui vous empêcherait de créer de nouveaux fichiers. C'est pourquoi il est crucial de surveiller l'utilisation des inodes.

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

df -i

Vous devriez voir une sortie similaire à celle-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écortiquons cette sortie :

  • Inodes : Le nombre total d'inodes pour le système de fichiers
  • IUsed : Le nombre d'inodes actuellement utilisés
  • IFree : Le nombre d'inodes libres
  • IUse% : Le pourcentage d'inodes utilisés

Dans cet exemple, nous pouvons voir que notre système de fichiers principal (overlay) utilise seulement 2 % de ses inodes disponibles. C'est bon - cela signifie que nous sommes loin de manquer d'inodes, ce qui pourrait nous empêcher de créer de nouveaux fichiers même si nous avions de l'espace disque disponible.

Combiner les options pour une analyse complète

Maintenant que nous avons exploré les options individuelles, combinons-les pour obtenir une vue plus complète de la situation de stockage de notre serveur. Nous pouvons utiliser plusieurs options ensemble pour obtenir toutes les informations dont nous avons besoin en une seule commande.

Exécutez la commande suivante :

df -hT

Cette commande combine les options de format lisible par l'homme (-h) et de type de système de fichiers (-T).

Vous devriez voir une sortie similaire à celle-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

Cette sortie fournit une vue d'ensemble complète de vos systèmes de fichiers, y compris leurs types et leurs tailles lisibles par l'homme. C'est un excellent moyen d'obtenir un instantané rapide mais détaillé de la situation de stockage de votre système.

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

En tant qu'administrateur système, vous devrez souvent vérifier l'état d'un système de fichiers spécifique. Par exemple, vous pourriez vouloir rapidement vérifier l'espace disponible sur le système de fichiers racine. Nous pouvons le faire en spécifiant le point de montage après la commande df.

Concentrons-nous sur le système de fichiers racine. Exécutez la commande suivante :

df -h /

Vous devriez voir une sortie similaire à celle-ci :

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

Cette commande vous donne une vue rapide de l'utilisation de l'espace sur le système de fichiers racine. Elle est particulièrement utile lorsque vous n'êtes intéressé que par un système de fichiers spécifique et que vous n'avez pas besoin d'informations sur tous les autres.

Vérifier l'espace disponible dans les répertoires personnels des utilisateurs

Dans le cadre de vos responsabilités de gestion de serveur, vous devez vous assurer que les utilisateurs ont suffisamment d'espace dans leurs répertoires personnels. Sur de nombreux systèmes, les répertoires personnels des utilisateurs sont situés dans le répertoire /home. Vérifions l'espace disponible dans le répertoire /home.

Exécutez la commande suivante :

df -h /home

Vous pourriez voir une sortie similaire à celle-ci :

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

Cela montre que le répertoire /home se trouve sur le même système de fichiers que le répertoire racine (/). Dans ce cas, nous pouvons voir qu'il y a beaucoup d'espace disponible (19 Go) pour les répertoires personnels des utilisateurs.

Si vous constatez que le système de fichiers se remplit (une valeur élevée pour le pourcentage d'utilisation), vous devrez peut-être étudier 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 pourriez vouloir exclure certains types de systèmes de fichiers de la sortie de la commande df. Par exemple, vous pourriez vouloir exclure les systèmes de fichiers temporaires (tmpfs), qui sont stockés en mémoire et ne représentent pas l'utilisation physique du disque. Nous pouvons le faire en utilisant l'option -x.

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

df -h -x tmpfs

Vous devriez voir une sortie similaire à celle-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 systèmes de fichiers tmpfs ne sont plus listés dans la sortie. Cela peut être utile lorsque vous n'êtes intéressé que par l'utilisation physique du disque et que vous voulez filtrer les systèmes de fichiers virtuels.

Afficher un résumé global

En guise de vue d'ensemble finale, affichons un résumé global de tous les systèmes de fichiers. Nous pouvons le faire en utilisant l'option --total. Cela est particulièrement utile lorsque vous souhaitez voir l'utilisation globale du disque sur tous les systèmes de fichiers.

Exécutez la commande suivante :

df -h --total

Vous devriez voir une sortie similaire à celle-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% -

Cela fournit un résumé global de l'utilisation du disque sur tous les systèmes de fichiers. La dernière ligne montre le total pour tous les systèmes de fichiers, indiquant que globalement, 18 Go sur 125 Go sont utilisés, soit environ 15 % de l'espace total disponible.

Résumé

Dans ce laboratoire, 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 de la commande df, notamment :

  • Utilisation de base de df
  • Affichage de la sortie de manière lisible par l'homme avec -h
  • Affichage des types de systèmes de fichiers avec -T
  • Analyse de l'utilisation des inodes avec -i
  • Combinaison d'options pour une analyse complète
  • Focus sur des systèmes de fichiers spécifiques
  • Exclusion de certains types de systèmes de fichiers avec -x
  • Affichage d'un résumé global avec --total

Ces compétences sont essentielles pour une administration système efficace et pour garantir les performances optimales de vos serveurs Linux. Au fur et à mesure de votre progression dans le domaine de l'administration système, vous constaterez que la commande df est un outil inestimable dans votre boîte à outils.

Les options supplémentaires de df non couvertes dans ce laboratoire incluent :

  • -a : Afficher tous les systèmes de fichiers, y compris les systèmes de fichiers pseudo, dupliqués et inaccessibles
  • -k : Afficher les tailles en kilooctets (par défaut)
  • -m : Afficher les tailles en mégaoctets
  • -P : Utiliser le format de sortie POSIX
  • --sync : Appeler la commande sync avant d'obtenir les informations d'utilisation
  • -t : Limiter la liste aux systèmes de fichiers d'un type spécifique

N'oubliez pas que bien que df soit puissant, c'est seulement l'un des nombreux outils disponibles pour surveiller l'utilisation du disque. Au fur et à mesure de votre progression dans le monde Linux, vous pourriez souhaiter explorer d'autres commandes telles que du (disk usage), ncdu (NCurses Disk Usage) et divers outils de surveillance système.