Storage

Build a ZFS Storage Server with TrueNAS SCALE

This post contains affiliate links. If you buy through them, we may earn a small commission at no extra cost to you. Learn more.

A NAS build is really one decision wearing a lot of disguises: how many drives do you need to spin, now and in three years? Everything else, the board, the RAM, the power supply, the chassis, follows from the bay count. Get that number right and the rest of the parts list almost writes itself. Get it wrong and you either overpay for empty bays or outgrow the box in a year.

Original content from computingforgeeks.com - post 169397

This guide lays out three tested ZFS storage server builds around that one question. A quiet four-bay box for backups and a media library, an eight-bay mid tower with ECC and 10GbE for a serious homelab, and a used-enterprise rackmount that drives 24 hot-swap bays off a single card. All three run TrueNAS SCALE on ZFS, all three use ECC memory, and none of them put an SMR drive anywhere near the pool. The one thing that has changed the math this year is RAM: the 2026 DDR5 shortage has pushed ECC kits to two and three times their 2025 price, so on the mid and high tiers memory is now the single most expensive and most volatile line on the list. Buy it first and check the live price the day you order.

Current as of June 2026.

The three builds at a glance

The standout for most people is the eight-bay mid tower. It clears 64GB of ECC, runs an IT-mode HBA, and gets you onboard dual 10GbE without an add-in card, which is the sweet combination for a homelab that runs apps and VMs off the pool rather than just storing files. The four-bay starter is the right call if you want a quiet, low-power box for backups and Plex and you are learning ZFS on real hardware for the first time. The rackmount beast is for the person who already knows they want 100TB-plus and is comfortable buying used server gear off eBay.

  • Quiet 4-bay starter (~$875 to $1,170 excl. drives): Ryzen 5 7600, ASRock Rack ECC board, 32GB ECC UDIMM, Fractal Node 804. Backups, media, learning ZFS.
  • Eight-bay mid tower (~$1,590 to $2,215 excl. drives): Ryzen 7 7700, ASRock Rack board with dual 10GbE, 64GB ECC UDIMM, 9300-8i HBA, Fractal Define 7. The all-rounder.
  • Rackmount beast (~$1,610 to $2,375 excl. drives): used EPYC 7302, ASRock Rack ROMED8-2T, 128GB ECC RDIMM, 24-bay Supermicro chassis. Big pools, hot-swap, rack.

How we picked, and what the lab showed

Every spec here was checked against the manufacturer datasheet and a live retailer listing, not pulled from memory, because hardware drifts and a NAS build punishes a wrong assumption harder than most. The choices that actually shape these lists came out of testing ZFS on our own hardware, not from a spec sheet.

The clearest result was on synchronous writes. On our test pool, ZFS handled roughly 334,000 IOPS with sync=standard but collapsed to about 2,041 IOPS with sync=always, a penalty of roughly 160x once every write had to hit stable storage before the pool acknowledged it. The same pattern showed up in fsync throughput: an NVMe device cleared about 2,024 fsync operations per second where a SATA SSD managed 642. That gap is the entire argument for a separate log device, and it is also the reason a log device does nothing for the workload most home builders actually have. If you are writing bulk files over SMB, those writes are asynchronous and ZFS batches them in RAM regardless. A log device only earns its slot when the writes are synchronous, which means NFS datastores for virtual machines, iSCSI, or a database living on the pool. We come back to that on the SLOG section below.

The other non-negotiable is the drives themselves. ZFS rebuilds a degraded pool by resilvering, a long sequential-and-random write storm across the surviving disks, and SMR drives stall catastrophically under exactly that load. We have watched an SMR resilver crawl for days where a CMR pool finished in hours. So only CMR and enterprise drives go in a ZFS pool, every time, and ECC memory backs the whole thing because ZFS trusts RAM to be correct. The platform decides which kind of ECC you buy, and that single distinction separates the consumer tiers from the server tier more than anything else on the parts list.

Build comparison: which ZFS server fits you

