Proxmox with Truenas ZFS Plugin

WB3FFV

Member
Nov 28, 2022
6
1
8
I am currently running TrueNAS 25.10.4 so am current, and I had installed and had operational the Truenas ZFS storage plug, and it was running nicely.

Today I saw there were update to install from the repositories, and one was an update to the plug-in and I figured it was no big deal, boy was I wrong!

I have gone through the configs, even removed and reinstalled the plug-in, but it will not mount the storage. When update was installed it just locked up everything, so I ended up rebooting.

If I run the config scripts, it says I have version "TrueNAS Plugin v2.1.14 - Installed" so looks to be current.

If I run pvesm status I get this warning: Plugin "PVE::Storage::Custom::TrueNASPlugin" is implementing an older storage API, an upgrade is recommended

If I actually put in the storage.cfg entry and run pvesm status, I get:

Plugin "PVE::Storage::Custom::TrueNASPlugin" is implementing an older storage API, an upgrade is recommended
file /etc/pve/storage.cfg line 35 (section 'TNAS380G10-ZFS-1') - unable to parse value of 'api_host': unknown property type
file /etc/pve/storage.cfg line 36 (section 'TNAS380G10-ZFS-1') - unable to parse value of 'api_key': unknown property type
file /etc/pve/storage.cfg line 37 (section 'TNAS380G10-ZFS-1') - unable to parse value of 'api_insecure': unknown property type
file /etc/pve/storage.cfg line 38 (section 'TNAS380G10-ZFS-1') - unable to parse value of 'target_iqn': unknown property type
file /etc/pve/storage.cfg line 39 (section 'TNAS380G10-ZFS-1') - unable to parse value of 'dataset': unknown property type
file /etc/pve/storage.cfg line 40 (section 'TNAS380G10-ZFS-1') - unable to parse value of 'discovery_portal': unknown property type
file /etc/pve/storage.cfg line 42 (skip section 'TNAS380G10-ZFS-1'): missing value for required option 'tn_api_key'
Use of uninitialized value $type in hash element at /usr/share/perl5/PVE/Storage/Plugin.pm line 598, <DATA> line 960.
Use of uninitialized value $type in string eq at /usr/share/perl5/PVE/Storage/Plugin.pm line 603, <DATA> line 960.
Use of uninitialized value $type in string eq at /usr/share/perl5/PVE/Storage/Plugin.pm line 603, <DATA> line 960.
Use of uninitialized value $type in string eq at /usr/share/perl5/PVE/Storage/Plugin.pm line 603, <DATA> line 960.
Use of uninitialized value $type in string eq at /usr/share/perl5/PVE/Storage/Plugin.pm line 603, <DATA> line 960.
Use of uninitialized value $type in string eq at /usr/share/perl5/PVE/Storage/Plugin.pm line 603, <DATA> line 960.
Use of uninitialized value $type in string eq at /usr/share/perl5/PVE/Storage/Plugin.pm line 603, <DATA> line 960.
Use of uninitialized value $type in string eq at /usr/share/perl5/PVE/Storage/Plugin.pm line 603, <DATA> line 960.
Use of uninitialized value $type in string eq at /usr/share/perl5/PVE/Storage/Plugin.pm line 603, <DATA> line 960.
Use of uninitialized value $type in string eq at /usr/share/perl5/PVE/Storage/Plugin.pm line 603, <DATA> line 960.
storage 'TNAS380G10-ZFS-1' does not exist

It was working with uppercase, but tried it in lowercase with no difference.

My iSCSI is logged in and available:

# iscsiadm -m session
tcp: [1] 10.3.0.50:3260,1 iqn.2026-5.org.tnas380g10.ctl:tnas380g10-iscsi-pve-1 (non-flash)

my entry in storage.cfg is as follows:

truenasplugin: TNAS380G10-ZFS-1
api_host 10.3.0.50
api_key [deleted for security]
api_insecure 1
target_iqn iqn.2026-5.org.tnas380g10.ctl:tnas380g10-iscsi-pve-1
dataset Fast_15k/Proxmox_iSCSI
discovery_portal 10.3.0.50:3260
content images
shared 1

As I had all my VM's using that storage, everything is down at the moment. Anyone have any ideas??
 
OK, just for anyone's info that runs into this problem. The updated version apparently renamed variables, so stuff like api_key became tn_api_key, and dataset became tn_dataset. I dug into the code looking and found this, once I changed my storage.cfg to have a tn_ in front of the settings, it all magically came back to life.

I was on 2.1.5, and ended up installing the newest 2.1.15 which changed things. At least now I know, and I understand the plug-in better than I ever did before..
 
  • Like
Reactions: Johannes S

Is there an official plug-in? I was under the understanding the TrueNas folks developed it, but I may be totally wrong.

It is for sure hell to load what you thought was a quick update, and have it crash your VM host..
 
Is there an official plug-in?

Not from Proxmox, but...

I was under the understanding the TrueNas folks developed it, [...]

...it is (meanwhile) the official plugin from iXsystems/TrueNAS, yes.

Therefore, from the Proxmox perspective (since we are here on the official Proxmox community forum), it is a third-party plugin.


It is for sure hell to load what you thought was a quick update, and have it crash your VM host..

You could open a ticket/issue on their support channels to diagnose with them what exactly went wrong.
At least from the changelog, the renaming should have happened automatically or you should at least have gotten a prompt for manual migration:
[...] The debian/postinst migration script automatically renames keys in existing truenasplugin: stanzas on upgrade (with backup), or prompts for manual migration. [...]
https://github.com/truenas/truenas-proxmox-plugin/blob/main/wiki/Changelog.md#version-210-may-7-2026