Can you isolate part of a SAS HBA Card for PCI Passthru?

Hello everyone, I recently installed a SAS HBA Card (an LSI SAS9207-8e) in my NAS so I could have additional SATA ports and a connection to an LTO Tape Drive I’ve recently purchased. (Before you ask, I’m only trying to backup some data on my NAS, not the entire NAS itself.) I was planning to use a program called yatm in a VM.

The problem is, when I tried to enable PCI passthru so the VM sees the LTO drive, it said “unable to determine iommu group”. The motherboard supports iommu, but when I turned it on and tried to enable PCI Passthru within the VM, my main pool gets knocked offline due to IO errors. Is there a way to separate the iommu group of the HBA card so that I can only passthru the SAS connection to the LTO drive and not the SATA drives? If this isn’t possible, is there another method or setup that would allow me to use yatm on the NAS?

For extra context, this is a mITX NAS so I don’t have extra PCIE slots to separate the SATA drives and the LTO drive.

You can only pass through the entire HBA to a VM.

You can try to set up this yatm application via Docker or LXC and pass the device node of the LTO drive.

The 9300-16i (not sure about the 16e) consists of two 8i controllers. They show up as 2 PCIe devices. So you can passthrough only one if needed - theoretically. Never tried it myself.

EDIT: However this would only work if the 2 controllers are in their own IOMMU group.

For docker, I assume this will have to be created “manually”, i.e. by creating a docker compose file? I don’t see an option to pass the device through when going to the Custom App section of TrueNAS. I do have dockge running for a custom docker container, so do I have to use that instead?

As for LXC, is that under the “Container” section of TrueNAS, the one marked as “Experimental”? Or should I be trying to run TrueNAS under Proxmox, which I believe has LXC container support? I am running TrueNAS on bare metal, but maybe I should run it in Proxmox instead, then figure out to spin up a LXC container, also within Proxmox?

EDIT: Forget what I asked about the container question. I looked it up and it is indeed LXC container support within TrueNAS. Now I just need to figure out how to pass the device to the container.