TrueNAS is an operating system that provides some serious flexibility for the home and medium, and enterprise for that matter, business. It runs on FreeBSD, which is a little different than linux, but can lend itself to being very stable. It allows for your to create and manage network attached storage. More importantly, it uses a filesystem called ZFS.
ZFS is a very important project that has gained popularity in the past few years. ZFS is a Copy-On-Write filesystem. I won’t go into the details, because honestly I don’t know them super well, but this functionality allows it to be extremely stable. ZFS helps mitigate data rot due to how it’s designed. If you are planning to store data for a long time, or lots of data, ZFS is my recommendation to use.
We use TrueNAS, which is a UI for managing ZFS, in our production workloads here at Altha Technology. It allows you to be very flexible with your data management and is good for scaling up your storage into the 100’s of Terabytes range. If you are planning to do any type of data hosting with more than hundreds of gigabytes worth of information, ZFS and TrueNAS are the way. ZFS and TrueNAS have some very essential features you want in a NAS (and almost any computer, to be honest).
ZFS has something called the ARC. This is an, “Adaptive Read Cache.” This is a mechanism of caching data that stores it in memory. That means that all of the information on your computer, gets plugged into RAM as it’s read, then when it’s read again it’s read from RAM. THIS means that all of your files and activities on the computer are insanely fast, if you have enough RAM. It also means the computer isn’t wasting any resources. It’s always using your RAM for something useful. It’s a great efficiency gain, and something ZFS takes advantage of to the fullest.
Separate from the ARC is the L2ARC. This is an assistant to your RAM, if you don’t have enough. It it’s like an overflow bucket for the RAM. What we do here is use intel Optane drives as our Zil/SLOG AND our L2ARC. I’ve done a ton of reading, and this is fine practice. The Optane drives are fast enough to handle a dual workload of read and write without any problem whatsoever. The L2ARC needs to be faster than your HDDs or SSDs you use for storage, then you will gain a little more performance on read speeds.
Another amazing feature that TrueNAS makes much easier to use, is Fusion Pools. A Fusion Pool is a set of harddrives that has different pieces of hardware allocated to different tasks, but all in the same namespace. “Hey Jared, wtf does that mean?”. You can mix and match SSDs, HDDs, and intel Optane drives, but allow ZFS to pick which hard drive type gets the best type of data it needs for maximum performance.
We use fusion pools for managing our larger video websites, and possibly everything in the future. It’s just a much simpler, and cheaper, method to storing data.
We started with all SSD pools, which we still have, to avoid having to learn about the complexities of storage, like what I’m talking about. As we have gone forward through the data world, we have learned how to become more efficient. That is Fusion Pools. I’m able to mix 20 TB HDDs with 600 GB SSDs and 380 GB Optane Drives, and achieve the performance of an all SSD array, but have 100 TBs of data instead of 10 TBs. This is a significant cost savings.
Owner, Altha Technology