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?
So if you’re going through the trouble of setting up proxmox, I would setup the majority of the storage in a ZFS pool for a TrueNAS SMB share/NFS share. Then create a small container just to host jellyfin and jellyfin’s cache–maybe commit 10GB of storage to it–really depends on how big your media library is. Mine is about 5TB and cache, metadata, and other misc things take up about 8GB.
Setting up your share is enough for jellyfin. Since the media and jellyfin are stored on the same metal, additional latency will be sub 100ms. Create a library in Jellyfin and set it to the share;
Movies: \\nas\Movies
,TV: \\nas\TV
, etc.Works flawlessly and would have more utility than allocating the entirety of your storage to your jellyfin container because it functions as a normal NAS. I’ve been running with a setup like this for a while and it works great.
Why bother with truenas? Just put the media in a zfs pool and mount it directly into jellyfin.
So you mount the pool to each vm that needs the shared data? Afaik zfs is not made for concurrency
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?
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.
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
Setting up an SMB or NFS share is the correct answer because op has stated he plans to use VMs (plural). ZFS is not sharable without it. https://pve.proxmox.com/wiki/Storage
There are forum posts going back years about it :https://forum.proxmox.com/threads/share-zfs-storage-between-nodes.144790/ https://forum.proxmox.com/threads/create-a-large-pool-of-shared-zfs-storage.94435/
TrueNAS is not absolutely required. It can be done with a different Linux distro. I use/prefer Debian.
That seems very complex with a lot of overhead vs just mounting a ZFS pool into the container where jellyfin is running.