Ao executar o comando df para consultar a capacidade de um disco em nuvem em uma instância do Elastic Compute Service (ECS) Linux, a capacidade retornada pode ser diferente da capacidade adquirida. Na maioria dos casos, isso não indica falta de espaço em disco. A diferença ocorre porque parte do espaço é reservada pelo sistema ou ocupada por inodes e metadados do sistema de arquivos.
Descrição do problema
Você adquiriu um disco em nuvem de 200 GiB para uma instância ECS Linux e inicializou o disco. Ao executar o comando df -h para consultar a capacidade do disco, o resultado mostra 197 GiB em vez de 200 GiB.
A saída do comando
df -hexibe uma capacidade total (Size) diferente da capacidade adquirida no console do ECS.A soma do espaço usado (Used) e do espaço disponível (Avail) é diferente da capacidade total (Size).

A capacidade do disco adquirida no console do ECS é medida em GiB. Nos exemplos a seguir, o comando df -h é usado para consultar o uso da partição do disco. Se você executar o comando df -H, o uso da partição será exibido em GB.
O comando
df -husa 1.024 como base, e o uso da partição é medido em unidades binárias, como KiB, MiB ou GiB.O comando
df -Husa 1.000 como base, e o uso da partição é medido em unidades decimais, como KB, MB ou GB.
Por exemplo, se o tamanho real de uma partição for 40 GiB, o comando df -h pode retornar 40G como capacidade da partição. Já o comando df -H pode retornar 42G. Isso ocorre porque 40 × 1024^3 bytes dividido por 1000^3 resulta em aproximadamente 42,95 GB.
Causas
Problema 1: A capacidade total (Size) na saída do df -h é diferente da capacidade adquirida no console do ECS
Sobrecarga do sistema de arquivos
Se você adquiriu um disco em nuvem de 200 GiB, formatou o disco e o anexou à instância ECS Linux, a capacidade total exibida pode ser de aproximadamente 197 GiB. Isso acontece porque estruturas de dados adicionais são geradas durante a criação do sistema de arquivos, e essas estruturas ocupam espaço em disco. Embora ocupem pouco espaço, elas afetam a capacidade total.
Problema 2: A soma do espaço usado (Used) e do espaço disponível (Avail) é diferente da capacidade total (Size)
Na maioria dos casos, essa diferença ocorre porque os inodes ocupam espaço em disco ou porque o sistema reserva uma parte do espaço. Para saber como calcular o espaço ocupado por inodes ou o espaço reservado pelo sistema, consulte a seção Métodos de solução de problemas deste tópico.
Consumo de inodes
Um sistema de arquivos aloca um inode para cada arquivo para registrar atributos como permissões e proprietário. Os inodes ocupam espaço em disco, e o comando df -h não contabiliza esse espaço.
Reserva do sistema
Além dos inodes, o Linux reserva uma parte do espaço em disco para evitar que o diretório raiz fique completamente cheio, garantindo a estabilidade e a segurança do sistema. O espaço reservado não aparece na soma do espaço usado (Used) e do espaço disponível (Avail) na saída do comando df -h.
Métodos de solução de problemas
Visualizar informações detalhadas sobre partições
Execute o seguinte comando para visualizar as informações da partição do disco em nuvem:
sudo tune2fs -l /dev/[$Partition] | grep -E "count|size:"Substitua /dev/[$Partition] pelo nome real da partição, como /dev/vdb1.
A seguinte saída de comando é retornada.

Calcular o espaço em disco ocupado por inodes
Execute o seguinte comando para obter o total de espaço em disco ocupado por inodes:
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."}'Substitua /dev/[$Partition] pelo nome real da partição, como /dev/vdb1.
A seguinte saída de comando é retornada.

Você também pode usar a seguinte fórmula para calcular o espaço em disco ocupado por inodes:
Calcular o espaço em disco reservado pelo sistema
Execute o seguinte comando para obter o total de espaço em disco reservado pelo sistema:
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."}'Substitua /dev/[$Partition] pelo nome real da partição, como /dev/vdb1.
A seguinte saída de comando é retornada.

Você também pode usar a seguinte fórmula para calcular o espaço em disco reservado pelo sistema: