Hello. I’ve been using Truenas (Scale) for a while now. But I decided to build a new system as I made some mistakes in the past.
I some guidelines for creating datasets, shares (SMB) and replication tasks.
My system has 5 pools (6 if you count the boot disk). 2 of them are mirrored pairs of SSDs. One for Apps and one for VM storage. Those are not relevant to the questions I’m about to ask.
The other 3 pools are mirrored HDDs, 2 of them are 16TB in size and the last one is about 4TB.
The aforementioned 3 pools are called:
- collection (16TB)
- data (16TB)
- archive (4TB)
My goal is to use this NAS for family pictures, phone and PC backups, media server and archives of data that are really important.
What I’ve setup so far is the media part. It resides on the pool called “collection” and it has one dataset called “media” which contains subdirectories, not datasets for setting up the “Arr apps” named “tv”, “movies”, “music”, “book”, “torrents” and “usenet”
So far so good. I created these subdirectories in one big dataset for the purpose of hardlinking or moving files around once a download is completed etc.
The second pool called “data” doesn’t have data so far. It will be purposed for storing pictures, pc and phone backups, etc.
The third pool called “archive” will contains copies of some of the data I store in the other 2 pools. For example some tv-show you can’t find anywhere anymore or camera pictures, basicaly stuff that I can’t afford to lose. If one of the main 2 pools fail, I will have a copy of data on the “archive” pool.
Now here comes the fun part. The “archive” pool doesn’t need to be spinning whole day. I want it to be spun down most of the time and once every 2 weeks copy stuff from the other 2 pools on it. And since it’s data mostly at rest, schedule a scrub every month. Now from when I understood reading the manuals, local replication tasks can only be done on a dataset level. Not on individual directories within a dataset. So I either need to copy stuff over manually or create some sort of script? Help is needed here.
Another issue I have is setting up a way to create shares for pictures. This NAS will be used mostly for me personally, my job, my wife and my son. My work part is separate. I can create a generic dataset called “work” and have child datasets (type) SMB for storing pictures, documents, invoices etc.
Since everything is contained within that one dataset I can easily replicate is to the “archive” pool.
Now for the private datasets. I want each of the users (including me) to have their own SMB share. But I also want to have a dataset (share) where for instance my wife or my son can store pictures that we all can access. Without having to have 2 copies on the pool. For instance I want our family photos to be accessible to everyone, but I don’t want to manually copy them to that share or even have 2 copies of them on the same pool. I haven’t looked into the Immich app yet, but I plan to in the near future. Should I just create datasets for the photos of each user and give Immich or any other photo organizing app access to those shares and handle the visibility? I can imagine my son doesn’t want to show all his pictures to me, like I don’t want to show all of mine. Having an application handle all of that, sure would make it a lot easier. Like that I can create a dataset for each user that only they and the photo organizing app can access, aside from system administrator. I could also replicate a whole dataset to the archive or even cloud storage like that.
Does it make sense to create a generic master dataset with 3 children generic datasets (for each user) and have even more child datasets that are actually SMB shares?
Thanks in advance.