Understanding TrueNAS Nomenclature

I am a Windows guy who started recently using TrueNAS appliances. Please forgive me if these questions seem basic and uninformed.

I created a Pool, created a Dataset on the pool, and an SMB share that matches the Dataset. I then have a folder structure within the Dataset that is used to store copies of my VMs.

Pool: Pool1
Dataset: Dataset1

My VM export script then copies VM images to \NAS1\Dataset1\Host1\VM1, \NAS1\Dataset1\Host1\VM2, \NAS1\Dataset1\Host2\VM1, etc.

When I setup a periodic snapshot task on Pool1/Dataset1, I have the option to make it Recursive. The UI tells me that it means “Set to include child datasets of the chosen dataset.”

If I leave this UNCHECKED, will the snapshot include files located within the sub folders that I am referencing above? Or will it only include files located within the “root” of Pool1/Dataset1?

Hello @as2986

You can create a dataset and inside this, create another child dataset. Depends of your scenario and needs.
In your sceario you don’t need this option enable. Becouse all your data is in a simple dataset. And the snapshot is taken from all files(file,folder,etc) inside this dataset
If you have child dataset check this option.

I hope this answer help you to understand TrueNAS and ZFS
My best regards

1 Like

Learning the nomenclature is non trivial, ZFS is … complex. I’m still learning but if my understanding is correct, leaving it unchecked will include sub directories, but not child-datasets. Datasets are separate file systems with their own unique settings and properties like compression level, deduplication, encryption settings, etc.

Here are some links:

You can make as many datasets as you want which you can use to test your snapshot rules.