Spec4-bay starter8-bay mid tower24-bay rackmount
PlatformAM5, Ryzen 5 7600AM5, Ryzen 7 7700EPYC SP3 7302 (used)
ECC typeUDIMM (unbuffered)UDIMM (unbuffered)RDIMM (registered)
RAM32GB64GB128GB
Data bays4 (board SATA)8 (IT-mode HBA)24 (SAS expander)
Network2x 1GbE (10GbE optional)2x 10GbE onboard2x 10GbE onboard
Form factorCompact cubeMid tower4U rackmount
Price (excl. drives)~$875 to $1,170~$1,590 to $2,215~$1,610 to $2,375
Best forBackups, media, learningApps, VMs, the all-rounderBig pools, hot-swap, rack

Quiet 4-bay starter: a low-power ECC NAS for backups and media

Fractal Design Node 804 micro-ATX cube case used for a quiet 4-bay ZFS storage server
The starter build lives in a Fractal Node 804, a micro-ATX cube with room for eight to ten 3.5-inch drives. Image: Fractal Design.

This is a quiet box that draws very little power and sits in a cupboard holding your backups and a media library. It runs on a Ryzen 5 7600, a 65-watt chip with integrated graphics so the build needs no GPU, and an ASRock Rack board that puts ECC UDIMM and IPMI on a small consumer-priced platform. The boot mirror goes on the board’s two M.2 slots, which keeps all four SATA ports free for spinning disks. Build this if you want to learn ZFS on real hardware without a server budget.

Skip it if you already know you want more than four or five drives, or you need 10GbE on day one. The plain board ships with dual 1GbE, and going past four data drives means adding a SATA HBA. Both point you at the mid tower instead.

ComponentPickApprox price (Jun 2026)
CPUAMD Ryzen 5 7600 (65W, iGPU)$175-$216
MotherboardASRock Rack B650D4U (micro-ATX, ECC UDIMM, IPMI) Newegg/Best Buy$300-$420
RAMKingston 16GB DDR5-4800 ECC UDIMM x2 (32GB)$120-$160
Boot mirrorWD Red SN700 250GB NVMe x2$90-$110
CaseFractal Design Node 804 (micro-ATX cube)$110-$160
PSUCorsair RM550x (550W, 80+ Gold)$80-$100
Example HDD (separate)WD Red Plus 4TB (CMR)$100-$120/drive

Two things on this build are worth a sentence. The ASRock Rack board is the part that makes ECC work here, because the 7600 supports ECC only when the board enables it, and this one does, with the type confirmed as unbuffered UDIMM on both the board spec page and the Kingston datasheet. And the plain B650D4U has dual 1GbE, not 10GbE. If you want 10GbE in this footprint, the B650D4U-2L2T/BCM variant (ASIN B0BXRFHDQT) adds onboard dual 10GbE for roughly $430 to $480, which pushes the build to the top of its budget but saves a PCIe slot. A four-drive RAIDZ1 of 4TB CMR disks adds about $400 to $480 on top of the figures above.

Eight-bay mid tower: 64GB ECC, an IT-mode HBA, and 10GbE

Fractal Design Define 7 solid mid tower case for an 8-bay TrueNAS SCALE ZFS server build
The mid build uses a Fractal Define 7, which holds eight 3.5-inch drives with one extra tray kit. Image: Fractal Design.

This is the build most homelabbers should buy. It is an eight-bay box with 64GB of ECC, an IT-mode HBA feeding raw disks to ZFS, and onboard dual 10GbE so the network keeps up with the pool. The board is the centerpiece: an ASRock Rack server board that lists ECC UDIMM support on its own spec sheet, carries IPMI for headless management, and folds the 10GbE in so there is no separate NIC to buy or fit. Run apps, containers, and a few VMs straight off the pool, not just file shares.

Skip it if four bays is genuinely all you will ever need, in which case the starter saves you money, or if you are heading for 100TB and a rack, where the 24-bay build is the honest answer. For the broad middle, this is the one.

