Por que o lvextend aloca menos que a quantidade de espaço especificada?

Por que o lvextend aloca menos que a quantidade de espaço especificada?

Estou tentando estender um volume, vamos chamá-lo de /dev/vol1. Vejo que o tamanho do volume inicial é de 500 MB quando ligo:

df --block-size=M /dev/vol1

então, para estendê-lo em mais 100 MB, eu chamo:

lvextend -L+100M /dev/vol1
resize2fs /dev/vol1

mas quando verifico o tamanho novamente com

df --block-size=M /dev/vol1

Recebo 595, indicando que apenas 95 MB foram ganhos. O que explica essa discrepância? Acho que tem a ver com um MB de 1024 versus 1000 KB, mas não tenho certeza de onde está o problema.

Responder1

Ao especificar um tamanho para utilitários LVM, letras maiúsculas indicam unidades decimais (K=1000, M=1000000, etc.) enquanto letras minúsculas indicam unidades binárias (k=1024, m=1048576, etc.). Isso é mencionado nas páginas de manual e pvs, mas não nas páginas de manual de outros comandos que usam um argumento de tamanho. Você estendeu o volume em 100.000.000 bytes ≈ 95MiB.vgslvs

Responder2

Tente usar lvscanou lvdisplayou lvspara ver os detalhes reais de um volume lógico.

df -hrelatórios com M = 1.048.576 bytes.

df -Hrelatórios com M = 1.000.000 bytes.

informação relacionada