In the digital age, managing and securing your data at home is becoming increasingly important. This year, I embarked on a project to build my own home storage server, a 32 TB system designed to house both personal and business data, leveraging the flexibility of open-source software.
The total investment for this project was $1,263, comprising $531 for the server components and $732 for four high-capacity hard drives. While the cost is comparable to ready-made, off-the-shelf storage servers, the custom-built solution offers enhanced power and adaptability tailored to specific needs.
This article details my journey through the component selection process, highlights the errors encountered, and provides recommendations for anyone considering building their own Nas Server For Home.
All components for the home NAS server project, ready for assembly.
The completed DIY NAS server, a powerful and customizable home storage solution.
For those who prefer visual learning, a video walkthrough of this build is available on YouTube.
Understanding the Need for a Home NAS Server
Why a NAS Server for Home Use?
NAS, or Network-Attached Storage, is fundamentally a centralized server dedicated to storing data and making it accessible across your home network. Unlike direct-attached storage, a NAS server operates independently, providing a shared repository for all your devices.
But why dedicate an entire server just for storage? Modern homes are increasingly data-intensive. We accumulate photos, videos, documents, and media libraries. Having a nas server for home offers several key advantages:
- Data Centralization: Consolidate all your files in one location, simplifying backup and access.
- Simplified Data Migration: Upgrading personal computers becomes seamless as your data remains on the NAS, eliminating complex migration processes.
- Cross-Device File Sharing: Easily share files between computers, laptops, smart TVs, and mobile devices within your household.
- Data Hoarding Needs: For users with extensive digital libraries, like myself, a NAS provides the necessary capacity to store everything from digital photos to ripped DVDs and Blu-rays. My personal data footprint currently stands at 8.5 TB and continues to grow.
Physical media collection, illustrating the demand for large storage capacities in a home server.
What is a Homelab?
The term “homelab” has gained popularity in recent years, referring to a home-based environment for experimenting with IT hardware and software typically found in professional settings like offices or data centers. A homelab serves as a sandbox for skill development, technological exploration, and hands-on learning. Building a nas server for home often starts within a homelab context.
Should You Build Your Own NAS Server for Home?
If you are new to homelabs or lack experience in PC building, building your own NAS might not be the best starting point. Off-the-shelf NAS solutions are available that offer user-friendly interfaces and simpler setup procedures.
Prior to this DIY build, I relied on a 4-disk Synology DS412+ for seven years and was thoroughly satisfied with its performance. Synology NAS devices are excellent entry points into network storage, offering a balance of ease of use and robust functionality.
My trusted Synology DS412+, a user-friendly NAS server that served reliably for seven years.
However, a critical incident with my Synology – a boot failure accompanied by ominous clicking noises – highlighted the risks of vendor lock-in and the limitations of proprietary systems. Synology devices are not designed for user repair, and data accessibility can be challenging without another Synology system, especially if using their proprietary storage format (though recovery is possible from non-Synology systems as pointed out by a Hacker News commenter).
This experience motivated me to transition to TrueNAS, an open-source solution that provides greater control and avoids vendor lock-in.
Exploring TrueNAS and ZFS for Home NAS
TrueNAS is a leading open-source operating system specifically designed for nas server for home and enterprise storage solutions. With nearly two decades of development behind it, TrueNAS offers reliability and a robust feature set.
The TrueNAS logo, symbolizing open-source and robust NAS server software.
TrueNAS leverages ZFS, a powerful filesystem engineered for storage servers. Unlike traditional filesystems, ZFS integrates volume management and filesystem functionalities, offering superior data integrity and performance.
Key features of ZFS that are beneficial for a nas server for home include:
- Storage Pooling: Combines multiple physical disks into a single, manageable storage pool.
- Data Integrity: Automatically detects and repairs data corruption, ensuring data reliability.
- Snapshots: Creates point-in-time copies of your data, similar to system restore points, for easy recovery.
- Data Protection: Offers optional data encryption and compression to enhance security and efficiency.
Having no prior experience with ZFS, this project was an exciting opportunity to explore its capabilities firsthand.
Planning Your Home NAS Server Storage
Estimating Storage Needs for Your Home NAS
When planning your nas server for home, accurately estimating your storage requirements is crucial. My approach mirrors my previous NAS setup: start with current needs in mind but with room for future expansion. For this build, I targeted an initial usable storage of 20 TB, with scalability up to 30 TB by adding disks later.
While ZFS initially didn’t support adding drives to an existing pool, this feature is now available in newer ZFS versions, making future upgrades more flexible.
Choosing Disk Size and Quantity for Your Home NAS
A key decision in building a nas server for home is whether to use many smaller disks or fewer larger disks. ZFS uses redundancy to protect against drive failures, which affects usable capacity.
ZFS pools storage from disks, and efficiency increases with more disks. For instance, two 10 TB drives yield only 10 TB usable space, whereas five 4 TB drives provide 14 TB, a 40% increase in usable space for the same total raw capacity.
While smaller drives are often cheaper per TB, larger drives reduce operational costs like electricity and physical footprint. For my nas server for home, prioritizing space efficiency led me to choose fewer, larger capacity drives.
RAID Configuration: raidz1, raidz2, or raidz3 for Home NAS?
ZFS offers different RAID levels, known as raidz1, raidz2, and raidz3, each providing varying degrees of redundancy. Raidz1 tolerates one drive failure, raidz2 two, and raidz3 three. Higher redundancy comes at the cost of usable storage.
Using five 4 TB drives as an example:
ZFS Type | Usable Storage | % of Total Capacity |
---|---|---|
raidz1 | 15.4 TB | 77.2% |
raidz2 | 11.4 TB | 57.2% |
raidz3 | 7.7 TB | 38.6% |
For my nas server for home build, I opted for raidz1. Given the relatively small number of disks, the risk of simultaneous failures is low. It’s important to remember that RAID is not a backup. ZFS protects against drive failure, but not against other data loss scenarios like accidental deletion or malware. For comprehensive data protection, a robust backup strategy, like using restic for encrypted cloud backups, is essential.
The decision between raidz1, raidz2, or raidz3 depends on the number of drives and risk tolerance. For larger disk arrays, raidz2 or raidz3 might be more prudent.
Mitigating Concurrent Disk Failures in Your Home NAS
While the probability of two disks failing simultaneously might seem low, drives from the same batch, model, and workload are not statistically independent. The stress of rebuilding a ZFS pool after a drive failure can also increase the risk of another drive failing.
To reduce the likelihood of concurrent failures in my nas server for home, I took the following steps:
- Mixed Drive Models: Chose different models from different manufacturers.
- Vendor Diversity: Purchased drives from different vendors to minimize the chance of getting disks from the same manufacturing batch.
These measures, while not guaranteed, add an extra layer of protection without significantly increasing costs.
Purchasing drives from diverse vendors to reduce the risk of same-batch failures in a home NAS.
Component Selection for the Home NAS Server
Motherboard Choice for a Home NAS
Form factor was a primary consideration. Inspired by the compact size of my Synology DS412+, I decided to use a mini-ITX motherboard for this nas server for home build.
I selected the ASUS Prime A320I-K for several reasons:
- Four SATA Ports: Sufficient for connecting four hard drives directly.
- Integrated Graphics: Supports Radeon graphics, eliminating the need for a dedicated GPU.
- Affordability: Priced at a reasonable $98.
The ASUS Prime A320I-K, a compact and affordable motherboard for a home NAS server.
Warning: In retrospect, this motherboard choice has some drawbacks, discussed later in this article.
I also considered the B450 chipset motherboards, but the higher price didn’t justify the marginal benefits for a nas server for home application, primarily overclocking features which are not needed for a NAS.
CPU Selection for a Home NAS
For a nas server for home, CPU demands are relatively low, particularly with ZFS. Initial tests on a low-powered Dell OptiPlex mini PC confirmed minimal CPU usage with TrueNAS.
The key CPU requirement was integrated Radeon graphics to utilize the motherboard’s HDMI output, avoiding a separate graphics card.
The AMD Athlon 3000G, a cost-effective CPU with integrated graphics for a budget-friendly NAS.
The AMD Athlon 3000G was chosen for its value ($105), integrated Radeon graphics, and adequate performance benchmarks.
Case Selection for a Home NAS
For the server case, I again turned to Fractal Design, having previously used and admired their cases.
The Fractal Design Node 304 Black mini-ITX case was selected for its compact, cube-like design and six drive bays, providing both initial storage and future expansion capabilities.
The Fractal Design Node 304, a mini-ITX case offering a blend of style and functionality for a home NAS.
Data Disks for Home NAS Storage
With six drive bays in the chosen case, I decided to start with four 8 TB disks, providing 22.5 TB of usable storage in raidz1. Future expansion to five and six disks would increase usable storage to 30.9 TB and 37 TB, respectively.
For nas server for home use, 7200 RPM drives are sufficient, as network speeds typically become the bottleneck before disk speeds. Higher RPM drives offer no practical performance benefit in this context but increase noise and power consumption.
I initially considered Backblaze’s hard drive stats for reliability insights but opted for more cost-effective options, realizing that spending significantly more for marginally lower failure rates wasn’t justifiable for home use.
Crucially, I avoided Shingled Magnetic Recording (SMR) drives, which are known to perform poorly with ZFS. I ensured the selected drives used Conventional Magnetic Recording (CMR).
I chose a mix of Toshiba N300 and Seagate IronWolf 8 TB drives, both well-regarded in TrueNAS communities and priced competitively at $180-190 each.
Toshiba N300 and Seagate IronWolf 8TB drives, chosen for reliability and value in the home NAS build.
OS Disk for Home NAS
TrueNAS requires a dedicated OS disk, but its demands are minimal. A 2 GB minimum is specified, and OS disk activity is infrequent.
The Kingston A400 120GB M.2 SSD, an efficient and compact OS drive for TrueNAS.
The Kingston A400 120GB M.2 SSD was chosen for its incredibly low price ($32) and convenient, cable-free M.2 form factor.
Memory (RAM) for Home NAS
The “rule” of 1 GB RAM per TB of storage for ZFS is a myth, as clarified by ZFS developers. While RAM-intensive features like deduplication exist, ZFS performs well even with limited memory for basic nas server for home applications.
RAM selection involved:
- Checking the ASUS A320I-K motherboard compatibility list.
- Filtering for 32 GB or 64 GB kits using two sticks.
- Selecting trusted brands (Corsair, Crucial, etc.).
- Choosing options under $150.
This led to the CORSAIR Vengeance LPX 32GB (2 x 16GB) kit, priced at $128.
The CORSAIR Vengeance LPX 32GB RAM, offering a balance of capacity and price for a home NAS.
Power Supply Unit (PSU) for Home NAS
Power requirements for this system are modest, estimated at 218 W by PCPartPicker. A 300-400 W PSU would have been sufficient, but semi-modular options were limited at that wattage.
The EVGA 110-BQ-0500-K1 500W semi-modular PSU was selected.
The EVGA 500W PSU, providing ample power and semi-modular cable management for the NAS build.
90-Degree SATA Cables for Home NAS
Space constraints within the mini-ITX case necessitated the use of 90-degree SATA cables. Standard SATA cables would not fit due to the proximity of the motherboard SATA ports to the PSU.
90-degree SATA cables, crucial for cable management and connectivity in the compact NAS case.
Close-up of a 90-degree SATA cable, illustrating its necessity for fitting components in the mini-ITX case.
Components Intentionally Omitted from the Home NAS Build
Several components were intentionally left out to optimize cost, complexity, and space for this nas server for home project.
Graphics Card (GPU)
Integrated graphics from the chosen motherboard and CPU were sufficient, negating the need for a dedicated GPU, saving both space and cost.
Host Bus Adaptor (HBA)
While HBAs increase the number of supported disks, they add complexity, including firmware reflashing. For the initial build, the motherboard’s four SATA ports were adequate. An empty PCI slot was reserved for a future HBA if needed for expansion.
ECC RAM
Error-correcting code (ECC) RAM is often discussed for data integrity in NAS systems. However, for home use and budget considerations, standard consumer-grade RAM was deemed sufficient. ECC RAM was skipped to reduce cost and complexity.
SLOG Disk
A separate intent log (SLOG) SSD can improve write performance in ZFS. However, limited ports and drive bays made adding a SLOG impractical for this build. Prioritizing storage capacity expansion over marginal write speed improvements led to omitting the SLOG.
Parts List and Cost Breakdown for Home NAS
Category | Component | Paid |
---|---|---|
CPU | AMD Athlon 3000G | $105.13 |
Motherboard | ASUS Prime A320I-K* | $97.99 |
Graphics | None needed – motherboard has native graphics support | $0 |
Disk (OS) | Kingston A400 120GB | $31.90 |
Memory | CORSAIR Vengeance LPX 32GB CMK32GX4M2A2400C14 (2 x 16GB) | $127.99 |
Power | EVGA 110-BQ-0500-K1 500W 80+ Bronze Semi-Modular | $44.99 |
Case | Fractal Design Node 304 Black | $99.99 |
SATA cables | Silverstone Tek Ultra Thin Lateral 90 Degree SATA Cables (x2) | $22.30 |
Total (excl. disks) | $530.29 | |
Disk (Storage) | Toshiba N300 HDWG480XZSTA 8TB 7200 RPM (x2) | $372.79 |
Disk (Storage) | Seagate IronWolf 8TB NAS Hard Drive 7200 RPM (x2) | $359.98 |
Total | $1,263.06 |
* Note: The ASUS Prime A320I-K motherboard may require a BIOS update to be compatible with the AMD Athlon 3000G CPU.
Comparison with Off-the-Shelf NAS Solutions for Home
To contextualize the cost and capabilities, here’s a comparison with similarly priced off-the-shelf NAS products:
Product | 2022 Budget NAS | Synology DS920+ | QNAP TS-473A-8G-US |
---|---|---|---|
Disk Bays | 6 | 4 | 4 |
RAM | 32 GB | 4 GB | 4 GB |
Max RAM | 32 GB | 8 GB | 8 GB |
CPU Benchmark | 4479 | 3002 | 4588 |
Price (Diskless) | $530.29 | $549.99 | $549 |
While the DIY NAS cost is similar to off-the-shelf options, it offers significantly more RAM and avoids vendor lock-in, providing greater flexibility and control.
Home NAS Build Photo Gallery
Components unpacked and ready for the DIY NAS server build.
The motherboard securely mounted inside the compact Fractal Design Node 304 case.
M.2 SSD effortlessly installed, showcasing the clean and simple setup.
Power Supply Unit positioned within the case, ready for cable management.
Close view of 90-degree SATA cables, highlighting the tight fit and cable solution.
Internal components connected to the motherboard, awaiting the CPU fan installation.
The fully assembled and operational DIY NAS server, ready for home network deployment.
Building the Home NAS Server with TinyPilot
This build was facilitated by TinyPilot, a tool I developed for server management. The TinyPilot Voyager 2 was used, streamlining the build process by eliminating the need for physical peripherals.
TinyPilot Voyager 2 simplifying server management for the DIY NAS build.
Using Voyager 2, I could manage the entire installation process, from BIOS setup to OS installation, directly from a web browser, without connecting a keyboard, mouse, or monitor to the server itself.
TrueNAS installation initiated through TinyPilot, showcasing remote OS deployment.
One minor limitation encountered was BIOS upgrades, which currently require a USB drive for .CAP files, a feature planned for future TinyPilot enhancements.
Resolving BIOS Compatibility Issues
Initial power-on resulted in no video output, suggesting a potential BIOS incompatibility with the Athlon 3000G CPU on the ASUS Prime A320I-K motherboard. Despite ASUS listing BIOS version 2203 as compatible, the system failed to boot.
Borrowing a Ryzen 7 CPU and GPU from an older server allowed me to boot and access the BIOS.
BIOS screen displaying version 2203, encountered during troubleshooting of CPU compatibility.
Although the motherboard reported BIOS version 2203, an upgrade to the latest version 5862 was performed.
ASUS compatibility documentation, indicating BIOS version 2203 support for Athlon 3000G, which proved unreliable.
Even after the BIOS update, booting issues persisted until I realized the HDMI cable was mistakenly plugged into the DisplayPort output. The root cause remains ambiguous: user error, or inaccurate ASUS compatibility information. Regardless, the system eventually booted successfully with the Athlon 3000G after correcting the cable mistake and BIOS update.
Diagram illustrating the similar appearance of HDMI and DisplayPort, leading to potential connection errors.
Successful boot screen after resolving BIOS and connection issues, confirming system functionality.
Performance Benchmarks for the Home NAS Server
Benchmarking NAS performance proved challenging, lacking standardized tools for real-world network usage. A rudimentary benchmark was devised using robocopy
to measure read and write speeds between a desktop and the NAS, compared against the old Synology DS412+.
Performance peaked at around 111 MiB/s (931 Mbps), close to the 1 Gbps limit of the network hardware.
Read Performance
Unencrypted read performance benchmark, showing Synology slightly outperforming TrueNAS.
For unencrypted volumes, surprisingly, the older Synology DS412+ slightly outperformed the new TrueNAS build, being 31% faster in small file reads and 10% faster in large file reads.
Encrypted read performance benchmark, revealing TrueNAS significantly faster than Synology.
However, Synology’s performance drastically declined with encryption, dropping by 67-75%. TrueNAS showed no performance impact from encryption, outperforming Synology by 2.3x for small files and 3x for large files on encrypted volumes.
Write Performance
Unencrypted write performance benchmark, showing TrueNAS faster in small file writes.
For write performance, TrueNAS surpassed Synology even on unencrypted volumes, being 77% faster in small file writes. Large file write performance was comparable between both systems.
Encrypted write performance benchmark, highlighting TrueNAS as significantly faster than Synology.
Encryption again heavily impacted Synology’s write speeds. With encryption enabled, TrueNAS was 5.2x faster in small file writes and 3.2x faster in large file writes.
Power Consumption
Power consumption was measured using a Kill A Watt meter:
NAS Server | Idle Power | Load Power |
---|---|---|
Synology DS412+ | 38 W | 43 W |
2022 DIY NAS | 60 W | 67 W |
The new server consumes about 60% more power than the Synology, costing approximately $7.20 per month at $0.17/kWh. The 500W PSU, being oversized, might contribute to the higher idle power consumption.
Final Thoughts on the Home NAS Server Build
Motherboard Reflections
The ASUS Prime A320I-K motherboard had compatibility issues and a cumbersome BIOS update process. The BIOS update utility was unreliable, necessitating manual updates.
ASUS BIOS update discrepancies: EZ Flash utility versus website version availability.
The motherboard’s 32 GB RAM limit is also a potential future constraint.
Realtek Networking Driver Fix
The Realtek NIC on the motherboard exhibited instability under heavy load. A workaround, suggested by a reddit user, involves loading the official Realtek driver in TrueNAS:
-
Navigate to System > Tunables in the TrueNAS web UI.
-
Add these tunables:
Variable Value Type if_re_load
YES
loader if_re_name
/boot/modules/if_re.ko
loader
Case Disappointments
The Fractal Design Node 304 case, while aesthetically pleasing, proved less user-friendly than expected, with minimal documentation and unintuitive mechanisms. Mini-ITX form factor constraints might contribute to these issues.
CPU Performance
The AMD Athlon 3000G CPU is significantly overpowered for basic NAS functions, with CPU utilization consistently below 10%.
TrueNAS CPU usage graph, demonstrating minimal load and CPU overcapacity.
However, its integrated graphics capability was essential for avoiding a dedicated GPU, making it a cost-effective choice.
Data Disk Performance
The Toshiba N300 and Seagate IronWolf drives have performed reliably so far, with noise levels being minimal, noticeable only during intensive operations like benchmarking and file deletion.
PSU Efficiency Concerns
The 500W PSU may be contributing to higher idle power consumption due to inefficiency at low loads. A lower wattage PSU might improve efficiency.
OS Disk Performance
The Kingston A400 OS disk operates with minimal activity, indicating it is more than sufficient for TrueNAS OS needs.
TrueNAS OS disk I/O graph, illustrating minimal disk access and activity.
TrueNAS Usability
TrueNAS, while powerful, has a less user-friendly interface compared to Synology’s intuitive web UI.
Synology vs TrueNAS web dashboards, highlighting differences in user interface design and usability.
Basic tasks like volume creation and network sharing are less streamlined in TrueNAS. Installing third-party apps, like Plex, is also more complex compared to Synology’s straightforward plugin system. Despite usability challenges, the open-source nature and platform flexibility of TrueNAS remain compelling.
ZFS Feature Set
ZFS offers advanced features, but for basic nas server for home use, RAID functionality is the most immediately valuable. Features like snapshots are available but might be redundant if robust backup solutions like restic are already in place. Encrypted snapshots are a potentially useful feature for secure backups of sensitive data.
Overall Assessment of the Home NAS Build
Overall, the DIY NAS server is a successful project, providing valuable experience and a powerful, customizable storage solution. While a steeper learning curve exists compared to off-the-shelf NAS devices, the control and flexibility gained are significant. For users new to NAS, starting with a user-friendly system like Synology before venturing into DIY builds is advisable.
Video Guide
[Link to YouTube video (Placeholder)]
2.5-Year Update on the Home NAS Server
After 2.5 years of use (as of November 2024), the DIY nas server for home continues to be a valuable asset.
Continued Satisfaction
Despite missing the user-friendliness of Synology, the increased control offered by TrueNAS is appreciated.
Disk Failure Incident
One Toshiba N300 drive started clicking after 18 months. Although SMART tests showed no errors, it was proactively replaced with a Seagate IronWolf drive.
Rack-Mounted Chassis Upgrade
The NAS was migrated to a rack-mounted Sliger CX3701 10-bay server chassis after setting up a server rack. The chassis is recommended for users needing many drive bays and planning to use an HBA, but its mini-ITX limitation restricts PCI slot usage if graphics or 10 GbE networking is desired alongside many drives.
Transition to TrueNAS Scale
TrueNAS Scale (Debian-based) was adopted for its increased development focus and slightly improved Web UI. The transition was seamless, with a more comfortable Linux-based terminal environment.
10 Gbps Network Upgrade
A 10 Gbps fiber NIC was added to leverage a 10 Gbps network switch. Initial NIC compatibility issues with the motherboard were resolved by upgrading the motherboard. Configuring the 10 Gbps NIC in TrueNAS involved some complexity with IP address assignments and Kubernetes, eventually requiring disabling the onboard LAN in BIOS and reconfiguring static IP settings.
Motherboard Upgrade
The motherboard was upgraded to a Gigabyte B550I Aorus Pro AX to resolve 10 Gbps NIC compatibility. The Gigabyte motherboard offers several improvements over the ASUS Prime A320I-K, including better I/O shield, SATA port orientation, RAM and CPU slot design, and fan pin placement. Minor cons include a confusing M.2 slot and slower BIOS boot times.
Regret: Mini-ITX Form Factor Limitations
The primary regret is choosing a mini-ITX form factor, which limits expansion. The single PCI slot and typically four SATA ports on mini-ITX motherboards constrain future upgrades. For future builds, a motherboard with more SATA ports or multiple PCI slots and a larger case with 6-8 drive bays would be preferred for greater expandability.
Thanks to the Blogging for Devs Community for their valuable feedback on this article.