Reference: Adding a Basic Time Machine SMB Share | TrueNAS Documentation Hub
In the above tutorial:
The latest maintained Mac OS versions allow setting the maximum Time Machine backup size from the Mac OS UI. Setting this from the client side is generally recommended for better share flexibility and macOS coordination.
This is new compared to the last time I poked at using Time Machine over SMB, so that’s nice to see.
Previously, I would have set up separate datasets for each Mac’s Time Machine, and given each of them their own ZFS quota via TrueNAS itself. Left unchecked, Time Machine backups grow forever until they consume all available space, so a ZFS quota would be an effective way to make Time Machine think the share had a fixed size (e.g., 2 TB).
But, that problem is solved if I can cap the size of the Time Machine sparse bundle via Mac OS itself.
So, with that problem solved, using a single multi-Mac dataset and letting the Macs control the quotas seems like a good idea. The TrueNAS documentation seems to be telling us that it’s unnecessary to use ZFS quotas, not that it’s a good idea to mix Macs’ sparsebundles in the same dataset.
In any case, I’d be using TrueNAS’ feature that automatically takes a snapshot after every successful Time Machine backup, so the only downside I could think of with using a single, multi-client dataset is that the dataset’s snapshots would reflect a potentially confusing mixture of backups of different Macs. Except, that sounds like a considerably powerful downside.
Luckily, I haven’t had to find out yet, but that sounds like it could be confusing if you ever needed to roll back to a previous snapshot in a dataset/share containing Mac A and Mac B because a Time Machine sparsebundle for Mac A got corrupted.
Am I overcomplicating this, or am I indeed better off using one dataset per Time Machine share per Mac?

