Building a NAS / Home Server

10 Oct, 2024 (updated: 04 Nov, 2024)
773 words | 4 min to read | 2 hr, 19 min to write
Hey there! I want to be upfront with you — some of the links on this page are affiliate links. This means that if you click on them and make a purchase, I may earn a small commission, at no extra cost to you. Rest assured, I only recommend products or services I truly believe in and that I think will bring value to you.

A lot in our lives is digital. And a lot of what we consume is also digital. In most cases we rely on third-party services to store and manage our digital assets. Not only we allow our data to be stored on someone else’s servers, but we also pay for it. And if you are a techie, you probably know that you can do it yourself and go self-hosted. This is what I did and the turning point was when my wife declared she now needs a 1Tb version of iPhone and a paid iCloud subscription, otherwise she’d must delete some of the valuable family photos. And then it struck me, - why do we need to carry a storage with us when we can have a NAS (network-attached storage) at home and let our devices be thin clients?

Something like this:

nas

Now, all the devices don’t need to have a lot of storage. Which means we can save A LOT of money on devices.

Apple iPhone storage cost is almost $1 per Gb
If I bought a 256Gb iPhone instead of a 1Tb version, I’d save enough to get 2 16Tb Seagate EXOS X16 drives.

So this was a no-brainer for for me to build a NAS. Requirements were simple:

  • CHEAP
  • Small form factor (FSS)
  • At least 10Tb of storage (for a start)
  • Redundancy (zfs-controlled RAID1/5/6)
  • Multi-core CPU with low power consumption and passive cooling
  • At least 16Gb of RAM (dockerised apps + zfs)

Looking for components

Since I wanted to build my NAS cheap, I was considering getting several options:

  • second-hand Intel XEON powerhouse of a CPU with ECC + finding the right mobo
  • second-hand dell multiplex worsktation (or similar)
  • new AMD CPU with ECC support
  • new mobo with integrated modern (gen11/12) intel CPU

Ultimately I decided to go with the last option. I’m not going to lie, this decision was highly influenced by Wolfgang’s video:

I will not tire you with the details of my search, but I ended up buying this:

The setup

ComponentModelPrice AUDPrice USD
Mobo & CPUBKHD motherboard with integrated Intel N100 chipA$195.00$127.00
Case/Chassis2nd hand Phanteks Eclipse P200AA$20.00$13.00
HDD bracketPhankets stackable 3.5”/2.5” HDD bracketA$34.00$22.00
RAM x1CORSAIR Vengeance DDR5 SODIMM 16GB (1x16GB) DDR5 4800MHz C40A$67.00$44.00
NVMe SSDSilicon Power P34A60 1TB NVMe PCIe SSDA$71.00$46.70
PSUCooler Master MWE Gold 550 - V2 Full ModularA$129.00$85.00
HDD x2Seagate EXOS X16 16TB ST16000NM001GA$546.00$360.00

Total damage to my wallet amount paid: A$516.00 (~$340.00 USD) without HDDs, and A$1,062.00 (~$700.00 USD) with the HDDs.

Disks

I got 2 Seagate EXOS X16 16TB ST16000NM001G disks for A$273 (~$180 USD) each, which is as cheap as it can get for new disks. Seagate HDDs doesn’t have flawless reputation, commonly people prefer NAS-grade drives from WD or HGST, but this specific models seems rock-solid with only 0.78% annual fails as per backblaze statistics (and they do have a HUGE array of these deployed!).

HDD Lifetime Failure Rates

Image credit: backblaze

Can’t I use consumer-grade HDDs for my NAS?

Technically, you can. But mind that consumer-grade HDDs aren’t designed for 24/7 IO loads and constant use can wear them down faster, leading to higher failure rates. This increases the risk of data loss, especially in RAID arrays where failed drives can compromise redundancy. Another thing about these is they aren’t designed to be used in arrays, I mean physically. They aren’t vibration-resistant, which may lead to performance degradation and result in lower throughput and possible mechanical wear, further shortening drive life.

Enterprise-grade HDDs have a downside of being noisy, but they are generally cheaper compared to NAS-specific drives. So if you have your NAS in the same room you sleep in, get the NAS drives, otherwise using enterprise drives is not only perfectly fine, but actually adviseable because they typically have higher MTBF (mean time between failures).

Assembly

Assembly is pretty straight-forward. Just take these:

components

Put them in:

installing hardware

And proceed to install the software:

installing software

This is all I have for choosing components and putting together the server, I’ll talk about choosing the OS in the next one, so I hope to see you there! ;)

This article is part of the Let's self-host! series:
  1. Building a NAS / Home Server
  2. Choosing Home Server OS and setting up ansible-nas
  3. Redundancy with ZFS
  4. Self-hosting apps using ansible-nas on DIY home server