Proxmox add disk storage space – NVMe drive

Proxmox is a really great free and open-source virtualization platform that many are using in the home lab environment. However, one common challenge Proxmox users face is expanding storage space. With NVMe drives now being extremely cheap, they are a great choice for extra virtualization storage. Let’s walk through the process of adding disk storage space to an NVMe drive in Proxmox, step by step.

Why add disk space to Proxmox?

You may need more hard disk space for a storage drive for virtual machines, containers, images, etc.

You may already have Proxmox installed on one disk and need to add storage to have more local storage. This process is as simple as adding a drive to Proxmox.

NVMe disks are cheap and great for adding speedy virtualization storage to your Proxmox host.

Add the physical drive to your Proxmox host

The first step is, of course, adding the new drive to your Proxmox host. Most current hosts have a hard drive M.2 slot for NVMe storage. Once added, we can begin the process to provision the storage.

Preparing the NVMe Drive

Before adding storage space to your Proxmox server, you must prepare the new disk. This involves installing necessary tools, creating a new partition table, and setting up the primary partition.

  1. Install Parted:

To begin, you must install the Parted utility on your Proxmox server. Select Shell in the web interface to launch the command shell. This tool is used for manipulating block devices and creating partitions. To install Parted, run the following command:

apt install parted
  1. List block devices:

Next, use the lsblk command to identify the new NVMe drive you want to add to your Proxmox installation. For example, the drive may appear as dev/nvme0n1. You will see the normal disks such as dev sda dev sda1.

  1. Create a new partition table:

Once you have identified the new disk, you can create a new partition table. Run the following command to create a type GPT partition table on the NVMe drive:

parted /dev/nvme0n1 mklabel gpt

Creating the Primary Partition

After you have prepared the new disk, the next step is to create the primary partition on the NVMe drive.

  1. Create a primary partition

To create the primary partition, run the following command:

parted /dev/nvme0n1 mkpart primary ext4 0% 100%

This command creates a new primary ext4 partition that spans the entire NVMe drive and will remove existing partitions. So be careful and ensure this is what you would like to do.

  1. Format the partition:

Next, format the new partition with the ext4 filesystem:

mkfs.ext4 /dev/nvme0n1p1
  1. Name the storage for your data

You can name the storage something intuitive using the command:

mkfs.ext4 -L vmstorage /dev/nvmeOn1

Mounting the New Partition

With the primary partition created, you must now mount it to a mount point on your Proxmox server.

  1. Create a new directory:

First, create a new directory to serve as the mount point for the new partition. For example:

mkdir /mnt/vmstorage
  1. Edit the /etc/fstab file:

Next, edit the /etc/fstab file to ensure the new partition will auto mount upon reboot. Open the file with a text editor like Nano:

nano /etc/fstab

Add the following line to the file, replacing /dev/nvme0n1p1 with the appropriate device identifier for your NVMe drive:

LABEL=vmstorage /mnt/vmstorage ext4 defaults 0 2

Save the changes and exit the text editor.

  1. Mount the new partition:

Finally, mount the new partition to the mount point:

mount /mnt/vmstorage

Adding Storage Space to Proxmox

Now that the new partition is mounted, you can add it as storage space in the Proxmox web interface.

1. Log in to the Proxmox web interface.

2. Navigate to the “Datacenter” tab and click on “Storage.”

3. Click on the “Add” button and select “Directory” from the dropdown menu. There will be several options including lvm thin think provisioning, volume group, thin provisioning.

4. In the “Add Directory” window, enter a unique ID for the new storage, and set the “Directory” field to the mount point you created earlier (e.g., /mnt/nvme-storage). Choose the appropriate “Content” types, such as “select Disk image,” “Container template,” or “Backup.” Click “Add” to save the configuration.

5. The new storage space will now be available in the Proxmox web interface for virtual machines and containers.

Now, when you create a new virtual machine or container you will see the storage available to select in the storage drop down.

Performing Backups to the New Storage

With the new storage space added to Proxmox, you can also use it as backup storage for your virtual machines and containers. To create a backup, follow these steps:

1. Select the virtual machine or container you want to back up in the Proxmox web interface.

2. Click on the “Backup” button in the top menu.

3. In the “Backup” window, choose the new storage space as the “Storage” target and configure the other backup options as needed. Click “Backup” to initiate the process.

4. Monitor the backup progress in the “Task Log” tab.

Wrapping up

Proxmox is a great solution that is free, open-source, and incorporates many great features in the platform. Adding storage is fairly straightforward, but does involve a few steps from the command shell to mount the storage, format the disk, and add it to the system as available storage for virtual machines and containers.

Subscribe to VirtualizationHowto via Email 🔔

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Brandon Lee

Brandon Lee is the Senior Writer, Engineer and owner at and has over two decades of experience in Information Technology. Having worked for numerous Fortune 500 companies as well as in various industries, Brandon has extensive experience in various IT segments and is a strong advocate for open source technologies. Brandon holds many industry certifications, loves the outdoors and spending time with family.

Related Articles


  1. Thanks for this tutorial!

    I think there’s a typo: “mkfs.ext4 -L vmstorage /dev/nvmeOn1” -> mkfs.ext4 -L vmstorage /dev/nvmeOn1p1


  2. great tutorial, it worked perfect

    one thing is not clear for me – why (in “Add the following line to the file” when editing /etc/fstab file) the example line is not the same as the screenshot below.

    And – after editing fstab – i also had to execute systemctl daemon-reload because my system was asking me to do that. Don’t know if its really necessary

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.