How to passthrough existing TrueNAS disks into a VM on Proxmox without data loss?

mignonette.valle

New Member
Aug 20, 2025
2
0
1
Hello everyone,

I’m fairly new to Proxmox and recently set it up on one of my servers. Previously, this machine was running TrueNAS, and I’d like to migrate back into a similar setup inside Proxmox using a TrueNAS VM.

The installation of Proxmox and the creation of the TrueNAS VM went smoothly, but I’m having trouble with one thing: reusing the disks that already contain data from my old TrueNAS installation. Ideally, I don’t want to wipe or reformat these drives — I just want TrueNAS inside the VM to see and use them exactly as before.

I’ve read about adding fresh, empty disks to a VM, but I couldn’t find clear guidance on how to attach existing drives without losing data.

Could anyone point me in the right direction or share some advice on the best way to pass these disks through to the VM?
Many thanks in advance!

Best regards,
 
You’re correct to be cautious here. If you import or use those pools directly on the Proxmox host, you won’t be able to safely passthrough the disks later and doing so could actually corrupt your existing data. In practice, this means those drives should be reserved solely for TrueNAS.

The recommended approach is PCI passthrough. If you have an HBA card, you can passthrough the entire controller so that TrueNAS gets direct access to all disks attached. That way you’ll also retain SMART data, native sector sizes, and avoid virtualization overhead. For NVMe drives, PCI passthrough works well too and can be done individually. Here’s the official guide: Proxmox PCI Passthrough Documentation.

If PCI passthrough isn’t possible for your setup, your alternative is to passthrough individual disks: Disk Passthrough to VM. Just keep in mind that if one of those disks fails, the VM itself may refuse to start until you remove the failed passthrough entry even if the pool would still be functional thanks to parity or mirrors.

So, in short:
  • Best solution: PCI passthrough the entire HBA (or NVMe device).
  • Alternative: passthrough each disk individually (with the limitations noted).
Hope this clears things up. Good luck with your setup!

Kind regards,
Pascal
 
You’re correct to be cautious here. If you import or use those pools directly on the Proxmox host, you won’t be able to safely passthrough the disks later and doing so could actually corrupt your existing data. In practice, this means those drives should be reserved solely for TrueNAS.

Can you elaborate on this? Is there some reason I can't just remove the ZFS storage in Proxmox and then export the ZFS pool before performing the pcie passthrough for my nvme drives to a trunas VM and importing the pool?
 
If you import or use those pools directly on the Proxmox host

Do you understand that this is a procedure that does not need to be imported on the Proxmox host and does not need to be executed?

When starting a virtual machine with passthrough configured, exporting does not occur automatically.

The zpool for the disk to be passthrough to the TrueNAS VM should be imported on the TrueNAS VM itself.

If imported on the Proxmox host, the Proxmox host will be able to perform I/O operations on that zpool. This is not desirable.

Only TrueNAS VMs should be permitted to perform io operations.
 
Last edited:
I'm just trying out different setups and experimenting with my homelab, not following this "procedure" as a guide.

I understand exporting a zfs pool does not occur automatically, that's why it would have to be done manually.

Yes, that is how that would work. Just wanted to make sure that it would after making sure the zfs pool was not being used by proxmox.

When trying to use a TrueNAS VM that is not desirable, yes.


For those coming along later. I have safely used pcie pass through (to truenas) and imported a zfs pool that was previously pool managed by proxmox. While not recommended way to go about achieving anything (as pointed out by uzumo), it is possible if you find yourself in the situation were you need to do it.