Anyone got a standard layout for datasets and folders

One thing I am struggling with is how to setup my datasets and folder structure. The mechanics of creating them is easy but it is the actual layout I am struggling with.

I have search on the internet and cannot find anything suitable.

Lets assume I have one pool called My-Pool and I will have Apps, VMs, Media, Containers and Dockers. I know these have congig paths and data paths. I would like the layout to allow me to backup items as required.

This is the sort of thing I am after. they are all datasets

  • My-Pool
    • media
      • movies
      • tv
      • games
  • vms
  • docker
  • containers
  • apps
    • plex
      • config
      • data
      • logs
      • transcode
  • team
  • work

Questions

  • should i store each app under its own folder or split out the config files?
  • How should I layout docker and containers?
  • should i only use lowercase including for my VDEV name?

Some pointers would be very useful as I am trying to create a standard layout that encompasses all of the technologies TN offers, and yes I know that people will want different layouts but they can always start with a standard and change it as neeed.

thanks

I won’t answer any of your questions, because naming is one of the hardest problems in CS, and regarding the apps – I don’t run those on truenas. Well, I run only PBS via “custom apps”.


Not sure whether it’ll help you or not, but I personally segregate datasets by backup level. Something like:

(These are dataset descriptions, not names)

  • Pool
    • Encrypted pseudo root
      • Onsite 3-2-1
        • Personal media
        • Documents
      • Onsite 2-2-1
        • Docker configs
        • Backups
      • Onsite Slop
        • Installers
        • Torrents
        • Friends’ storage :smiling_face_with_horns:

Thus, I can have different tiered snapshots schedules and different replication strategies. Also, sometimes I have pseudo-roots with custom dataset params (e.g. recordsize).

There’s no “standard” layout, beyond the strong advice to start be creating some “pseudo-root” dataset and stash evrything under it—the key point being not to have any file stored at the actual root (the default dataset which has teh same name as the pool).

Note that TrueNAS will automatically create (hidden) datasets for apps/system containers/VMs for you, and that these would best reside on a SSD mirror pool.
That leaves media, team and work as potential datasets under the pseudo-root of a HDD pool (raidz2?).

Vdevs have no names. As for your pools and datasets, do as you please—but, for your own sake, no spaces or fancy characters.

I am building a standard layout and should have it finished tommorow. It is adaptable to needs and is completely logical.

I will post it here when I am done.

Thanks for the info.

  • Anyone go any thoughts on naming convention for pools? Do you think they should all be one word, lowercase and no hyphens?
  • For apps their primary dataset should use the Apps dataset preset but should the child datasets that are used for the host paths, should they also use the apps preset or should you use the Generic dataset preset for them?
  • Should you use the Generic dataset preset for LXC containers?

any pointers would be useful. thanks