Skip to content
Go back

DIY NAS Build: Compute, Drives, Power Walkthrough

By SumGuy 14 min read
DIY NAS Build: Compute, Drives, Power Walkthrough

Nobody Builds a NAS Once

You tell yourself it’s just a small box for backups. Four drives, maybe a Raspberry Pi, done. Two years later you’re shopping for a 24-bay Supermicro chassis on eBay and justifying it to your partner as “infrastructure.” That’s how this works.

So let’s skip the illusions and build the right thing the first time. This is a practical, opinionated walkthrough covering use case sizing, compute, case, PSU, drives, HBA, ZFS layout, OS choice, and power budgeting — with real part numbers, real 2026 pricing, and the parts of the internet’s advice that’ll actually get you killed.


Step 1: What Are You Actually Building?

Before you buy anything, answer one question honestly: what is this box doing most of the time?

Use CaseWhat You Need
Archive / cold backup8-bay max, slow CPU, no ECC required
Media server (Plex/Jellyfin)iGPU transcode, fast 1GbE+ network
Hot data / VM storageNVMe special vdev, faster CPU, ECC RAM
ZFS scrub + parity + replicationEnough RAM (1 GB/TB is a myth, 16 GB baseline)

4-bay vs 8-bay vs expander:

If you’re mixing hot data (VMs, databases) with cold data (media archives), plan separate pools from day one. ZFS doesn’t blend workload profiles gracefully.


Step 2: CPU and Motherboard — The Part Everyone Overthinks

The Intel N100/N305 Route (Low Power, No ECC)

If your NAS is primarily a file server and media box, the Intel N100 or N305 on a mini-ITX board (Topton, CWWK, or similar no-name Chinese boards) is genuinely excellent in 2026. 10W TDP idle, passable iGPU for Jellyfin H.264/HEVC transcode up to 4K, 2.5GbE on most boards.

Cost is around $120–180 all-in for board + CPU (it’s soldered). You won’t get ECC. That’s the honest trade. For personal backups and media, the data integrity story is “ZFS checksums + scrubs + redundancy” rather than “ECC saves silent bit flips.” It’s fine.

If you need IPMI/BMC for remote management (and you should want this if the box lives in a closet), look at the Topton N100 with M.2 IPMI boards. They exist. They’re weird. They work.

The AMD AM5 Route (ECC, Actual Power)

AMD has quietly had ECC support on consumer Ryzen for years. The Ryzen 7000/8000 series on AM5 supports Unbuffered ECC (UDIMM ECC) — but you need a motherboard that exposes it. ASRock Rack W790D4ID-2T and the X670E-D4U series are proper server-grade options. Expect $350–500 for the board alone.

For a NAS that also runs VMs or does serious ZFS write loads, the Ryzen 9 8000-series CPUs with ECC support and strong single-thread performance make sense. Crucial Pro DDR5 ECC DIMMs are available in 32 GB sticks for around $90–120 each in 2026.

Intel’s consumer ECC story is murkier. They pushed ECC back to the Xeon E variants (E-2400 series) and away from Core i-series. The Supermicro X11SCH-F or X12SCH-F with a Xeon E-2300/E-2400 is a legitimate option for a compact server-grade build, but you’re looking at LGA 1200/1700 end-of-life platforms. ASRock Rack X470D4U2 (AM4, slightly older) is still a popular pick for used-market Ryzen builds with ECC if you want to save money.

Bottom line: For a serious NAS with ECC in 2026, AMD AM5 on an ASRock Rack board is the move. For a budget/media box, N100 and stop worrying about it.


Step 3: Case — Where Your Drives Live (and Die From Heat)

Jonsbo N3 / N5

The Jonsbo N3 (6-bay, ITX) and N5 (8-bay, ITX) are the most-recommended small NAS cases right now for good reason. Hot-swap bays, reasonable airflow, fits a standard SFX PSU. The N3 is roughly $90 and the N5 is around $130 shipped.

Caveats: airflow can be marginal with 7200 RPM drives. Add a 120mm exhaust fan. The drive cages are plastic and wobble slightly — this matters exactly zero for reliability but feels cheap.

Fractal Node 804