ComponentPickApprox price (Jun 2026)
CPUAMD Ryzen 7 7700 (8C/16T, 65W)$270-$310
MotherboardASRock Rack B650D4U-2L2T/BCM (ECC UDIMM, IPMI, 2x 10GbE)$400-$480
RAMKingston 64GB (2x32GB) DDR5-5600 ECC UDIMM Newegg$480-$900
HBA (IT mode)LSI 9300-8i (SAS3008, pre-flashed IT)$80-$170
NetworkOnboard dual 10GbE (none to buy)$0
Boot mirrorSamsung 870 EVO 250GB x2$70-$100
SLOG (optional, PLP)Intel Optane P1600X 118GB used market$120-$260
CaseFractal Design Define 7 + tray kit$195-$225
PSUSeasonic FOCUS GX-650 (650W, 80+ Gold)$95-$130
Example HDD (separate)WD Red Plus 8TB (CMR)$160-$200/drive

Where this build’s cost falls or rises is the memory. At 2025 prices the 64GB ECC kit was roughly $250 to $400; the 2026 shortage has pushed it as high as $900, and it is still climbing. If that stings, populate one 32GB stick now and add the second when prices ease, since ZFS is happy with 32GB on a pool this size and the second stick is a drop-in later. The HBA needs a word too: buy a genuine LSI, Broadcom, or Supermicro card flashed to IT-mode firmware, not a cheap clone, because the counterfeit SAS3008 chips on the bargain listings are a known source of dropped drives. Cable it with two SFF-8643 to four-SATA forward-breakout cables to reach eight disks. The Define 7 ships with six trays; one inexpensive tray kit takes it to eight.

Rackmount beast: used EPYC and a 24-bay hot-swap chassis

Supermicro CSE-846 24-bay 4U hot-swap chassis for a used-EPYC rackmount ZFS storage server
The 24-bay build centers on a used Supermicro CSE-846 chassis with a single SAS3 expander backplane. Image: Supermicro chassis (CSE-846).

This is the build for someone who already knows they want a big pool and a rack, and who is comfortable buying used server gear. The platform is a second-hand AMD EPYC 7302 on an ASRock Rack ROMED8-2T, which brings 128 PCIe lanes, eight-channel registered ECC, and onboard dual 10GbE. The centerpiece is a used Supermicro CSE-846, a 4U chassis with 24 hot-swap bays and a single SAS3 expander backplane, so one cable from one HBA drives all 24 disks with staggered spin-up. Where this falls short is noise and power: it is a rackmount box with screaming fans and a three-figure idle draw, not something for a living room.

Skip it if you are not ready to source parts from eBay and match an HBA to a backplane, or if quiet matters. The mid tower does almost everything this does, quietly, up to eight drives.

ComponentPickApprox price (Jun 2026)
CPUAMD EPYC 7302 (16C/32T, SP3) used/eBay$120-$200
MotherboardASRock Rack ROMED8-2T/BCM (onboard dual 10GbE)$650-$800
ECC RAM4x Samsung 32GB DDR4-2933 RDIMM (128GB) used/eBay$280-$380
HBA (IT mode)LSI 9305-16i, or 9305-8i with the expander chassis used/eBay$70-$135
Chassis + PSUSupermicro CSE-846 24-bay + SAS3 expander + dual PSU used/eBay$300-$500
NetworkOnboard dual 10GbE (Broadcom or Intel, by variant)$0
Boot mirrorSamsung PM883 240GB x2 (enterprise SATA, PLP)$100-$220
SLOG (optional)Intel Optane P1600X 118GB$90-$140
Example HDD (separate)Seagate Exos X20 20TB (CMR)$280-$400/drive

The one detail that trips people on this tier is matching the HBA to the chassis. With the CSE-846’s single-expander backplane, one SFF-8643 link feeds all 24 bays, so an eight-port 9305-8i is enough and cheaper than the 16-port card. You only need the 16-port 9305-16i for a direct-attach chassis with no backplane, where every port has to be cabled. Two more notes: the ECC here is registered RDIMM, not the unbuffered UDIMM of the smaller builds, because EPYC SP3 requires it, so do not buy the wrong kind. And watch for vendor-locked EPYC chips on used listings; buy one explicitly marked unlocked. The chassis usually ships with dual redundant 80+ Platinum supplies, and for a fully loaded 24-bay pool the 1280-watt pair is the safer choice over the 920-watt. One board note: the base ROMED8-2T carries Intel X550 10GbE, while the readily buyable Amazon listing is the ROMED8-2T/BCM variant with a Broadcom BCM57416. Both are supported by TrueNAS SCALE, so buy whichever is in stock and just confirm which NIC the listing ships.

