Homelab 📖 30 min read

TrueNAS Storage Setup

Everyone overbuys storage. I started with 4×4TB in a RAIDZ1 pool — 12TB usable. Two years later I'm using 3.2TB. The remaining 8.8TB is sitting there "just in case." You probably need less than you think.

Honest storage math:

Before you buy anything, do the actual math. Average movie file: about 4GB. If you had 500 movies — and that's a lot — that's 2TB. Your entire photo library since 2010? Probably 200GB, maybe 300GB if you shoot RAW. Documents, PDFs, spreadsheets: negligible, maybe 50GB if you're a digital hoarder. Backups of 3 machines: around 1.5TB if you're doing full images. Total: roughly 4TB. You can fit most people's entire digital life on two 4TB drives.

I did not do this math before buying. I just assumed more was better. Don't repeat my mistake — figure out your actual numbers first, then add 30% headroom.

Why TrueNAS?

I lost data on a consumer NAS when a drive failed silently — corruption wasn't detected until files wouldn't open. ZFS prevents this with checksums on everything. If data corrupts, ZFS knows and can repair it from redundancy.

TrueNAS is the most accessible way to run ZFS. It handles the complexity behind a clean web interface.

TrueNAS CORE vs SCALE

  • CORE - FreeBSD based, mature, uses jails for apps
  • SCALE - Linux based, supports Docker/Kubernetes, newer

SCALE over CORE. FreeBSD is a dead end for home use. Linux has better Docker support and the app ecosystem is growing faster. iXsystems has basically said as much themselves — CORE is in maintenance mode. If you're starting fresh, there's no reason to pick CORE anymore.

💸 The hidden cost: drives die.

Nobody talks about this enough. The software is free. The electricity is cheap. The real cost of TrueNAS is replacing drives over five years. When one drive in a RAIDZ1 fails — and it will, eventually — you need the same size or bigger. A WD Red Plus 4TB runs about $95-110 depending on the week. For a 4-drive RAIDZ1 pool, budget for replacing one drive every 18-24 months once you get past year three.

And the rebuild. When a drive fails, the pool enters a degraded state. The rebuild takes 8+ hours for a 4TB drive, sometimes longer depending on how full the pool is. During that entire window, you have zero redundancy. If a second drive fails during the rebuild, you lose the pool. This is why RAIDZ2 exists, but it costs another drive worth of capacity.

Over five years, my 4×4TB pool will probably cost me about $200 in replacement drives on top of the initial $400 for the original four. The real cost of TrueNAS is not the software — it's the drives.

Hardware Requirements

ZFS is memory-hungry. Here's what you actually need:

  • RAM: 8GB minimum, 1GB per TB of storage recommended
  • CPU: Any modern x86-64
  • Storage: At least 2 drives for redundancy, plus a boot drive
  • ECC RAM: Highly recommended but not required

The ECC RAM debate never ends. People will argue about it forever. My take: ECC costs maybe $20 more than non-ECC for the same capacity. For a machine whose entire purpose is storing data you care about, that $20 is the easiest decision you'll make. I went ECC. Not because I could prove non-ECC would fail, but because I didn't want to find out the hard way.

