Hey all, I’ve got ZFS pool created and just create a VM drive in that pool like normal, then Jellyfin just has that drive mounted. I think I’m losing the best parts of ZFS through this manner.
How should I set this up properly? Create a media pool or something and have VMs accessing the pool directly?
Are you suggesting creating a TrueNAS VM? Wouldn’t that be the same as what I’m doing now with creating an image in the ZFS pool?
You’d create a ZFS pool for your shares, then a TrueNAS VM which serves your ZFS pool as NAS. Then setup your Jellyfin VM using your NAS as storage for your libraries. Ends up looking like this: https://x0.at/Gbqm.png
Your media is accessible via the network from any device because they’re SMB shares, and it works just fine in Jellyfin. If you only create a ZFS pool for Jellyfin, your media can then only be accessed through Jellyfin. It limits your future options.
If you want to share storage you need some way of doing that. Zfs is a good option for storage on vm-host level, but ist not designed for shared usage. Im not sure what you are after, but maybe you want zfs storage inside the vm for snapshots, dedup etc? Or maybe you want to share your media storage between vm’s? The first case you can use zfs inside your vm, it does not know or care about how its disks are stored or of they are a physical drive. For the second use-case you want some way to share drives, like smb, nfs etc. or a distributed filesystem if you really want to over complicate things. Truenas might be over overkill for sharing a few volumes, but you need something. I believe you can share zfs over nfs now but i have never used that outside of proxmox cluster storage
I use both debian on a vm with samba+nfs and a bare metal truenas for my needs. Find your needs and figure out what solves them
I would separate the media and the Jellyfin image into different pools. Media would be a normal ZFS pool full of media files that gets mounted into any VM that needs it, like Jellyfin, sonarr, radarr, qbittorrent, etc. (preferably read-only mounted in Jellyfin if you’re going to expose Jellyfin to the internet).
Truenas is completely unnecessary, it just brings overhead and complexity. You are good with your setup.