I’m having troubles with my snapshots - and either I don’t understand how snapshots work or my system doesn’t work as intended.
My assumption was that once I create a snapshot, I can browse the files within that snapshot - however this is not what I encounter with my TrueNAS Scale 25.04.0.
I found a relevant topic where a similar question is discussed, but it is “closed” with the resolution that this was an error in an earlier version and is fixed by Fangtooth - but this is not my experience.
I created an automatic snapshot task, which ran at midnight successfully. But when I browse to the .zfs/snapshots/auto-2025-xxxxxx/ folder, I see no files inside, even though the snapshot indicates that there are space used for the jellyfin/config folder:
That config folder is missing.
Either my system doesn’t work as it should, or I don’t understand how snapshots should behave (or maybe I have an access problem)?
My NAS is set up with 2 mirrored 4 TB HDDs, and one SSD that holds the applications and configs. Ultimately my goal is to create regular snapshots of the SSD, and copy them to the HDD via replication. But I’m not sure if this will work and I can restore my SSD from this “backup”, if the snapshots are sort of empty.
Is that “jellyfin” folder really a dataset? If yes, did you check the “recursive” box in your snapshot task? Also if that is the case, you need to navigate to /mnt/SSD-Spud/jellyfin/.zfs/snapshot/…
Do you store your files directly in the top-level dataset? If so, you should know that this is not recommended. Not sure if this is related, though.
EDIT: Seems like it is not the case. You should follow @pmh instructions. If your dataset is SSD-Spud/jellyfin/config, the path would be /mnt/SSD-Spud/jellyfin/config/.zfs/snapshot/auto-2025-05-19_00-00.
Yes and yes.
It seems like I was lacking some understanding for sure becuase if I navigate deeper, to /mnt/SSD-Spud/jellyfin/config/.zfs/snapshot/auto-2025-05-19_00-00 as suggested, in fact I can find the “missing” files within the config folder.
I thought the snapshot would be created on the highest level i.e. /SSD-Spud and everything recursively would be stored in that one snapshot.
What is confusing in addition is that if I navigate on level up, to /mnt/SSD-Spud/jellyfin/.zfs/snapshot/auto-2025-05-19_00-00, there’s a config folder there as well, but without content again…
On addditional question: are the hidden dot folders also part of the snapshots, e.g., .ix-apps? Becuase that’s again something I don’t see anywhere in the snapshot - at least not manually, but it’s there in the snapshot list.
/mnt/SSD-Spud/jellyfin and /mnt/SSD-Spud/jellyfin/config are 2 separate datasets. What dataset is actually used by JF? If they are both used, I suspect there would be various collisions.
If you have a dataset hierarchy of e.g. pool/foo/bar with a collection of files in bar, and take a recursive snapshot of foo then:
/mnt/pool/foo/bar/.zfs/snapshot/<date>/ will contain the files in bar at that time
while /mnt/pool/foo/.zfs/snapshot/<date>/ will contain the files in foo at that time - which is an empty directory named bar which serves as the mountpoint for the child dataset