Is TrueNAS Scale capable of any sort of automatic SSD <-> HDD tiering/data moving?

MostHated

Dabbler
Joined
Apr 25, 2021
Messages
15
Hey all,
I have been pretty fed up with QNap and wanted to use something else, so wiped my TVS-951x and decided to give TrueNAS Scale a try. I already have an Unraid server, which is backed up to external and off-site, so I am not too worried about wiping the unit a few times if need be to try different things out.

The only thing really, that I did like about QNap was the QTier storage, which let me have my SSD array and HDD array, and would automatically move items that were "less used" to the HDD array. Then if things were on HDD but started to become used more frequently, it would then move it from HDD to SSD. I was wondering if there is any way to achieve similar functionality with TrueNAS Scale, or would I just have to script my own data movement back and forth?

Thanks,
-MH
 

c77dk

Patron
Joined
Nov 27, 2019
Messages
468
There's no such automation in TrueNAS - but as I understand it you just used the SSDs for caching? Then ARC+L2ARC will do much the same (remember to have enough memory installed - 64GB is recommended, but less might also work).
This way the files will always "live" on the HDDs, but TrueNAS will (simplified explanation :P) keep a copy of the most used data in RAM/on SSDs. With the latest releases the support for persistent L2ARC has been added, so the system wont have to rebuild L2ARC from scratch after a reboot. The feature isn't enabled by default (some minor issues with it if I recall correctly)
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703
The only thing really, that I did like about QNap was the QTier storage, which let me have my SSD array and HDD array, and would automatically move items that were "less used" to the HDD array. Then if things were on HDD but started to become used more frequently, it would then move it from HDD to SSD. I was wondering if there is any way to achieve similar functionality with TrueNAS Scale, or would I just have to script my own data movement back and forth?
I proposed this kind of functionality several years ago and the push was to go talk to the folks at OpenZFS to have it included there. I was able to get no interest from them either. (https://www.truenas.com/community/threads/tiered-storage.75346/)

A script of your own would be it do strictly do what you're asking right now (although even then, you would need it to be in different pools to allow you that control, which would be problematic for things like shares where you want the same file at the same path, just on different parts of the storage).

More generally, using L2ARC (with enough memory as already mentioned) and perhaps in combination with special VDEVs (which isn't tiering, but does split content based on some factors to ensure the right content lands on the right VDEV in the pool of mixed VDEVs of SSDs and HDDs)
 

Kris Moore

SVP of Engineering
Administrator
Moderator
iXsystems
Joined
Nov 12, 2015
Messages
1,471
This kind of functionality is something we've been discussing here internally. No specific ETA yet, but wanted to let you know it is indeed something we are aware of :)
 

MostHated

Dabbler
Joined
Apr 25, 2021
Messages
15
but as I understand it you just used the SSDs for caching?

(remember to have enough memory installed - 64GB is recommended, but less might also work).

Sort of, but also not really. There was an actual SSD cache, in which the data lived on the HDD, but then frequently accessed files also could reside on the SSD's for quicker access, but QTier was a bit different. The overall pool size was a combination of the SSD and HDD array and they, more or less, acted as one pool. The files all appeared in the same place, but only ever existed in either the SSD tier or the HDD tier, which was determined by frequency of use, and moved in the background.

As for the L2ARC that you mentioned, unfortunately, I have already maxed out the memory capability of my NAS unit (32gb). I had been fairly satisfied with the performance of 4 SSDs over a 10gb connection up to this point, and it is just for personal use, and not mission-critical by any means. So, while having 64gb available as "ultra high speed" cache does indeed sound great, it would require a whole new unit. That is one reason I really like the ssd <-> hdd approach, it seems like a nice middle-ground.

which would be problematic for things like shares where you want the same file at the same path, just on different parts of the storage).

Yeah, that is really the most desirable aspect of having this as a "built-in" feature. Otherwise, I suppose it would not be much different than simply having the data split between two separate permanent locations.

The only way I can think of offhand is maybe to have a third share which consists of nothing but symlinks to the data mimicking the file structure which is always used as the entry point to the data, and the script updates the symlink to the new location of the file when it moves. That sounds like it could become messy/troublesome to try and maintain without some additional underlying help from the filesystem.

This kind of functionality is something we've been discussing here internally. No specific ETA yet, but wanted to let you know it is indeed something we are aware of :)

It is definitely good to know that it is at least "on the radar".
 

hescominsoon

Patron
Joined
Jul 27, 2016
Messages
456
it's something windows storage spaces is capable of actually. It doesn't have the performance of ZFS though..:)
 
Top