You can't see an empty M.2 slot from software
Working out whether a mini PC can take a second NVMe: lspci only shows drives that are installed, dmidecode lists firmware defaults, and a generic board may not even say its model.
I wanted to know whether the Proxmox mini PC could take a second NVMe, so that the etcd disks and the Longhorn data disks could live on different drives. I couldn’t find that out from the machine.
What the tools told me
lspcishowed one NVMe controller. An empty M.2 slot doesn’t enumerate, so its absence fromlspcisays nothing about whether the slot exists.dmidecodelisted “PCI Express x1 Slot 1-5, Available”. Those are firmware defaults, not real slots.- Every DMI string was “Default string”, so there was no model name to look up. The next step is a label on the case, or opening it.
The drive that is there is a 1 TB DRAM-less model on a Gen3 x4 link, with 6 percent wear after 8.28 TB written. Everything on the host lives on it. The volume group has 16 GB free and the LVM-thin pool is at 85 percent.
What to buy, when you know the slot
For etcd, what counts is sync-write latency and sustained random writes, not sequential speed. That means DRAM on the drive and ideally power-loss protection. A Gen3 x4 slot tops out around 3.5 GB/s, which is plenty, so a Gen4 drive buys nothing here.
The cheapest structural fix is to move the Longhorn data disks to the new drive
while the VMs run (qm move-disk <id> scsi1 <new-storage>), so the etcd disks
keep the old drive to themselves.