Reducing the size of /dev/pve/root
(the root logical volume in a default Proxmox setup using LVM) and extend the space of /dev/pve/data
can be done using SystemRescueCD (or any live Linux environment with LVM and filesystem tools).
This is risky and should only be done after a full backup of your Proxmox host and VMs.
Warnings
Shrinking a mounted filesystem is dangerous — always do it from a live system (eg: SystemRescueCD).
Back up everything before proceeding.
These steps assume you’re using
ext4
.
Boot into SystemRescueCD
Check current LVM layout
lvdisplay
--- Logical volume --- LV Path /dev/pve/root LV Name root VG Name pve LV Write Access read/write LV Status available # open 1 LV Size 64.00 GiB Current LE 8192 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 --- Logical volume --- LV Path /dev/pve/data LV Name data VG Name pve LV Write Access read/write LV Status available # open 1 LV Size 10.88 TiB Current LE 2852702 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:1
Activate LVM volumes
lvscan vgchange -ay
Check the filesystem
Assuming /dev/pve/root is
ext4
e2fsck -f /dev/pve/root
Shrink the filesystem of /dev/pve/root
Decide how much you want to reduce it by.
Example: shrink
/dev/pve/root
to 32G.
lvreduce --resizefs --size 32G /dev/pve/root
Expand the filesystem of /dev/pve/data
to use (now) available free space
lvresize --resizefs --extents +100%FREE /dev/pve/data
Run e2fsck again (optional but recommended)
e2fsck -f /dev/pve/root e2fsck -f /dev/pve/data
Reboot
Remove or unmount SystemRescueCD and (re)boot from internal drive.
Check syslog
for any relevant errors.
Tip: If you need assistance or support for a similar issue, you can contact us ;)