How to ensure, that IOMMU is working properly?


Hey there,

My Server is using Proxmox as Hypervisor (KVM backend) to spawn VMs.

I wanna use the HAB (specs) to pass through my 4HDDs to a TrueNAS Core VM.

In order to do that, I first enabled the IOMMU support in the BIOS/UEFI. After that, I booted into Proxmox and checked whether IOMMU is detected. It spitted out the following output

[    1.332679] pci 0000:00:00.2: AMD-Vi: IOMMU performance counters supported
[    1.344441] pci 0000:00:00.2: AMD-Vi: Found IOMMU cap 0x40
[    1.345378] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).

which in my mind means that IOMMU is already enabled, even if I never configured it in the GRUB cmdline.

I also checked the IOMMU groups, to validate the HBA is in its own separate group.

[...]
IOMMU Group 25 2d:00.0 Serial Attached SCSI controller [0107]: LSI Logic / Symbios Logic SAS2308 PCI-Express Fusion-MPT SAS-2 [1000:0087] (rev 05)
[...]

And in fact, it is in its own dedicated IOMMU group.

Did someone encounter this before, or is my understanding of IOMMU at some point wrong ?

Server Specs:

  • AsRockRack X570D4U Mainboard

  • AMD Ryzen 5 3600

  • x2 16GB Crucial Micron ECC RAM

  • x2 Seagate Ironwolf 4TB

  • x2 WD RED 4TB

  • LSI Logic / Symbios Logic SAS2308 HBA

1 Like

Not sure I get what your asking entirely, or where your problem is exactly.

I do know for trueNAS to use drives via proxmox through your drives connected to the LSI controller it must do a direct pass through of the drive which usually requires the sas controller to be in IT mode.

I had to adjust the vms config file to add in the drives manually for my LXC container to use them.

I assume your using a dedicated vm with truenas as the os so it may be a bit different.