¿Por qué lvextend asigna menos espacio que la cantidad especificada?

¿Por qué lvextend asigna menos espacio que la cantidad especificada?

Estoy intentando ampliar un volumen, llamémoslo /dev/vol1. Veo que el tamaño del volumen inicial es de 500 MB cuando llamo:

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

luego para ampliarlo 100MB más llamo:

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

pero cuando reviso el tamaño nuevamente con

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

Recibo 595, lo que indica que solo se ganaron 95 MB. ¿A qué se debe esta discrepancia? Creo que tiene que ver con que un MB sea 1024 frente a 1000 KB, pero no estoy seguro de dónde está el problema.

Respuesta1

Cuando especifica un tamaño para las utilidades LVM, las letras mayúsculas indican unidades decimales (K=1000, M=1000000, etc.) mientras que las letras minúsculas indican unidades binarias (k=1024, m=1048576, etc.). Esto se menciona en las páginas pvsde manual vgsy lvsde manual, pero no en las páginas de manual de otros comandos que toman un argumento de tamaño. Ampliaste el volumen en 100.000.000 bytes ≈ 95MiB.

Respuesta2

Intente utilizar lvscano lvdisplayo lvspara ver los detalles reales de un volumen lógico.

df -hinformes con M = 1.048.576 bytes.

df -Hinformes con M = 1.000.000 bytes.

información relacionada