I have a blog post where I walk through how to add NVMe storage in Proxmox using a directory-based storage. You can read that post here: Proxmox add disk storage space - NVMe drive.
However, when you add your storage using directory-based storage, you need to keep in mind it isn't thin-provisioned by default. You will need to rely on thin provisioning at the file level using QCOW2 format for your VMs. However, there is another way to have thin provisioned storage for your NVMe drive and that is by creating a thin-provisioned NVMe pool using your single NVMe drive.
Here are the steps to do this.
1. Find your NVMe drive
Find your NVMe device. It will look like /dev/nvme0n1
.
If it has existing partitions or filesystems, you’ll need to wipe it.
2. Wipe existing data (Make sure you have backups if needed!)
3. Create the LVM thin pool
4. Add it to Proxmox
-
In the Proxmox web UI, go to: Datacenter > Storage > Add > LVM-Thin
-
ID: nvme-thin (or whatever you want it to be)
-
Volume group:
nvme-vg
-
Thin pool:
nvme-thin
-
Content: Disk image
-
Save
Your LVM-thin storage should appear as soon as you save the add storage dialog box. It may have a question mark on it for a few seconds afterwards as it synchronizes and finishes setting things up. However, after that, you should be good to go to use your new thin storage. Let me know if this is what you usually use for NVMe storage or do you use ZFS?