Larger, better build quality, fits mATX. Room for more HDDs, better cable management. Good choice if you want a quieter build or need room for a full-length GPU for transcode.

4U Rackmount with Backplane

If you’re buying a used Supermicro or Dell PowerEdge chassis with a SAS backplane, you’re entering a different world. You’ll need an HBA (see below), the backplane needs to match your HBA’s SAS expander, and power draw at idle will be 80–150W before you put a single drive in. These boxes are excellent for large builds (12+ drives) and terrible for “I just want quiet storage in my office.”


Step 4: PSU — Don’t Cheap Out Here

Hard drives have inrush current on spin-up. A 7200 RPM 20 TB drive pulls 2A+ at 12V during spin-up, dropping to ~0.5A at idle. If you spin up 8 drives simultaneously at boot, you’re asking your PSU for 16A+ on the 12V rail for 3–5 seconds.

Cheap PSUs with flaky 12V regulation will brown out and either reset mid-boot or, in spectacular cases, fry a drive controller. You don’t want that.

Recommendations:

Use a staggered spin-up in TrueNAS or via hdparm to avoid inrush:

Terminal window
# Stagger spin-up manually (testing only — configure in OS)
for dev in /dev/sd{a,b,c,d,e,f,g,h}; do
hdparm -S 120 $dev
sleep 2
done

Set drives to stagger via your HBA firmware or TrueNAS SATA power settings where possible.


Step 5: Drives — This Is Where Your Data Lives

Seagate Exos X20 / WD HC560

For a NAS in 2026, 18–20 TB drives are the sweet spot on price per TB. The Seagate Exos X20 (20 TB, CMR, enterprise-grade) runs about $250–300 new, often cheaper recertified from Seagate’s official refurb store. The WD HC560 (18 TB, CMR) is in the same range.

Both are helium-filled CMR drives. CMR is mandatory for parity-based pools (ZFS raidz or mirrors). Do not use SMR drives for ZFS. This has been true for years and remains true. SMR drives (WD Red non-Plus, some Seagate Barracudas) will ruin your write performance and cause TXG timeouts under heavy write load. Check CMR/SMR status on the vendor’s spec page before buying.

Recertified vs new: Seagate’s official refurb store sells recertified Exos drives with full warranties. Those are fine. Random “refurbished” eBay drives with no warranty are not.

Burn-In Before You Trust Them

Run every drive through burn-in before putting data on it. No exceptions.

Terminal window
# Extended SMART self-test
smartctl -t long /dev/sda
# Check results after ~2 hours
smartctl -a /dev/sda | grep -E "Reallocated|Pending|Uncorrectable|Hours"

Sample healthy smartctl -a output to look for:

Reallocated_Sector_Ct 0x0032 100 100 010 Old_age Always - 0
Current_Pending_Sector 0x0032 100 100 000 Old_age Always - 0
Offline_Uncorrectable 0x0030 100 100 000 Old_age Offline - 0
Power_On_Hours 0x0032 099 099 000 Old_age Always - 1247

If Reallocated_Sector_Ct is nonzero on a “new” drive, return it. If Power_On_Hours is suspiciously high on a drive sold as new, you know what happened.

Also run badblocks for a full write/read surface test. This takes 48–72 hours per drive on a 20 TB disk. Yes, really. Do it anyway.

Terminal window
# Destructive surface test — DO NOT run on drives with data
badblocks -wsv -b 4096 /dev/sda

Mixing Capacities

ZFS will let you mix drive sizes in a pool. It is not pleasant about it. In a vdev of mixed sizes, ZFS uses the smallest drive’s capacity across all drives in that vdev. You can mix vdev sizes across a pool, but it’s more complex than it sounds. Plan your drive purchases to match within each vdev, and save the mixing for later expansion.


Step 6: HBA — Getting Your Drives to the Motherboard

If you have more than 4 drives and a consumer board, you need an HBA (Host Bus Adapter). The LSI 9300-8i (SAS3, 12 Gbps, 8 ports) flashed to IT mode (passthrough) is the standard recommendation.

IT mode vs IR mode: IT mode passes drives directly to the OS. IR mode has onboard RAID, which you don’t want when ZFS is handling redundancy. Flash to IT mode with the appropriate LSI firmware before trusting any HBA.

