Preface
This article is a repost of my original piece on Zhihu, published on March 17, 2022.
My original NAS ran Xpenology. I encountered an issue where the DSM web interface would completely freeze during heavy I/O operations across two hard drives. I decided to switch to TrueNAS (partly to create a new project for myself). Given that TrueNAS relies on the ZFS file system, which benefits significantly from ECC (Error Correction Code) memory to prevent “silent data corruption,” I realized my existing Athlon 200GE and A320 motherboard were incompatible. Thus, the upgrade began.
Specifications
Pre-Upgrade Configuration
| Component | Model |
|---|---|
| Motherboard | Colorful A320M-K “Broken Sword” |
| CPU | AMD Athlon 200GE |
| Memory | ADATA DDR4 2133 16GB (8GB * 2) |
| Boot Drive | SanDisk Cruzer Fit 32GB |
| PSU | Segotep GP600 500W (Full Modular) |
| Chassis | Invasion X-1 (6-Bay) |
| NIC (10G) | Mellanox ConnectX-3 10GSFP*2 PCIx4 |
Post-Upgrade Configuration
| Component | Model |
|---|---|
| Motherboard | ASRock B550M-Pro4 |
| CPU | AMD Athlon 200GE |
| Memory | Samsung DDR4 2133 ECC 32GB (16GB * 2) |
| Boot Drive | Intel Optane M10 16GB |
| PSU | Supermicro 480W Platinum (Modified 1U PSU) |
| Chassis | Tuopulong NAS-08 (8-Bay, 2022 Revised Edition) |
| NIC (10G) | Mellanox ConnectX-3 Dual-Port 10G SFP+ (PCIe x8) |
Component Selection Logic
About TrueNAS

Selecting the right hardware for TrueNAS is critical. ZFS uses system RAM as a high-speed cache (ARC), making ECC memory essential for mission-critical data integrity. Finding a consumer-grade motherboard that actually supports ECC proved difficult.

Many manufacturers claim ECC support, but it often only means they can “accept” ECC modules in “non-ECC mode.” After extensive research, ASRock and ASUS emerged as the best options for true ECC compatibility on consumer platforms. I chose the ASRock B550M-Pro4 because it supports unbuffered ECC memory, offers 6 native SATA ports, dual M.2 slots, and two PCIe x16 slots (one being PCIe 4.0). I sourced a used unit for around 3xx RMB, as new units were significantly more expensive.

Regarding the CPU: the standard Athlon 200GE does not support ECC. However, the PRO series (OEM units) does. I opted for the Athlon Gold Pro 3150G (4C/4T). While these are technically OEM-only parts, they are readily available as “pulls” on the second-hand market.

Old Hardware

New Hardware
-
Crucial 1TB Cache SSD, Intel Optane 16GB Boot Drive, and the AMD Athlon Gold Pro 3150G.

-
Micron DDR4 2133MHz 16GB ECC Memory.

-
Motherboard I/O Shield and ports.

-
Verification: AIDA64 confirming that ECC is active and functional.

Storage Configuration
I initially configured a RAID-Z array using three 4TB drives, plus one standalone drive. A Crucial 1TB SSD serves as the L2ARC (Cache).
- Array Drives: 2x Western Digital (WD40PURX) and 1x Seagate (ST4000VX000). These are all CMR (Conventional Magnetic Recording) drives.
- Standalone Drive: Toshiba P300 (SMR - Shingled Magnetic Recording). Due to the performance penalties of SMR in RAID environments, this drive is relegated to running PT (Private Tracker) downloads individually. Pro-Tip: Avoid using drives from the exact same production batch in a single array. If there is a manufacturing defect, they might fail simultaneously—a true “data crematorium.”

TrueNAS Environment
Currently, I am running one CentOS VM and about 8-10 Docker containers. Even with 16GB of RAM, the system is nearly at capacity. I am waiting for the second 16GB module to arrive, which should provide much-needed breathing room for the ZFS ARC.

To be continued…