Tous les produits
Search
Centre de documentation

:Résolution des écarts de capacité des disques cloud

Dernière mise à jour :Aug 18, 2026

Sur une instance ECS Linux, la capacité d'un disque cloud indiquée par la commande df peut différer de la capacité achetée. Ce comportement est normal et ne signale aucune erreur. L'écart s'explique par l'espace occupé par les métadonnées du système de fichiers, les inodes et l'espace réservé au système.

Description du problème

Un disque cloud de 200 GiB est attaché à une instance ECS Linux. Après initialisation du disque, exécutez la commande df -h : la capacité affichée n'est que de 197 GiB.

  1. La capacité totale (Size) indiquée par la commande df -h ne correspond pas à la capacité achetée dans la console.

  2. La somme de l'espace utilisé (Used) et de l'espace disponible (Avail) n'est pas égale à la capacité totale (Size).

[root@xxx]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        916M     0  916M   0% /dev
tmpfs           936M   12K  936M   1% /dev/shm
tmpfs           936M  536K  936M   1% /run
tmpfs           936M     0  936M   0% /sys/fs/cgroup
/dev/vda3        40G  4.1G   34G  11% /
/dev/vda2       200M  5.8M  195M   3% /boot/efi
tmpfs           188M     0  188M   0% /run/user/0
/dev/vdb1       197G  118M  189G   1% /mnt
Remarque

La capacité des disques cloud achetés dans la console Alibaba Cloud est mesurée en gibioctets (GiB). Cette rubrique utilise la commande df -h à titre d'exemple. Si vous utilisez la commande df -H, l'utilisation des partitions est exprimée en gigaoctets (GB).

  • La commande df -h utilise une base de 1024 et affiche les tailles en unités binaires (KiB, MiB, GiB).

  • La commande df -H utilise une base de 1000 et affiche les tailles en unités décimales (KB, MB, GB).

Par exemple, une partition de exactement 40 GiB peut s'afficher sous la forme 40G avec la commande df -h. La même partition peut s'afficher sous la forme 43G avec la commande df -H, car 40 GiB (40 × 1024³ octets) équivaut à environ 43 GB.

Causes

Question 1 : La capacité totale (Size) affichée par la commande df -h ne correspond pas à la capacité achetée dans la console

Surcharge du système de fichiers

Lorsque vous formatez et montez un disque cloud de 200 GiB sous Linux, sa capacité affichée peut n'être que de 197 GiB. Le système de fichiers nécessite en effet de l'espace pour les métadonnées, ce qui réduit la capacité disponible pour vos données.

Problème 2 : Used + Avail n'est pas égal à Size

Cet écart est généralement dû à deux facteurs : l'espace consommé par les inodes et l'espace réservé au système. Consultez la section Méthodes de dépannage pour savoir comment calculer cet espace consommé.

Utilisation des inodes

Un système de fichiers alloue un inode à chaque fichier et répertoire afin de stocker des attributs, tels que les permissions et la propriété. Ces inodes consomment eux-mêmes de l'espace disque, que la commande df -h n'inclut pas dans les champs Used ou Avail.

Espace réservé au système

Les systèmes de fichiers Linux réservent également une partie de l'espace disque pour l'usage du système. Cet espace réservé empêche la saturation complète du système de fichiers, garantissant ainsi la stabilité et la sécurité du système. Il n'est pas inclus dans les champs Used ou Avail rapportés par la commande df -h.

Méthodes de dépannage

Consultez les détails de la partition

Exécutez la commande suivante pour afficher les informations de partition du disque cloud.

sudo tune2fs -l /dev/[$Partition] | grep -E "count|size:"
Remarque

Dans cette commande, /dev/[$Partition] représente le nom de la partition du disque cloud, par exemple /dev/vdb1. Remplacez le nom de la partition selon votre configuration.

Le résultat ressemble à ce qui suit :

[root@xxx]# sudo tune2fs -l /dev/vdb1 | grep -E "count|size:"
Inode count:              13107200
Block count:              52428539
Reserved block count:     2199325
Block size:               4096
Fragment size:            4096
Group descriptor size:    64
Flex block group size:    16
Mount count:              1
Maximum mount count:      -1
Inode size:               256
Required extra isize:     32
Desired extra isize:      32

Calculez l'espace des inodes

Pour calculer l'espace total consommé par les inodes, exécutez la commande suivante :

sudo tune2fs -l /dev/[$Partition] | awk '/Inode count:/{c=$3} /Inode size:/{split($0,a,":"); s=a[2]} END{if(c && s) printf "Inode space: %.2f GiB\n", c*strtonum(s)/(1024^3); else print "Error: Could not find Inode information."}'
Remarque

Dans cette commande, /dev/[$Partition] représente le nom de la partition du disque cloud, par exemple /dev/vdb1. Remplacez le nom de la partition selon votre configuration.

Vous pouvez également utiliser la formule suivante pour calculer l'espace consommé par les inodes :

\text{Inode占用空间} = \frac{\text{Inode count} \times \text{Inode size}}{1024^3} = \frac{\text{13107200} \times \text{256}}{1024^3} =\text{3.12GiB}

Calculez l'espace réservé

Pour calculer l'espace total réservé au système, exécutez la commande suivante :

sudo tune2fs -l /dev/[$Partition] | awk '/Reserved block count:/{r=$4} /Block size:/{b=$3} END{if(r && b) printf "Reserved space: %.2f GiB\n", r*b/(1024^3); else print "Error: Could not find reserved block or block size information."}'
Remarque

Dans cette commande, /dev/[$Partition] représente le nom de la partition du disque cloud, par exemple /dev/vdb1. Remplacez le nom de la partition selon votre configuration.

La commande renvoie le résultat suivant :

[root@ixxxxxxxxxxxx]# sudo tune2fs -l /dev/vdb1 | awk '/Reserved block count:/{r=$4} /Block size:/{b=$3} END{if(r & b) printf "Reserved space: %.2f GiB\n", r*b/(1024^3); else print "Error: Could not find reserved block or block size information."}'
Reserved space: 8.39 GiB

Vous pouvez également utiliser la formule suivante pour calculer l'espace réservé au système :

\text{系统保留空间} = \frac{\text{Reserved block count} \times \text{Block size}}{1024^3} = \frac{\text{2199325} \times \text{4096}}{1024^3} =\text{8.39GiB}