BlogProxmox

Resize a Debian VM Disk in Proxmox and Add Swap

Updated by Adam on August 17th, 2026

Safely expand a Proxmox virtual disk, grow the Debian partition and filesystem, add a swap file, and verify every layer before rebooting.

Growing a Debian VM disk involves several separate layers. Proxmox enlarges the virtual disk; Debian must then enlarge its partition or logical volume and finally its filesystem. Completing only the first step does not create usable free space inside the guest.

Make a current backup or snapshot and confirm that you can restore it before changing partitions. Disk growth is normally safe; shrinking is a different and riskier operation and is not covered here.

1. Identify the layout inside Debian

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINTS
findmnt /
df -hT /
sudo pvs 2>/dev/null
sudo vgs 2>/dev/null
sudo lvs 2>/dev/null

You need to know whether the root filesystem is on a plain partition such as /dev/sda1 or an LVM logical volume.

2. Enlarge the virtual disk in Proxmox

In the web interface, select the VM and go to Hardware → Hard Disk → Disk Action → Resize. Enter the amount to add, such as 20 GiB.

CLI equivalent:

qm disk resize VMID scsi0 +20G

Confirm the correct VM ID and disk name first with:

qm config VMID

3. Make Debian see the new size

A reboot is the simplest approach. If you cannot reboot, rescan the device; replace sda with the real disk:

echo 1 | sudo tee /sys/class/block/sda/device/rescan
lsblk

4A. Plain partition and ext4

Install the grow helper and enlarge partition 1:

sudo apt update
sudo apt install cloud-guest-utils
sudo growpart /dev/sda 1
sudo resize2fs /dev/sda1

For XFS, grow the mounted filesystem instead:

sudo xfs_growfs /

4B. LVM layout

First grow the partition containing the physical volume, then the PV and logical volume. Replace device names with the output from lsblk and lvs:

sudo growpart /dev/sda 3
sudo pvresize /dev/sda3
sudo lvextend -l +100%FREE -r /dev/mapper/debian--vg-root

The -r option grows the filesystem after the logical volume. Review the target carefully before running it.

5. Verify the result

lsblk -f
df -hT /
sudo lvs 2>/dev/null

The virtual disk, partition or LV, and filesystem should now show consistent sizes.

Add a swap file

A swap file is easier to resize than a swap partition. Choose a size based on workload, available storage, and whether you need hibernation. This example creates 2 GiB:

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Verify:

swapon --show
free -h
sudo findmnt --verify

If the root filesystem is Btrfs, do not use the generic steps blindly; Btrfs swap files have additional requirements.

Before calling it done

Reboot once during a maintenance window, then verify df -hT, swapon --show, and application health. Also confirm that monitoring and backup jobs recognize the larger disk.

For adjacent Proxmox troubleshooting, see how to clear a stale VM lock and how to choose between QCOW2 and VMDK.