Terminal window
# Check current mode and firmware version
sas3flash -list
# Flash to IT mode (replace firmware file with correct version for your card)
sas3flash -o -f SAS9300_8i_IT.bin -b mptsas3.rom

Don’t trust eBay sellers who claim the card is “already flashed to IT mode.” Verify it yourself. The process takes 15 minutes and a bootable USB. It’s worth it.


Step 7: ZFS Pool Layout — Pick One and Commit

ZFS pool design decisions are permanent without data migration. Get this right upfront.

Mirrors vs RAIDZ2 vs dRAID

LayoutBest ForDownside
2-way mirrorMax IOPS, simple rebuild50% usable capacity
raidz2Capacity efficiency, 2 drive failuresSlow IOPS on small random writes
dRAID2Large pools, faster resilverMore complex, newer feature

For a home NAS with 8 drives and mixed workloads: two 4-wide raidz2 vdevs gives you good capacity with double-parity protection per vdev. For a media archive with pure sequential reads: same thing. For a VM storage pool: consider mirrors even if the capacity hit hurts.

Sample pool creation for 8 drives (raidz2 x2):

Terminal window
# List drives by ID (never use /dev/sdX — it changes on reboot)
ls -l /dev/disk/by-id/
# Create pool with two raidz2 vdevs
zpool create -o ashift=12 \
-O compression=lz4 \
-O atime=off \
-O xattr=sa \
tank \
raidz2 /dev/disk/by-id/ata-SEAGATE-EXOS-{1,2,3,4} \
raidz2 /dev/disk/by-id/ata-SEAGATE-EXOS-{5,6,7,8}

Use ashift=12 for 512e/4Kn drives (all modern enterprise HDDs). Use ashift=13 only for actual 8K sector drives (rare). Getting this wrong on pool creation means rebuilding the pool.

Special vdev (Metadata SSD)

If you have an NVMe SSD lying around, add it as a special vdev for metadata. This speeds up directory operations and small file access dramatically on large pools.

Terminal window
# Add special vdev after pool creation (or at creation time)
zpool add tank special mirror /dev/disk/by-id/nvme-Samsung_SSD_{1,2}

Don’t add a special vdev without redundancy (mirror at minimum). Losing the special vdev corrupts the entire pool.

L2ARC and SLOG

L2ARC: Don’t bother for a HDD NAS. It eats RAM for the ARC metadata index, and the read hit rate on spinning rust with random access patterns rarely justifies it.

SLOG (ZFS Intent Log): Useful only if you have applications issuing synchronous writes (NFS with sync=enabled, databases). For a media NAS serving Jellyfin and Plex? You don’t need it.

Check Your Pool Health

Terminal window
zpool status tank

Healthy output looks like this:

pool: tank
state: ONLINE
scan: scrub repaired 0B in 04:23:11 with 0 errors on Sun May 10 09:23:11 2026
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz2-0 ONLINE 0 0 0
ata-SEAGATE-EXOS-1 ONLINE 0 0 0
ata-SEAGATE-EXOS-2 ONLINE 0 0 0
ata-SEAGATE-EXOS-3 ONLINE 0 0 0
ata-SEAGATE-EXOS-4 ONLINE 0 0 0
raidz2-1 ONLINE 0 0 0
ata-SEAGATE-EXOS-5 ONLINE 0 0 0
ata-SEAGATE-EXOS-6 ONLINE 0 0 0
ata-SEAGATE-EXOS-7 ONLINE 0 0 0
ata-SEAGATE-EXOS-8 ONLINE 0 0 0
errors: No known data errors

Schedule weekly scrubs. On TrueNAS it’s automatic. On Debian, add to cron:

/etc/cron.d/zfs-scrub
0 2 * * 0 root zpool scrub tank

Step 8: OS — What Runs This Thing?

TrueNAS Scale (Electric Eel / Fangtooth): The right choice for most people. Web UI, SMB/NFS/iSCSI built-in, app catalog, native ZFS management, automatic scrubs. The Dragonfish → Electric Eel transition in 2025–2026 cleaned up a lot of the early SCALE rough edges. If you don’t want to manage a NAS manually, use TrueNAS Scale.

