TrueNAS Storage Solutions

Building reliable, scalable storage with ZFS power and simplicity.

4 min read

Why TrueNAS?

TrueNAS (formerly FreeNAS) is a free, open-source network-attached storage (NAS) operating system built on FreeBSD and ZFS. It turns commodity hardware into an enterprise-grade storage appliance with features that cost thousands in commercial products: data integrity verification, automatic corruption repair, snapshots, compression, and thin provisioning.

ZFS is the core technology that makes TrueNAS powerful. It combines a filesystem and volume manager, providing copy-on-write semantics, checksums on all data, and self-healing capabilities. When a bit rot happens on a disk (and it will), ZFS detects it and reconstructs the data from parity. No other filesystem does this at the consumer price point.

TrueNAS SCALE vs CORE

TrueNAS comes in two branches, and choosing the right one depends on your environment:

TrueNAS SCALE runs on Debian Linux and is the recommended choice for most users. It includes Docker container support through Kubernetes, making it easy to run applications alongside your storage services. The Linux kernel provides broader hardware compatibility, and the app ecosystem covers everything from media servers to monitoring tools.

TrueNAS CORE runs on FreeBSD and is the original TrueNAS. It's extremely stable and mature, with the full power of FreeBSD's networking stack. If you're managing a FreeBSD environment or need specific FreeBSD features, CORE is the way to go. SCALE is where active development focuses, but CORE continues to receive security updates.

Hardware Recommendations

ZFS has specific hardware requirements that differ from traditional filesystem setups:

Understanding ZFS Pools and VDEVs

ZFS organizes disks into pools (zpools), and pools are built from vdevs (virtual devices). Understanding this hierarchy is critical:

Key rules: all vdevs in a pool must have the same capacity, you cannot add disks to an existing vdev (only add new vdevs), and mirror vdevs scale by adding more mirrors, not by adding more disks to an existing mirror.

Storage Pools in Practice

Here are pool configurations that work for different scenarios:

Small lab (4 drives) -- Two 2-disk mirrors. One mirror for datasets that need redundancy (documents, VMs), one mirror for datasets where you don't need it (downloads, scratch space). Simple, fast, and lets you lose one disk from each mirror independently.

Medium lab (8 drives) -- One RAIDZ2 vdev with 6 drives for protected data, two drives in mirror for cache or less critical data. This gives you 6 drive worth of usable space with double parity protection.

Large lab (12+ drives) -- Multiple RAIDZ2 vdevs or a single large RAIDZ2. Plan your vdev size carefully -- a vdev's speed is limited by its slowest disk, and rebuilding a large vdev after a failure takes a very long time.

Shares and Protocols

TrueNAS supports multiple file sharing protocols simultaneously:

Snapshots and Replication

Snapshots are ZFS's killer feature. A snapshot is a point-in-time read-only copy of a dataset. Creating a snapshot is nearly instantaneous and uses zero additional space initially -- it only consumes space when data changes after the snapshot was taken.

Use snapshots for:

TrueNAS includes built-in replication that can send snapshots to another TrueNAS system over SSH. This creates an offsite backup without third-party software. Schedule nightly replication to a secondary system and you have a complete disaster recovery solution.

Maintenance and Monitoring

ZFS is designed to be low-maintenance, but a few tasks keep it running smoothly:

  1. Monitor SMART data on all drives -- replace failing drives before they cause data loss
  2. Run periodic scrubbing (zpool scrub) to detect and repair silent data corruption. Schedule monthly scrubs via TrueNAS scheduler
  3. Keep firmware up to date, especially for SSDs and RAID controllers (use HBA mode, not RAID mode)
  4. Monitor pool health via zpool status and watch for any degraded states
  5. Ensure you have at least 25% free space in your pools -- ZFS performance degrades significantly when pools are near full
  6. Back up your TrueNAS configuration (System Settings - General - Save) and store it offsite