XCP-ng, Dell Precision 7920 & ghost NVMe

New to the forum, but avid consumer of excellent Tom’s YouTube videos…

Recently I installed XCP-ng v8.1.0 on a Dell Precision 7920 Tower equipped with 2 SSDs (1TB each AHCI configured in SoftRAID1) and 1 NVMe (512GB SK Hynix 1c5c:1627).
Everything works quite great including Intel X550T dual 10GbE & NVidia Quadro5000 GPU both pass-through a Ubuntu VM.

The only problem am currently trying to solve and figure out is why the NVMe drive is not recognized by XCP-ng. Using lspci it reports 10000:01:00.0 Non-Volatile memory controller: SK hynix Device 1627 and it looks like the nvme kernel module is correctly loaded, BUT no device was created for it. lsblk does not report any block device that has anything to do with the NVMe.

Checked online and searched the forum here, but was not able to find anything really relatable.

Does anybody have any hint to help me figure out what is going on and eventually how to make NCP-ng deal with the NVMe?

Thanks for getting to the end of… the post!

I have tested XCP-NG with NVME’s and I have not had an issue getting them to work, try booting from a another live Linux distro and see of it sees it.

Thanks for rebooting my brain Tom, much appreciated hint… did not think about it, but it’s a great way to test it for sure.

Tried with Ubuntu 20.04 (downloaded today and it uses kernel 5.40-26-generic from Apr 20, 2020). After booting it up an fdisk -l shows (reporting only relevant section):

Disk /dev/nvme0n1: 476.96 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: PC601A NVMe SK hynix 512GB
Units: sectors 0f 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: <redacted>

Device            Start        End   Sectors   Size Type
/dev/nvme0n1p1     2048    1640447   1638400   800M EFI System
/dev/nvme0n1p2  1640448   12126207  10485760     5G Microsoft reserved
/dev/nvme0n1p3 12126208 1000214527 988088320 471.2G Linux filesystem

Of course also lsblk reports it:

nvme0n1     259:0    0   477G  0 part
|-nvme0n1p1 259:1    0   800M  0 part
|-nvme0n1p2 259:2    0     5G  0 part
+-nvme0n1p3 259:3    0 471.2G  0 part

It looks like something came pre-installed on that drive (did not really care about that), but still XCP-ng does not see the drive.

I would post in the XCP-NG forums and see if they have a solution or if it is something that needs to be added to the kernel in a future update.

1 Like

As a reference for anybody interested on how this story ended up going…

XCP-ng, Dell Precision 7920 & ghost NVMe (same title, but it is the follow up post on the XCP-ng Forum)

For the impatient people, the problem was due to Intel VMD Tehcnology support activated in the motherboard BIOS and the current lack of support for such technology in the XCP-ng kernel (or Xen / Citrix Hypervisor for what it matters).

The support is currently present in almost (all the ones I checked) stock kernel for Linux distributions (tested on Ubuntu 18.04, Ubuntu 20.04, Debian 10, CentOS 7.5, CentOS 8).

Thanks @LTS_Tom for the support and the great resources you put out there…

1 Like