TrueHAS Scale iron to Proxmox VM stability issues

I had a minimal install of TrueNAS scale on AMD64 hardware that I transitioned to a Proxmox VM with storage passthrough. I have added several addon apps (Transmission, TDARR, and FileBrowser Quantum). The system bogs down and becomes unresponsive (file transfers from all shares & apps) after accessing files (reads & transfers). When it is this way CPU load is near 0%.

I don’t know where to start.

Any suggestions? Logs to view?

Are you passing through drives directly or did you pass through the controller (remember to blacklist it from Proxmox)?

Thanks Fleshmauler. I did not blacklist the PCI device.

After research, I discovered multiple ways to blacklist devices. Which would method you recommend for an onboard AlderLake-S PCH SATA Controller?

Also, do you know why ProxMox doesn’t automatically blacklist hardware that is passed to a VM? Is there a usecase for other machines to access hardware that is assigned to another?

Personally I’d just spend the ~$30 on an HBA flashed to IT mode if you got a pcie slot open; reason is that proxmox also understands zfs & have been cases in the past with disk passthrough & Truenas virtualized on Proxmox that have caused data loss.

Passing through the controller on the motherboard leaves the interesting problem of how is proxmox still going to have an accessible boot drive :frowning:

As for why things aren’t auto blacklisted? I guess for the reason above, also gives interesting options with virt-io & splitting a device into multiple virtualized “slices” to split between vms

The SATA Controller (8086:7ae2) appears to be discrete with all 8 ports used by HDDs assigned to the TrueNAS VM. Proxmox boots from a NVME SSD and a different controller (SM2263 or 126f:2263) on the MB (see lspci below). I have a PCIe slot, but was hoping to use it for a graphics card to pass through for transcoding. So I should be ok, no?

Also, should the vfio.conf file read “options vfio-pci ids=8086:7ae2 disable_vga=1”? I wasn’t sure if the disable_vga=1 argument meant disable the thing that I identified before for proxmox and reserve for the VM or disable the VGA controller that I identified before for proxmox and reserve for the VM.

Thanks again for all your help!

00:00.0 Host bridge: Intel Corporation Device a704 (rev 01)

00:02.0 VGA compatible controller: Intel Corporation Raptor Lake-S GT1 [UHD Graphics 770] (rev 04)
00:06.0 PCI bridge: Intel Corporation Raptor Lake PCIe 4.0 Graphics Port (rev 01)
00:08.0 System peripheral: Intel Corporation GNA Scoring Accelerator module (rev 01)
00:14.0 USB controller: Intel Corporation Alder Lake-S PCH USB 3.2 Gen 2x2 XHCI Controller (rev 11)
00:14.2 RAM memory: Intel Corporation Alder Lake-S PCH Shared SRAM (rev 11)
00:16.0 Communication controller: Intel Corporation Alder Lake-S PCH HECI Controller #1 (rev 11)
00:16.3 Serial controller: Intel Corporation Alder Lake-S Keyboard and Text (KT) Redirection (rev 11)
00:17.0 SATA controller: Intel Corporation Alder Lake-S PCH SATA Controller [AHCI Mode] (rev 11)
00:1c.0 PCI bridge: Intel Corporation Alder Lake-S PCH PCI Express Root Port #3 (rev 11)
00:1c.3 PCI bridge: Intel Corporation Device 7abb (rev 11)
00:1f.0 ISA bridge: Intel Corporation Device 7a83 (rev 11)
00:1f.3 Audio device: Intel Corporation Alder Lake-S HD Audio Controller (rev 11)
00:1f.4 SMBus: Intel Corporation Alder Lake-S PCH SMBus Controller (rev 11)
00:1f.5 Serial bus controller: Intel Corporation Alder Lake-S PCH SPI Controller (rev 11)
01:00.0 Non-Volatile memory controller: Silicon Motion, Inc. SM2263EN/SM2263XT (DRAM-less) NVMe SSD Controllers (rev 03)
02:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-LM (rev 04)
03:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
root@proxmx:~# lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation Device [8086:a704] (rev 01)
00:02.0 VGA compatible controller [0300]: Intel Corporation Raptor Lake-S GT1 [UHD Graphics 770] [8086:a780] (rev 04)
00:06.0 PCI bridge [0604]: Intel Corporation Raptor Lake PCIe 4.0 Graphics Port [8086:a74d] (rev 01)
00:08.0 System peripheral [0880]: Intel Corporation GNA Scoring Accelerator module [8086:a74f] (rev 01)
00:14.0 USB controller [0c03]: Intel Corporation Alder Lake-S PCH USB 3.2 Gen 2x2 XHCI Controller [8086:7ae0] (rev 11)
00:14.2 RAM memory [0500]: Intel Corporation Alder Lake-S PCH Shared SRAM [8086:7aa7] (rev 11)
00:16.0 Communication controller [0780]: Intel Corporation Alder Lake-S PCH HECI Controller #1 [8086:7ae8] (rev 11)
00:16.3 Serial controller [0700]: Intel Corporation Alder Lake-S Keyboard and Text (KT) Redirection [8086:7aeb] (rev 11)
00:17.0 SATA controller [0106]: Intel Corporation Alder Lake-S PCH SATA Controller [AHCI Mode] [8086:7ae2] (rev 11)
00:1c.0 PCI bridge [0604]: Intel Corporation Alder Lake-S PCH PCI Express Root Port #3 [8086:7aba] (rev 11)
00:1c.3 PCI bridge [0604]: Intel Corporation Device [8086:7abb] (rev 11)
00:1f.0 ISA bridge [0601]: Intel Corporation Device [8086:7a83] (rev 11)
00:1f.3 Audio device [0403]: Intel Corporation Alder Lake-S HD Audio Controller [8086:7ad0] (rev 11)
00:1f.4 SMBus [0c05]: Intel Corporation Alder Lake-S PCH SMBus Controller [8086:7aa3] (rev 11)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Alder Lake-S PCH SPI Controller [8086:7aa4] (rev 11)
01:00.0 Non-Volatile memory controller [0108]: Silicon Motion, Inc. SM2263EN/SM2263XT (DRAM-less) NVMe SSD Controllers [126f:2263] (rev 03)
02:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller I226-LM [8086:125b] (rev 04)
03:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller I226-V [8086:125c] (rev 04)

Agreed - you should be fine to pass through that controller. There could be headaches if it has dependants or does more than just the sata drives.

I wish I could give more advice, but it has been too long since I setup proxmox for my vms & I also have truenas running on a different machine on bare metal, so I’m not sure if I have much less of use to add :frowning:

1 Like