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:
Now, all the devices don’t need to have a lot of storage. Which means we can save A LOT of money on devices.
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
Component | Model | Price AUD | Price USD |
---|---|---|---|
Mobo & CPU | BKHD motherboard with integrated Intel N100 chip | A$195.00 | $127.00 |
Case/Chassis | 2nd hand Phanteks Eclipse P200A | A$20.00 | $13.00 |
HDD bracket | Phankets stackable 3.5”/2.5” HDD bracket | A$34.00 | $22.00 |
RAM x1 | CORSAIR Vengeance DDR5 SODIMM 16GB (1x16GB) DDR5 4800MHz C40 | A$67.00 | $44.00 |
NVMe SSD | Silicon Power P34A60 1TB NVMe PCIe SSD | A$71.00 | $46.70 |
PSU | Cooler Master MWE Gold 550 - V2 Full Modular | A$129.00 | $85.00 |
HDD x2 | Seagate EXOS X16 16TB ST16000NM001G | A$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!).
Image credit: backblaze
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:
Put them in:
And proceed to install the 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! ;)