Adding a Disk to Proxmox node: LVM Integration Guide

Extend your Proxmox storage with LVM thin provisioning

Posted by Rene Welches on Thursday, January 8, 2026
Last Modified on Thursday, January 29, 2026

Overview

This guide walks through adding a new disk to an existing Proxmox installation with NVMe storage, integrating it into the LVM pve volume group, and making it available to the thin pool used by Proxmox. In my case I added a 2nd SATA disk to the existing NVME disk on my minisforum um700 node. I had another Crucial BX500 480GB (Affiliate Link) in my hardware box. With this addition my minisforum um700 storage is almost on par with the GMKtec NucBox M5 Ultra storage.

Prerequisites

  • Existing Proxmox installation with LVM pve volume group
  • New SATA or other disk physically installed in your system
  • Root access via SSH or console
  • Basic understanding of LVM concepts (optional but helpful)

What We’re Doing

  1. Prepare the new disk
  2. Create an LVM physical volume from the disk
  3. Add it to the existing pve volume group
  4. Extend the thin pool to use the new space

Step-by-Step Guide

Step 1: Verify Your Current Setup

First, check your existing LVM configuration:

sudo pvs            # shows all physical volumes
sudo vgdisplay pve  # displays the virtual group 'pve' information
sudo lvs pve        # shows logical volumes information of the 'pve' group

Check Proxmox’s storage configuration:

cat /etc/pve/storage.cfg

Look for an entry like:

lvmthin: local-lvm
    thinpool data
    vgname pve
    content rootdir,images

This confirms you’re using LVM thin provisioning with a thin pool named data.

Step 2: Prepare the New Disk

Identify your new disk (be careful here—use lsblk to verify):

lsblk

Look for your new disk. Let’s assume it’s /dev/sda. If your disk has an existing partition table or filesystems, clean it completely:

sudo wipefs -a /dev/sda

This erases all partition tables, filesystem signatures, and LVM metadata.

Note: Only run this if the disk is truly new and has no data you need.

Step 3: Create an LVM Physical Volume

Convert the disk to an LVM physical volume:

sudo pvcreate /dev/sda

Verify it was created:

sudo pvs

You should see /dev/sda listed as a new physical volume.

Step 4: Add to the pve Volume Group

Extend the existing pve volume group to include the new physical volume:

sudo vgextend pve /dev/sda

Verify the volume group grew:

sudo vgdisplay pve

Note the increased VG Size and Alloc PE / Size values.

Step 5: Extend the Thin Pool

The thin pool data is what Proxmox actually uses. Extend it to allocate the new disk space:

sudo lvextend -l +100%FREE /dev/pve/data

This expands the thin pool to use all newly available space from /dev/sda.

Verify the thin pool expanded:

sudo lvs pve/data

The size should have increased significantly.

Step 6: Verify in Proxmox

In the Proxmox web UI:

  • Navigate to Datacenter → Storage → local-lvm
  • You should see the increased capacity available

How It Works

Once you complete these steps, Proxmox and LVM handle the complexity behind the scenes:

  • Distribution: LVM automatically distributes data across /dev/nvme0n1p3 and /dev/sda as needed
  • Transparent: Proxmox sees one unified pool (local-lvm) regardless of underlying physical volumes
  • Flexible: Add more disks in the future using the same process

Alternative: Using Partitions Instead of Whole Disk

If you prefer to partition the disk first (for organizational purposes), you can:

sudo gdisk /dev/sda
# Create partitions as needed (e.g., /dev/sda1, /dev/sda2)
# Write and exit (w → y)

sudo pvcreate /dev/sda1 /dev/sda2
sudo vgextend pve /dev/sda1 /dev/sda2
sudo lvextend -l +100%FREE /dev/pve/data

However, for simplicity, using the entire disk as a single physical volume is recommended.

Troubleshooting

“Cannot use /dev/sda: device is partitioned”

The disk still has partition table metadata. Clean it:

sudo wipefs -a /dev/sda

Then retry pvcreate.

LVM refuses to remove disk from volume group

If the disk is actively in use by the thin pool and you need to remove it:

sudo lvchange -an /dev/pve/data    # Deactivate
sudo vgreduce pve /dev/sda --force # Force remove
sudo lvchange -ay /dev/pve/data    # Reactivate

However, this is rarely needed. Usually, just physically moving a disk keeps it recognized by LVM.

Key Takeaway

Adding storage to Proxmox with LVM is straightforward: create a physical volume, add it to the volume group, and extend the thin pool. LVM handles the complexity of distributing data across multiple disks transparently.