Any major differences in the way Proxmox and Truenas handle ZFS?

smartypantsuk

Dabbler
Joined
Feb 7, 2023
Messages
15
I was running Truenas Scale for over a year on bare metal, I only used it as a NAS as the app experience was miserable.
Recently I've moved to Proxmox and really like it for VMs, I also have a few LXC containers.
I have Truenas Core installed on a VM with a HBA controller passed to it using PCI Passthrough.
By the way, I imported my pool from Scale to Core by simply exporting and re-importing and it worked flawlessly!
I digress; I'm currently fighting the whole backup procedure thing and have come to the conclusion (after a little experimenting) that using Proxmox to manage my two zpools with a basic samba server in an LXC to share that pool, is working just as well as Core in a VM, which isn't really suprising.

But, I really like Truenas and it's been rock solid for me.
My question is really regarding any differences there might be in the important day to day stuff in respect to ZFS management.

Does Truenas offer any advantage to Proxmox in this regard, perhaps in performance ?
I know Core handles ZFS natively, whereby Scale based on Debian uses the same OpenZFS infrastructure that Proxmox does.
What about monitoring and alerting of problems with ZFS? Does Proxmox live up to Truenas' awesomeness?

Thanks for any input
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703
Automated scrubs and smart tests aren't necessarily a thing in proxmox, so you'll need to script those.

If you set it up properly, you'll get emails from system errors (including ZFS).

Ultimately, ZFS is ZFS... the OpenZFS project is used by both and there's not a lot of TrueNAS specific performance tuning in ZFS on Linux.

CORE also uses OpenZFS, so there's only the OS tuning/integration with FreeBSD that's an advantage there.
 

smartypantsuk

Dabbler
Joined
Feb 7, 2023
Messages
15
Automated scrubs and smart tests aren't necessarily a thing in proxmox, so you'll need to script those.

If you set it up properly, you'll get emails from system errors (including ZFS).

Ultimately, ZFS is ZFS... the OpenZFS project is used by both and there's not a lot of TrueNAS specific performance tuning in ZFS on Linux.

CORE also uses OpenZFS, so there's only the OS tuning/integration with FreeBSD that's an advantage there.
Ok thanks.

So I've just read today that:

"The cronjob "/etc/cron.d/zfsutils-linux" will trigger the scrub every second sunday of a month at 0:24 in case you didn't set up anything else yourself."

And there are scripts to run smart tests too, so I just need to configure them to suit with alerting.

Thanks.
 

zizzithefox

Dabbler
Joined
Dec 18, 2017
Messages
41
Actually, if you mount ZFS in Proxmox like any other file system, the difference is the same you can find by using ZFS in FreeBSD vs Linux; generally negligible.

HOWEVER, if you create the pool and manage it from the interface, AND put virtual disk on it, THEN

Proxmox will use volumes for virtual disks and not files on datasets, even if the format is qcow2. And they will have full reservation (zfs get refreservation). This can be a huge difference.

Suppose you have a VM that has a 500 GiB disk, of which only 250GiB are actually used because of compression. You are still reserving 500GiB of disk space, effectively wasting 250GiB. And OK, it makes sense for the running copy. By the way, qcow2 file format is also copy on write, so we are messing things up here.
The fact is that Proxmox will now create ZFS snapshots (alongside qcow2 snapshots) with the same properties. So, every freaking snapshot reserves 500GiB, which is bonkers, because only the running copy can grow! You might end up reserving terabytes for 300GiB of actual data.

Now, I don't create VMs very often, they grow very slowly, so I can afford setting refreservation=0 manually on the bigger and empty volumes when I need space. I also give a look at the total free space of my disks, and I have very frequent backups. So I can always overbook space a lot and, unless my free space is lower than 200GiB, no problem there.

This has to be thought through, and generally you might want to create the ZFS file system from the shell and mount it in proxmox as a local folder, so that you can have virtual disks based on sparse files instead of vols.
 
Last edited:

lukyjay

Contributor
Joined
May 13, 2016
Messages
134
Automated scrubs and smart tests aren't necessarily a thing in proxmox, so you'll need to script those.

If you set it up properly, you'll get emails from system errors (including ZFS).

Ultimately, ZFS is ZFS... the OpenZFS project is used by both and there's not a lot of TrueNAS specific performance tuning in ZFS on Linux.

CORE also uses OpenZFS, so there's only the OS tuning/integration with FreeBSD that's an advantage there.
Since this is the top result on Google I just want to correct the above reply:
Scrubs and SMART tests are automatically configured on Proxmox (PVE) and results are sent to the root user via email if problems are detected. You don't need to set anything up except maybe add your email credentials so the emails are able to send (similar requirement in Truenas)

The real benefit to Truenas is the GUI simplifying many tasks which require command line in PVE.
 
Top