Community Solution

Proxmox + TrueNAS on ZimaCube: SATA Passthrough Guide

Users successfully virtualized TrueNAS under Proxmox by passing through the onboard ASMedia SATA controller, while one setup hit conflicts when adding a second SAS HBA.

Running Proxmox on ZimaCube with TrueNAS SCALE in a VM can work well when TrueNAS receives an entire physical SATA/HBA controller through PCIe passthrough. The key is to keep ZFS disks under direct TrueNAS control rather than presenting ordinary virtual disks, and to verify IOMMU groups before committing your data.

The community source has a useful verified result: passing the onboard ASMedia 1166 SATA controller to a fresh TrueNAS VM exposed the internal drives successfully. It also records an important edge case—adding a second SAS3008 HBA passthrough caused the internal SATA passthrough to fail for one user. That conflict is configuration-specific, so treat it as a troubleshooting clue rather than a universal limitation.

Recommended Architecture

ZimaCube hardware
   ↓
Proxmox VE host
   ↓
PCIe passthrough: complete SATA/HBA controller
   ↓
TrueNAS SCALE VM
   ↓
ZFS pools built directly from physical disks

The host should not format or mount the disks assigned to TrueNAS.

Why Passing Through the Whole Controller Is Better

Passing an entire controller gives TrueNAS direct visibility into the disks behind it, including device identity and SMART information when the controller supports it. It also prevents Proxmox from independently claiming the same disks.

Do not create ZFS in TrueNAS on top of a stack of unrelated Proxmox virtual disks if your goal is appliance-like storage behavior.

Step 1: Enable IOMMU in Firmware and Proxmox

Intel systems need VT-d/IOMMU enabled; AMD systems need the corresponding IOMMU feature. Proxmox also needs kernel-side IOMMU enabled.

The Proxmox passthrough prerequisites documents the requirement that passthrough support be enabled in both firmware and the host kernel.

Step 2: Identify the SATA Controller and Its IOMMU Group

Use lspci on the Proxmox host and identify the controller serving the six internal bays. The source thread identified an ASMedia 1166 SATA controller in its ZimaCube setup.

Before passthrough, verify the controller is in an IOMMU group that can be assigned safely without taking unrelated essential devices away from the Proxmox host.

Step 3: Create the TrueNAS VM Before Attaching Storage

Build the TrueNAS VM with virtual CPU, memory, a small separate boot disk, and network adapter. Install TrueNAS, update it, and confirm the VM boots normally before assigning the physical storage controller.

This makes it much easier to tell whether a later failure comes from PCIe passthrough rather than the guest installation itself.

Step 4: Pass Through the Entire SATA Controller

Add the controller as a PCI device to the TrueNAS VM. After boot, check lspci and the TrueNAS storage UI for the physical disks.

In the source case, recreating the TrueNAS VM and then adding the ASMedia controller caused all internal drives to appear correctly.

What If the Controller Appears but the Disks Do Not?

Check whether the guest driver loaded, whether the controller reset cleanly, and whether another passthrough device is interfering. The source user found that passing an additional SAS3008 HBA to the same VM broke the internal SATA-controller behavior; removing that HBA restored the internal disks.

That is not proof that those two controllers can never coexist. It is evidence to test one controller at a time.

Do Not Build the Pool Until Passthrough Is Stable

Before creating ZFS:

  • reboot Proxmox several times;
  • reboot the TrueNAS VM several times;
  • confirm all disks return consistently;
  • check SMART visibility;
  • verify no disks remain mounted by the host.

A storage topology that works once but disappears after a warm reboot is not ready for production data.

Plan Proxmox and TrueNAS Backups Separately

Proxmox backups protect the VM configuration and TrueNAS boot disk. They do not replace ZFS snapshots, replication, or an external backup of the data pool.

The virtualization guide provides broader Proxmox context.

When Bare-Metal TrueNAS Is Simpler

If the machine's only job is storage, bare-metal TrueNAS removes a virtualization layer and passthrough complexity. Proxmox plus virtualized TrueNAS makes more sense when you also need other VMs, GPU workloads, lab environments, or Proxmox management features on the same server.

FAQ

Should I pass individual disks or the whole SATA controller?

For TrueNAS/ZFS, passing the whole physical storage controller is the cleaner design because TrueNAS directly owns the disks behind it.

Can Proxmox still use disks on a passed-through controller?

No. Once the whole controller is assigned to TrueNAS, Proxmox should not manage the disks behind that controller.

Why did adding a second HBA make internal disks disappear?

One community user observed that interaction with a SAS3008 passthrough. Test controllers independently and inspect IOMMU/reset behavior rather than assuming a universal hardware defect.

Do I still need backups if I use ZFS?

Yes. ZFS protects integrity and provides snapshots, but it is not an off-device backup.