Installation

  1. Download ISO from truenas.com
  2. Flash to USB drive (I use Rufus on Windows, balenaEtcher on Mac)
  3. Boot from USB
  4. Select installation drive (separate from your data drives — don't mix these up)
  5. Set root password
  6. Reboot and remove USB

Write down the IP address shown after boot. You'll access the web UI at that address. The whole install takes maybe 10 minutes if your BIOS cooperates.

Initial Web UI Setup

Login with root and the password you set during install.

Network Configuration

Go to Network → Global Configuration.

  • Set static IP (recommended)
  • Configure DNS servers
  • Set hostname

Creating a Storage Pool

This is the big decision. Go to Storage → Pools → Add.

RAID-Z Levels

  • Stripe: No redundancy (don't use for important data)
  • Mirror: 50% usable, 1 drive failure tolerance
  • RAID-Z1: 1 drive redundancy (like RAID-5)
  • RAID-Z2: 2 drive redundancy (like RAID-6)
  • RAID-Z3: 3 drive redundancy

For home use: mirror if you have 2 drives, RAIDZ1 for 3-4 drives, RAIDZ2 for 5 or more. Don't overthink it. Most people with 2-4 drives should pick mirror or RAIDZ1 and move on.

Creating Datasets

Think of datasets as folders that each have their own settings — compression, quotas, snapshot schedules. They're one of the things that makes ZFS genuinely better than a regular filesystem.

Storage → Pools → [Your Pool] → Add Dataset

I'd create separate datasets for:

  • Media files
  • Documents
  • Backups
  • VM storage

Each gets its own compression settings, quotas, and snapshot policies. I compress media datasets with lz4 (fast, barely noticeable) and leave backup datasets uncompressed since they're usually already compressed archives.

Setting Up Shares

SMB (Windows/Mac)

Sharing → SMB → Add. This is what most people need if they're on Windows or Mac.

  • Select dataset path
  • Enable sharing
  • Configure permissions

Connect from Windows: \\TRUENAS-IP\sharename

NFS (Linux)

Sharing → NFS → Add. If your clients are Linux machines, NFS is simpler and faster than SMB.

Mount on Linux:

mount -t nfs truenas-ip:/mnt/pool/dataset /mnt/local

Snapshots

ZFS snapshots are instant and take almost no space until you actually change data. There's no reason not to use them aggressively.

Tasks → Periodic Snapshot Tasks → Add

  • Select dataset
  • Set schedule (hourly, daily, weekly)
  • Set retention (how many to keep)

Restoring from a snapshot:

Storage → Pools → [Dataset] → Snapshots → Clone or Rollback. I use Clone when I just want to grab a single file from last week, and Rollback when something goes seriously wrong.

Replication (Offsite Backup)

If you have a second TrueNAS box (at a friend's house, a family member's place, wherever), you can replicate snapshots to it over SSH.

Tasks → Replication Tasks → Add

  • Source: Your dataset
  • Destination: Remote TrueNAS over SSH
  • Schedule: Daily or as needed

This gets you proper 3-2-1 backup — data in multiple locations, on multiple devices. Without offsite replication, a house fire or a power surge takes out everything regardless of how many drives you have.

Monitoring

The reporting dashboard shows disk health, temperatures, and usage over time. Check it occasionally, but more importantly, set up email alerts so you don't have to.

System → Alert Settings

  • Email on disk failure
  • Alert on high temperatures
  • Notify on scrub errors

Regular Scrubs

Scrubs read every block on every drive and verify the checksums. TrueNAS schedules them automatically, but go check that it's actually set up.

Tasks → Scrub Tasks

Monthly at minimum. A scrub on my 4×4TB pool takes about 6 hours. It runs at 2 AM on the first Sunday of the month and I never notice it. Scrubs catch bit rot and silent corruption before they spread — that's half the point of ZFS.

Apps (TrueNAS SCALE)

One of the reasons I said SCALE over CORE — the app catalog. Go to Apps → Available Applications and browse what's there.

The ones I actually use:

  • Jellyfin - media streaming (I tried Plex first but got tired of the account requirement)
  • Syncthing - file sync between my laptop and the NAS
  • Nextcloud - tried it, removed it after a week, too heavy for what I needed

Best Practices

  • Mirror for 2 drives, RAIDZ1 for 3-4, RAIDZ2 for 5+
  • Get ECC RAM — the $20 premium isn't worth arguing about
  • Automated scrubs monthly, SMART monitoring always on
  • Don't fill the pool past 80% — ZFS performance falls off a cliff after that
  • Replace drives before they hit 5 years, not after they start clicking
  • Test your restores. Pull a random file from a 6-month-old snapshot once in a while. If you've never restored, you don't have backups — you have hopes.

3.2TB used out of 12TB available. Monthly power cost: about $8 for the box running 24/7. It replaced a Dropbox Plus subscription that was $12/month, plus a Google One plan at $3/month. The math works, barely — I'm saving maybe $7/month compared to cloud storage, which adds up to about $84/year. Factor in the initial hardware cost and drive replacements, and I'll break even around year three. After that, it's savings. The real win isn't the money though. It's that my data sits on drives I own, in my house, with redundancy I control.

💬 Comments