Shrink an ext4 volume

Dans certains cas vous pouvez avoir suralloué de l’espace disque et l’avoir attribué par erreur sur un filesystem.

Sur un filesystem ext4, si l’espace n’a pas déjà été alloué, il est possible de récupérer l’espace en trop.

Pour cet exemple nous irons plus loin avec une couche LVM sous les volumes ext4.

Dans un premier temps démontez le volume:

umount /dev/data-vg/lv-data

Ensuite exécutez un fsck forcé pour vérifier l’intégrité du filesystem

e2fsck -f /dev/data-vg/lv-data

Redimensionnez ensuite le filesystem à la baisse

resize2fs /dev/data-vg/lv-data 150G

Le filesystem est désormais à la bonne taille. Pour aller au bout, sur du LVM, réduisez également la taille du LV

lvreduce -L 150G  /dev/data-vg/lv-data

Votre filesystem est désormais réduit. Vous pouvez désormais réutiliser l’espace libre.

Dans le cadre de LVM, au cas où, je vous conseille de réduire d’1Go supplémentaire avant le lvreduce puis de faire une resize2fs afin de vous réaligner avec la fin LV proprement.

resize2fs /dev/data-vg/lv-data 149G
lvreduce -L 150G  /dev/data-vg/lv-data
resize2fs /dev/data-vg/lv-data

See Also