TrueNAS is extremely flexible and feature-rich storage platform. With OpenZFS and a suite of other open-source software under the hood, it can be used to turn an old computer into a home media server or to host dozens of petabytes of critical research data; it can provide simple, reliable storage for home photos and movies or blazing-fast backing for enterprise database applications. It's built to be as user-friendly as possible while still providing the core functionality of the very complex software under the hood. Any software as flexible and capable as TrueNAS will have a learning curve to it, but hopefully this guide will help make that a bit more manageable!
Whether you're brand new to TrueNAS and OpenZFS or a seasoned pro, this guide should prove useful. It covers a broad range of topics related to TrueNAS, OpenZFS, server hardware, and enterprise data storage. Its aim is to give interested users a deeper understanding of each topic so they can work towards getting the most out of their TrueNAS system.
This guide is not intended to replace the official TrueNAS or OpenZFS documentation. It will not provide explicit instructions on how to create a pool, dataset, or share, nor will it exhaustively document everything TrueNAS and OpenZFS have to offer. Instead, it's meant to supplement the official docs by offering additional context around the huge range of features that TrueNAS and OpenZFS support.
The official TrueNAS documentation can be found here.
The official OpenZFS documentation can be found here.
TrueNAS is a range of free and open-source network-attached storage (NAS) operating systems produced by iXsystems. TrueNAS CORE and Enterprise are based on FreeBSD while TrueNAS SCALE is based on Debian Linux. All versions of TrueNAS use OpenZFS to provide the file system and volume manager.
TrueNAS supports file sharing via SMB and NFS, block device sharing via iSCSI, and object sharing via S3. TrueNAS also includes functionality to manage remote connectivity, cloud sync, application containers, virtual machines, and third-party plugins.
Below is a breakdown of the topics covered; feel free to dive in at any point and skip around as needed.
Zero to TrueNAS as Fast as Possible
A highly-distilled TrueNAS guide that gets straight to the point and aims to provide the basic understanding necessary to get started.
ZFS: The Final Word in File Systems
A deep-dive into nearly every aspect of OpenZFS administration and a closer look at many of the mechanisms that make ZFS the final word in file systems.
Hardware for CORE and SCALE
A guide to optimal hardware selection for any size TrueNAS system from a 1 TiB simple home server to 10 PiB of enterprise-class flash.
I have also written several other articles that dive quite a bit deeper into a few specific topics within ZFS and enterprise data storage. Links to each can be found below.
OpenZFS Capacity Calculator
A calculator application and guide on how to precisely determine the usable capacity and several other metrics of a ZFS storage pool.
RAID Reliability Calculator
A calculator and guide that lets you determine and compare the probability of a pool failure given a certain RAID layout and disk failure rate.
RAIDZ Allocation Overhead
A deep dive into the causes and the math behind RAIDZ allocation overhead including advise on how to minimize this on your own OpenZFS pool.
ZFS Performance Overview
A discussion of how different OpenZFS pool designs and vdev layouts impact storage performance, reliability, and capacity.
If you have questions, comments, or corrections, my contact information can be found here.