Proxmox + TrueNAS VM: The power-user setup. Run Proxmox on bare metal, pass HBA to a TrueNAS VM via PCIe passthrough, run other VMs alongside it. More complex, more flexible. The HBA passthrough works reliably when done correctly — the key is passing the entire HBA controller, not individual drives.

Plain Debian + ZFS: For people who like suffering and also full control. Install zfsutils-linux from backports, configure NFS/SMB manually, add your own monitoring. You’ll learn a lot. You’ll also spend a Saturday fighting with Samba authentication instead of watching TV.


Step 9: UPS — Because Power Grids Are a Joke

ZFS is write-safe on power loss only if you have power-loss protection on your drives (enterprise drives generally do) or a battery-backed SLOG. For consumer drives on a cheap board, an unclean shutdown mid-TXG can corrupt your pool.

Get a UPS. The CyberPower OR300LCDRM2U is a rack-mount unit that works well with NUT (Network UPS Tools) for automated shutdown.

/etc/nut/ups.conf
[cyberpower]
driver = usbhid-ups
port = auto
desc = "CyberPower OR300LCDRM2U"
Terminal window
# Test communication
upsc cyberpower@localhost
# Configure shutdown at 20% battery
# /etc/nut/upsmon.conf
MONITOR cyberpower@localhost 1 monuser secret master
SHUTDOWNCMD "/sbin/shutdown -h +0"
POWERDOWNFLAG /etc/killpower
MINSUPPLIES 1
POLLFREQ 5
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 15
FINALDELAY 5

Step 10: Power Budget Worksheet

Before finalizing your PSU choice, do the math.

ComponentIdle (W)Peak (W)
N100 mini-ITX820
AM5 Ryzen + ASRock Rack3595
8x Seagate Exos X20 (idle)5.0W each = 40
8x Seagate Exos X20 (spin-up)2.5A × 12V = 30W each → 240W peak
LSI 9300-8i HBA1015
16 GB DDR5 ECC ×2610
2x case fans35

For the N100 build: ~65W idle, ~300W peak (during drive spin-up). A 450W 80+ Gold SFX PSU covers it comfortably.

For the AM5 build: ~90W idle, ~360W peak. Use a 650W ATX.

The 80+ Gold efficiency rating matters because this box runs 24/7. At 65W idle, 80+ Gold vs 80+ Bronze saves you about $15/year at US average electricity prices. Not huge, but it’s real.

Run a quick benchmark to validate storage throughput after setup:

Terminal window
# Sequential write benchmark (adjust bs and size to your pool)
fio --name=seq-write --ioengine=libaio --iodepth=32 \
--rw=write --bs=1M --direct=1 --size=10G \
--filename=/mnt/tank/fio-test \
--output-format=normal

Expected sequential write on an 8-drive raidz2 pool: 400–800 MB/s depending on drive speed and CPU.


The Bottom Line

A well-built DIY NAS in 2026 costs between $600 and $1,800 depending on how serious you’re going. Here’s the honest breakdown:

Budget build (N100 + Jonsbo N5 + 4x WD HC560): ~$700–800 in drives/case/compute. No ECC, excellent for media and personal backups. Fine for most homelabs.

Serious build (AM5 Ryzen + ASRock Rack + 8x Exos X20 + ECC DDR5): $1,500–2,000. ECC, IPMI, ZFS headroom for years. The one you build once and don’t touch for five years.

Repurposed rackmount: $300–600 for the chassis + drives. Loud, ugly, surprisingly capable, and you’ll get looks from guests who see your server rack.

The things that actually matter: drives from a reputable source with burn-in done, CMR not SMR, ZFS with proper redundancy, UPS before you care about losing data, and a PSU that can actually handle 8 drives spinning up at once. Everything else is configuration.

Your 2 AM self — the one who just got an alert that drive 3 is showing pending sectors — will appreciate that you spent an afternoon reading this before buying the cheapest parts on eBay.


Share this post on:

Send a Webmention

Written about this post on your own site? Send a webmention and it'll show up above once verified.


Next Post
Jellyseerr Tagging Workflows for Real Libraries

Discussion

Powered by Garrul . Sign in with GitHub or Google, or post anonymously.

Related Posts