Pick CMR drives, never SMR

This is the rule that matters more than any board or CPU choice. ZFS resilvers a degraded pool with a sustained write storm, and shingled (SMR) drives stall under that load badly enough to drag a resilver from hours into days, sometimes long enough that a second drive fails first. Only CMR and enterprise drives belong in a ZFS pool. WD Red Plus and Red Pro are CMR; the bare WD Red at small capacities is SMR and is the classic trap. Seagate IronWolf Pro and Exos are CMR. We cover the specifics, including how to confirm a model’s recording technology before you buy, in the CMR versus SMR explainer and the wider NAS hard drive guide. Match the drives to the build above and you will not be the person posting a frozen resilver to a forum at 3am.

ECC RAM: UDIMM on consumer, RDIMM on server

ZFS assumes the memory holding your data is correct, which is why ECC is strongly recommended for any pool you care about. The catch that bites builders is that the two ECC form factors are not interchangeable, and the platform dictates which one you buy. Consumer AM5, the starter and mid builds here, takes unbuffered ECC, called UDIMM. Server EPYC and Xeon, the rackmount build, takes registered ECC, called RDIMM. Putting RDIMM in an AM5 board, or UDIMM in an EPYC board, simply will not post. So the rule is the platform decides: a Ryzen build means ECC UDIMM, an EPYC build means ECC RDIMM, and you never cross the two. As for capacity, 1GB of RAM per usable TB is the old rule of thumb, but for a home pool that is conservative; 32GB comfortably runs a small pool, 64GB suits an apps-and-VMs box, and you only need 128GB once the pool is large or you lean hard on deduplication.

Add a SLOG only if your writes are synchronous

A separate log device, the SLOG, is the most misunderstood part of a ZFS build. It does not cache reads, it does not speed up bulk file copies, and on the wrong workload it sits idle. What it does is absorb the ZFS intent log for synchronous writes, the ones where the client waits for confirmation that data is on stable storage before it continues. Our lab numbers put hard figures on that: the roughly 160x throughput gap between sync=standard and sync=always is exactly the cost a PLP-backed SLOG buys back, and only for sync writes.

That means a SLOG is worth fitting if you serve NFS datastores to a hypervisor, run iSCSI, or host a database on the pool. If your NAS mostly stores files over SMB, those writes are asynchronous and a SLOG changes nothing, so skip it and spend the money on drives or RAM. When you do add one, it must have power-loss protection, because a log device that loses in-flight writes on a power cut defeats its own purpose. Intel Optane was the favourite here for its low latency, and where Optane is now hard to find, a used enterprise NVMe or SATA SSD with explicit PLP is the substitute. The same power-loss-protection thinking is why the boot and special devices on the bigger builds use enterprise SSDs, and it pairs with a good UPS, which we cover in the homelab UPS guide.

Lay out the ZFS pool before you install

Decide the vdev layout before you push a single drive into a bay, because in ZFS you cannot remove a vdev from a pool once it is there, and the layout sets your fault tolerance for the life of the build. For a four-drive starter, a single RAIDZ1 vdev survives one drive failure and gives you three drives of usable space. For eight drives, RAIDZ2 is the standard call, surviving any two failures, which matters because the second failure often happens during the resilver of the first. Large pools on the 24-bay build are usually built from several RAIDZ2 vdevs of six to eight drives each rather than one enormous vdev, which keeps resilver times sane and IOPS reasonable.

Keep the boot devices off the data pool. Every build here mirrors the operating system onto two small SSDs that are separate from the spinning disks, so the pool is purely data and the OS can be rebuilt without touching it. On the rackmount build those boot SSDs are enterprise SATA with PLP; on the smaller builds they are NVMe in the board’s M.2 slots, which is also why the starter keeps all four SATA ports free for HDDs. If you are weighing NVMe against SATA for the supporting devices, the NVMe versus SATA comparison has the latency numbers.

Install TrueNAS SCALE and create the pool

