What is the role of cache in a NAS build? How to plan storage drives for my build?

What is the role of cache & parity drives in a NAS build?

& Can you help me plan the storage setup for my NAS build?

I am looking at this from the NAS killer 6.0 as a reference.

  • 1 SSD cache for docker containers and VMs
  • 1 HDD cache for large file ingest
  • 1 parity drive
  • 6 data drives (48TB usable)

My situation:

I want to backup 8TB of personal data.

I want to use the NAS for just storage purposes and not planning to run any workloads.

I do am thinking to run TrueNAS as operating system since i do not want to pay for UnRaid.

How do i plan the storage drives?

Say for example, 2 x 8TB Or 2 x 12TB SATA drives for storage? and 1 4TB/8TB SATA drive for cache?

Looks like TrueNAS might require to be installed on it’s own drive and i am planning to install it on a Nvme SSD which will be my boot drive. So, do i need another SSD cache drive?

Should i add a parity drive on top of these? if so, does it need to be the same capacity(8TB) of my storage drives?

Do i need keep my 2 storage drives in any RAID setup?

TrueNas doesn’t use the same JBOD Array + Parity Drive model that Unraid uses. Generally speaking ZFS / TrueNAS is much more complicated than Unraid and will have a steeper learning curve. TrueNAS actually does do a good job of making ZFS more accessible even for beginners, but it is still a high bar compared to the very user-friendly Unraid.

From your build plan it looks you have done research here and have come up with an array that would work well with Unraid, however TrueNAS works differently.

With TrueNas the array will be a true ZFS RAID Array. You will likely want to put your Array drives into a RaidZ1 pool which will result in a similar capacity (the sum of your array drives minus 1 drives worth of space for parity data). The difference is that in this case that parity will be spread across all the drives and unlike JBOD you can’t pull out a single disk and access any data without all of the other disks in the array present.

Assuming your parity drive is the the same size as your data drives then you would just add it to your array as an additional drive in the RaidZ1 Pool. You will want all the drives in the Pool to be identical or at least a similar as possible. Additionally you will likely want to get as much capacity in your Array as possible from the beginning, ideally with higher density drives (id: 5 x 12T would be better than 7 x 8T), as it is much more difficult to add capacity to an existing ZFS Pool than it is to add a drive to an Unraid Array.

Besides the actual Array, cache drives also work very differently in TrueNAS / ZFS than they do in Unraid.

You can potentially add an SSD cache drive to your RaidZ1 Pool when you initialize it, but its only going to be a cache for your SLOG/ZIL and its not going to give you the performance boost I think you are hoping for. ZFS does most of its work in RAM so you are going to be much better off maxing out the amount of RAM in your build than adding a cache drive. I would drop the cache SSD and the Cache HDD and put that money towards more RAM and ideally an ECC capable platform / RAM. Since ZFS does everything in RAM memory errors can be a much bigger problem as a failing DIMM can completely wipe out all of your data making ECC a much more valuable upgrade.

TrueNAS will install on its own SSD, that SSD doesn’t need to be very large or particularly fast, but if you want to be safe you could get 2 SSD’s and set them up in a Raid1 so that you don’t lose your TrueNAS setup and potentially your array data in the case of a drive failure.

All that said, you might find, at least when starting out, that the cost of Unraid is worth it for the functionality and ease of use over TrueNAS. If you have a 10 Gbps or faster network TrueNAS will be faster and ZFS does have a ton of powerful, though esoteric, features but if you are using a standard 1 Gpbs network or probably even 2.5 Gpbs you likely won’t see much of a performance difference over Unraid, but Unraid will be easier to set up, maintain, and upgrade.

In any case; good luck with your build and enjoy your new server. Let us know how it goes!

1 Like