0% found this document useful (0 votes)
148 views3 pages

Shrinking Ext4 Partition and Underlying LVM On Debian Linux (Proxmox VE)

This document provides steps to shrink an ext4 partition and underlying LVM volume on a Debian system when snapshots have filled the volume group to capacity. The steps are: 1. Shutdown VMs, stop Proxmox and KVM processes. 2. Unmount the LVM volume group. 3. Check and resize the ext4 filesystem using resize2fs. 4. Verify the resized filesystem size. 5. Unmount and resize the LVM logical volume using lvreduce. 6. Verify free space has been reclaimed in the volume group.

Uploaded by

Samir Benakli
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
0% found this document useful (0 votes)
148 views3 pages

Shrinking Ext4 Partition and Underlying LVM On Debian Linux (Proxmox VE)

This document provides steps to shrink an ext4 partition and underlying LVM volume on a Debian system when snapshots have filled the volume group to capacity. The steps are: 1. Shutdown VMs, stop Proxmox and KVM processes. 2. Unmount the LVM volume group. 3. Check and resize the ext4 filesystem using resize2fs. 4. Verify the resized filesystem size. 5. Unmount and resize the LVM logical volume using lvreduce. 6. Verify free space has been reclaimed in the volume group.

Uploaded by

Samir Benakli
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
You are on page 1/ 3

Shrinking ext4 partition and underlying

LVM on Debian Linux (Proxmox VE)


2012/06/17 Benjamin Wiedmann 8 Comments

I’ve created a LVM (eg. “vg1″) and set the whole space to a single group (eg. “vz”) to have
plenty room for my Proxmox VMs (space directive “all” at LVM creation).

LV vg1 vz /var/lib/vz ext4 all

Upon taking cron based snapshots of running VMs, Proxmox said that there’s no space left on
vg1.

I’ve got the following errors in the snapshot logs:

INFO: Volume group "vg1" has insufficient free space (0 extents): 256
required.
ERROR: Backup of VM 123 failed - command 'lvcreate --size 1024M --snapshot
--name 'vzsnap-virtual-0' '/dev/vg1/vz'' failed: exit code 5

LVM util “vgs vg1″ shows:

root@proxmox ~ # vgs vg1


VG #PV #LV #SN Attr VSize VFree
vg1 1 1 0 wz--n- 1.73t 0

Look at the value of VFree. Looks bad, 0 bytes free!

Backup all your data on your LVM VG to be shrinked before proceeding!

 Shutdown all VMs


 Stop Proxmox
 Stop all KVM processes

Unmount the vg1 LVM VG:

umount /dev/vg1/vz

You need to check the filesystem on the LVM device first:

e2fsck -f /dev/vg1/vz

After that’s passed, shrink the filesystem on vg1/vz:

resize2fs /dev/vg1/vz NEWVAL[KMG]

In my case that did the job:

root@proxmox ~ # resize2fs /dev/vg1/vz 1200G


resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/vg1/vz to 314572800 (4k) blocks.
The filesystem on /dev/vg1/vz is now 314572800 blocks long.

The new shrinked block size on /dev/vg1/vz is now 314572800 blocks.

Let’s check if the blocksize matches by remounting the shrinked filesystem:

mount /dev/vg1/vz

Get an approximate block count for the shrinked filesystem:

root@proxmox ~ # df /var/lib/vz
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg1-vz 1248378224 15409856 1170053812 2% /var/lib/vz
root@proxmox ~ # df -h /var/lib/vz
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg1-vz 1.2T 15G 1.1T 2% /var/lib/vz

Looks good. The value of 1K blocks is a bit lower than the actual block size of the whole
filesystem. That’s normal.

Verify the exact block size (LVM does not need to be mounted):

root@proxmox ~ # dumpe2fs -h /dev/vg1/vz|grep "Block count"


dumpe2fs 1.41.12 (17-May-2010)
Block count: 314572800

Looks good. Block count 314572800 matches the block count that resize2fs printed after
shrinking.

Unmount filesystem!

umount /dev/vg1/vz

Resizing the LVM:

root@proxmox ~ # lvreduce --size 1200G /dev/vg1/vz


WARNING: Reducing active and open logical volume to 1.17 TiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vz? [y/n]: y
Reducing logical volume vz to 1.17 TiB
Logical volume vz successfully resized

Final check:

root@virtual ~ # vgs vg1


VG #PV #LV #SN Attr VSize VFree
vg1 1 1 0 wz--n- 1.73t 566.52g
VFree tells me that there are 566.52G free. Looks good.
Check shrinked filesystem:
root@proxmox ~ # e2fsck -f /dev/vg1/vz
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg1/vz: 37/78643200 files (0.0% non-contiguous), 6330708/314572800
blocks
Remount the shrinked filesystem:
root@proxmox ~ # mount /dev/mapper/vg1-vz
Check space on shrinked filesystem:
root@proxmox ~ # df -h /var/lib/vz
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg1-vz 1.2T 15G 1.1T 2% /var/lib/vz

Well. We’re done!

You might also like