TrueNAS Proxmox Plugin - Ready for Community, Under Testing for Enterprise

It’s been a lot of work over the year thus far, but the TrueNAS team is proud to introduce the new storage plugin for Proxmox VE.

Alongside Kubernetes, Cinder, and Terraform, we’re working to add tighter integrations with a variety of software solutions, giving you options with convenience.

Who is this for?

This plugin is for users who have one (or more) Proxmox VE hypervisor hosts that they’re connecting to a separate TrueNAS machine.

It’s an enhancement over the current NFS or LVM-on-iSCSI flows - a way to give you a “one LUN per disk” VVOL-like experience, complete with offloaded ZFS snapshots, per-disk tunability for parameters like volblocksize, and ease of migration, but without the repetitive clicking of manual provisioning.

What’s the minimum version of TrueNAS and Proxmox VE needed?

For TrueNAS, you’ll have to be running 25.10 as a minimum, to make use of the versioned JSON-RPC WebSocket API.

For Proxmox VE, you’ll need a minimum of PVE 8.x for iSCSI, and if you want to make use of the new NVMe/TCP transport layer, that requires PVE 9.x

Is this limited to Enterprise users?

Nope - no license is required. Freely downloadable through Github now, and we’re exploring ways to make it even easier than that.

Can this completely replace the old way I do Proxmox?

Proxmox can’t store ISO images, vzdumps, or other files on iSCSI/NVMe, so you’ll still need an NFS or SMB export to map to. Thankfully, that’s just a checkbox away in the TrueNAS web UI.

Enough talk. Where do I download it?

Go grab it from https://github.com/truenas/truenas-proxmox-plugin

I think I found a bug. Where should I submit it?

Open an issue on the truenas/truenas-proxmox-plugin Github page, and we’ll look into it - but you can also link it here, to see if this is something else the community has seen or can benefit from.

Thanks !

I don’t use truenas for block storage in proxmox but widely use it for SMB shares (which are bonded to LXCs later). Would I somehow benefit from the plugin in this use case? I suppose that I won’t.

P.s. IMO, there are missing tags for this announcement.

Thanks. Currently using TN just for ISO, backups, and various other things, but it’ll be interesting to see the plugin in action & not just direct map using NVMe-oF or iSCSI for Proxmox. I run some VM’s and Containers in Linux but not in Proxmox using NVMe-oF.

Does this support the ARM64 build(s)?

I don’t see why it wouldn’t work – but it hasn’t been tested.

Correct, the plugin is only for block, not file.

As @wmo says, no reason it shouldn’t - it’s just making API calls to TrueNAS, nothing architecture specific, unless there’s a piece of the scst or nvmet puzzle that isn’t working on ARM.

It seems to only work for VM storage, whilst the README says “LXC Container Storage - Block-backed container rootfs support alongside VM disk storage”.

I do see in the Known Limitations section is says it is for VM storage only. So is the README just incorrect? Or is there a plan to add LXC storage in the future?

LXC storage support exists now. I’ve updated the README and added a LXC-Setup.md to make the support more obvious.

root@pve1 ➜  ~ bash <(curl -sSL https://raw.githubusercontent.com/truenas/truenas-proxmox-plugin/main/install.sh) --non-interactive --apt-install

   d8P
d888888P
  ?88'    88bd88b?88   d8P d8888b  88bd88b  d888b8b   .d888b,
  88P     88P'  `d88   88 d8b_,dP  88P' ?8bd8P' ?88   ?8b,
  88b    d88     ?8(  d88 88b     d88   88P88b  ,88b    `?8b
  `?8b  d88'     `?88P'?8b`?888P'd88'   88b`?88P'`88b`?888P'

              d8b                      d8,
              88P                     `8P
             d88
   ?88,.d88b,888  ?88   d8P d888b8b    88b  88bd88b
   `?88'  ?88?88  d88   88 d8P' ?88    88P  88P' ?8b
     88b  d8P 88b ?8(  d88 88b  ,88b  d88  d88   88P
     888888P'  88b`?88P'?8b`?88P'`88bd88' d88'   88b
     88P'                         )88
    d88                          ,88P     For Proxmox VE
    ?8P                      `?8888P

  Checking system requirements...
  System requirements satisfied
  APT install mode enabled
APT suite:                     trixie
Creating keyring directory:    OK
Downloading repo key:          FAILED
  Downloaded APT key is empty or not a PGP key block -- not installing it

Sorry about that. Fixed.

Indeed, installation now succeeds. But the README simply doesn’t match the TrueNAS 25.10 UI, and it isn’t even close.

Yep, sorry about that. Looks like we carried some old 24.x details over in the README and Installation.md files. I touched those up a bit.

Much better match. The 25.10 instructions still seem to assume creation of a zvol somewhere between “create a dataset” and “use the iSCSI Wizard”–fair, I suppose, to assume that anyone who would be using this would be able to figure it out.

On the nvme directions, it would be nice to include the wget command to get the automated installation script, since it’s not on the same/main page as everything else.

I went down the path of doing it manually, using the main README’s NVME config and the NVME-Setup, but it didn’t come up. The sample NVME configuration on the main README differs from the sample config on the NVME readme, as well as what the install script does, particularly “content” (images only, vs. images,rootdir on the front README). It also set “tn_api_insecure” and “tn_sparse,” which are listed as optional in the samples, but apparently were required to get it working.

FWIW this is working on ARM64 hosts (Proxmox on CCR2116’s and TrueNAS on RDS2216’s).

With build 25.10.1-MASTER-20260510-100116 for ARM64, I ran into an issue with the namespace not matching what was created. Grok found it and patched it for me. Then we ran into a 5MB write that failed, and it’s patching the NVME target code in the kernel module (I’m using a custom 6.18.x) since that’s a better fix than udev rules on dozens of proxmox hosts.

Hopefully this is helpful and not just chasing down rabbit holes that have been fixed elsewhere.

Apparently this is a TrueNAS middleware bug, not a plugin bug, and the patch won’t be backported to 25.10 series. So NVME with this plugin (without patching) looks like it will require 26.x.