Well, if you want to run TrueNAS on top of Proxmox, you obviously need to install Proxmox first. If you then want to use TrueNAS as storage for a Windows VM, it’s equally obvious (isn’t it?) that you’d need to install and configure TrueNAS before that Windows VM.
Plex I’d run on the NAS itself, since that’s presumably where its data lives. I use a custom Compose stack under Dockge, since I don’t trust the apps ecosystem. I’d probably do the same for anything else that would be running under Docker, especially if it would be consuming data that lives on the NAS.
I run TrueNAS on a VM hosted by Proxmox. For the storage, I have a separate PCI HBA adapter card with 7 SATA disk drives. That PCI HBA adapter is passed through to the TrueNAS VM. You should do this with your 2 storage disks.
@dan I passthrough the PCI card to the VM and when the VM is up and running, that PCI card is not available for passthrough to any other VM and it is not used by the proxmox host. I did not have to explicitly black-list it. I believe that proxmox automatically black-lists any passed through devices when a VM is actively using it.
Unrelated to TrueNAS, I have a FreeBSD VM and an Ubuntu VM both configured as XFCE desktops and I passthrough a USB mouse/keyboard and the PCI Nvidia GPU I use to both. I cannot have both VM’s up and running simultaneously due to the passthrough’s, Proxmox will only allow one of the VM’s to run. This works out for me as I just start up the one I wish to use.
There are other threads that appear to suggest otherwise. I haven’t paid close attention to them, as I’m not running TrueNAS virtualized, but blacklisting the controller does seem to be common advice for Proxmox (the only major hypervisor I’m aware of that’s ZFS-aware).
Ahh, I double checked the documentation and Proxmox does not automatically black-list the device. However, in my case I specifically installed the HBA PCI card to be used by my TrueNAS VM and it is never used on the Proxmox host or passed through to any other VM. I’ve been using it this way for over a year and have not encountered any issues. But, I’m going to go back and take care of this. Thanks for the heads up!
This is a case where defense in depth helps a lot. Passthrough, blacklist the module in the host, and set the multihost=on property of the pool. Better safe than sorry!
3 pass through the HBA and disks so that TrueNAS can control them.
IMHO, but as to the why.
If you were using VM’s enough that you needed the better Proxmox, I expect you would already know what was needed. As you are asking for help, I will assume you are not running much.
Based on that assumption, you are only running a few basic VM’s (I may be totally wrong but am I?).
TrueNAS is your core data storage, if that is your key functionality keep data accessible and safe, you should focus on the NAS and run TrueNAS on metal.
Then use the VM and now LXC capabilities to run your services.
If your really are running enough services to need/want a Proxmox, I would suggest you should be running 2 systems.
Now there is the last option, you want to learn about both and play with both in a lab … to LEARN as much as to have services running. Running the TrueNAS as a VM will allow you to play with both and figure things out… But you are putting your data as risk. Like for REAL at risk.
So lastly remember that redundancy is not back up.