TrueNAS SCALE installs from a USB stick onto the boot mirror, detects both SSDs, and lets you mirror the install across them during setup. Once it boots, the pool is built in the web UI under Storage, but the same result is one command at the shell. Create a RAIDZ2 pool named tank from eight disks like this:

sudo zpool create -o ashift=12 tank raidz2 /dev/sd{b,c,d,e,f,g,h,i}

The ashift=12 forces 4K sectors, which is correct for every modern drive and cannot be changed later. Confirm the layout and health before you put data on it:

zpool status tank

A healthy RAIDZ2 pool reports every disk as ONLINE with no errors:

  pool: tank
 state: ONLINE
config:
        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          raidz2-0  ONLINE       0     0     0
            sdb     ONLINE       0     0     0
            sdc     ONLINE       0     0     0
            sdd     ONLINE       0     0     0
            sde     ONLINE       0     0     0
            sdf     ONLINE       0     0     0
            sdg     ONLINE       0     0     0
            sdh     ONLINE       0     0     0
            sdi     ONLINE       0     0     0
errors: No known data errors

From there the UI handles datasets, SMB and NFS shares, snapshots, and scrub schedules. Set a monthly scrub and enable SMART tests so ZFS surfaces a failing drive before it takes the pool with it. If you are still deciding between rolling your own and a turnkey approach, the TrueNAS versus Unraid comparison weighs the two operating systems, and the home NAS roundup covers the prebuilt boxes if a kit is not your thing.

The mistakes that sink first-time ZFS builds

A handful of errors account for most of the unhappy NAS threads, and every one of them is avoidable at the parts-list stage. Putting SMR drives in a pool is the worst, because it only shows up when a drive fails and the resilver will not finish. Buying a RAID card instead of an IT-mode HBA is next; ZFS wants raw disks, and a RAID controller hiding the drives behind its own logic blinds ZFS to the very errors it exists to catch. Mixing ECC types, RDIMM in a consumer board or UDIMM in a server board, wastes money on parts that will not post. Undersizing the power supply so eight or twenty drives cannot spin up together is a quieter failure that shows up as random boot problems. And adding a SLOG to an SMB-only box spends money for zero benefit. Match the parts to one of the three builds above and you sidestep all of them.

The network is the last thing people underspend. A pool that can sustain several hundred MB/s is wasted behind a single 1GbE link, which caps you at about 110 MB/s. The mid and rackmount builds put 10GbE on the board for exactly this reason, and the 10GbE switch guide covers the other half of that link.

Which build should you actually buy?

Strip away the parts lists and the choice comes down to three honest questions.

  • Do you need four bays or fewer, want it quiet, and are learning ZFS? Build the Node 804 starter. It is the cheapest way onto real ECC hardware, and it will happily back up your machines and serve a media library for years.
  • Do you want one box that stores files and runs apps and VMs, with room to grow to eight drives? Build the eight-bay Define 7 tower. It is the build most people should buy, and the 10GbE and IT-mode HBA mean you will not rebuild it in a year.
  • Do you already know you want 100TB-plus, have a rack, and are comfortable on the used market? Build the 24-bay rackmount. Nothing else gets you that many hot-swap bays per dollar, as long as you can live with the noise.

When you are unsure between two tiers, size for the drives you will own in three years, not today. Empty bays are cheap to leave open and expensive to add later, and a ZFS pool you sized correctly the first time is one you never have to tear down and rebuild. If you would rather start from the storage media, the server SSD guide and the NAS drive guide pair with any of these three builds.

Keep reading

Configure Samba File Share on Debian 13 / 12 Debian Configure Samba File Share on Debian 13 / 12 Backup and Restore Linux Systems with Timeshift Debian Backup and Restore Linux Systems with Timeshift Install and Configure Samba Share on Windows 11 Networking Install and Configure Samba Share on Windows 11 Best 2.5GbE and 10GbE Managed Switch for a Homelab Networking Best 2.5GbE and 10GbE Managed Switch for a Homelab How Much RAM Do You Need for Proxmox and a Homelab Proxmox How Much RAM Do You Need for Proxmox and a Homelab Configure NFS Filesystem as OpenNebula Datastores Cloud Configure NFS Filesystem as OpenNebula Datastores

Leave a Comment

Press ESC to close