Post

Proxmox server NVMe Storage Overview and Guide

After almost losing my Proxmox server - thank God for recent backups and snapshots - I decided to document how the storage was set up this time, which was more logical than the initial setup. Two internal NVMe SSDs and one external SSD. General outline of where to host the OS, backups, VMs, and external data used by the VMs, including how to mount it into the Docker containers correctly.

Proxmox server NVMe Storage Overview and Guide

NOTE: The article “Mount and share external drives uploaded on 09.12.2025 has easy to follow step by step directions for mounting external drives on a server (in this case Proxmox) and having docker containers access it from inside VMs running on the same server.

Proxmox Server NVMe Storage Overview Guide

Q: I have a Proxmox server with two internal storage NVMe SSDs and I’d like to see an overview of what’s on all of them. How do I do that?

To get a full overview of what’s on your Proxmox server’s internal NVMe SSDs, you’ll want to check:

  1. Device details (names, sizes, mount points)
  2. Partitioning and filesystem usage
  3. Storage configuration in Proxmox (LVM, ZFS, directories, etc.)
  4. Mounted volumes and disk usage

Here’s how to get a full picture — step-by-step:

🔍 Step-by-Step: View What’s on Your NVMe Drives

1. List All Block Devices

1
lsblk -o NAME,MODEL,SIZE,FSTYPE,MOUNTPOINT,LABEL

This shows:

  • All disks and partitions
  • Filesystem type (ext4, zfs_member, LVM2_member, etc.)
  • Mount points like /, /var/lib/vz, etc.

Sample Output:

1
2
3
4
5
6
7
NAME        MODEL        SIZE FSTYPE      MOUNTPOINT
nvme0n1     Samsung 980  1.0T
├─nvme0n1p1               512M vfat       /boot/efi
├─nvme0n1p2               1.0T LVM2_member
│ └─pve-root              96G ext4       /
│ └─pve-data             900G ext4       /var/lib/vz
nvme1n1     WD SN850X    1.0T zfs_member

2. Check Mounted Filesystems and Disk Usage

1
df -hT
  • Shows what partitions are mounted, where, and how full they are.
  • Useful to see how much space is used on each mount point.

3. Identify LVM Volumes (Common in Proxmox)

If you’re using LVM (default for non-ZFS installs):

1
2
3
vgs       # Show volume groups
lvs       # Show logical volumes
lsblk     # Again — LVs show here too

Example output:

1
2
VG  #PV #LV  Attr    VSize   VFree
pve   1   3   wz--n-  931.00g 20.00g

4. Check ZFS Pools (If You’re Using ZFS)

1
2
zpool status
zfs list
  • zpool status shows health and disk layout
  • zfs list shows datasets, mount points, and space usage

Example:

1
2
NAME    SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH
rpool   931G   150G   781G        -         -     5%    16%  1.00x  ONLINE

5. See Proxmox Storage Configuration

Proxmox manages storage via /etc/pve/storage.cfg. Check it with:

1
cat /etc/pve/storage.cfg

This file shows how storage is defined in the Proxmox UI — LVM, ZFS pools, directories, etc.

Example:

1
2
3
4
5
6
7
8
dir: local
    path /var/lib/vz
    content iso,backup,vztmpl,container,images

zfspool: local-zfs
    pool rpool/data
    content images,rootdir
    sparse 1

6. See Which VMs/CTs Are Using Which Disk

1
2
qm list                 # List all VMs
pct list                # List all LXC containers

Then inspect individual VMs:

1
qm config <vmid>

Look for lines like:

1
scsi0: local-zfs:vm-100-disk-0,size=32G

Or for containers:

1
pct config <ctid>

Bonus: See SMART Info for NVMe Drives

1
2
smartctl -a /dev/nvme0n1
smartctl -a /dev/nvme1n1

You may need to install smartmontools first:

1
apt install smartmontools

📦 Summary

GoalCommand
View disks, partitions, mount pointslsblk -o NAME,MODEL,SIZE,FSTYPE,MOUNTPOINT,LABEL
View disk usagedf -hT
View LVM volumesvgs, lvs
View ZFS poolszpool status, zfs list
View storage configcat /etc/pve/storage.cfg
View VM/CT storage usageqm config <vmid>, pct config <ctid>
SMART info for NVMesmartctl -a /dev/nvmeXn1
This post is licensed under CC BY 4.0 by the author.