The classic Buy vs Build
There is no shortage of articles covering if you should buy your NAS or if you should build it. I’ll forego a lot of these other articles and break down the criteria that I established for my NAS.
- It must be made from Open Source Software
- It must support Copy On Write filesystems
- It must be a minimal maintenance burden (~ 2x a month is the benchmark)
- It should allow for future expansion
- It should be upgradeable to remain relevant
- It should focus only on storage, and do that one thing well
Now that we have some parameters I needed to do additional reading on what solution I would pick. The first option that I repeatedly ran into was UNRaid. It looked promising, but came with a price-tag attached. I’m not opposed to paying for good software (cough bitwig studio cough) but I also felt like the opportunity for something else was out there.
I kept an eye towards price points, future upgrade paths, and what maintenance over time would look like. Ultimately while BTRFS has a lower ram requirement, and is honestly a very strong contender at this point in the landscape of filesystems, I opted for a battle tested ZFS on its native kernel.
FreeNAS, despite the most recent CORRAL update and its churn in its own community due to them experimenting with interfaces, made the most promising first look to me. So I set off to build a system that would meet or exceed my expectations with what I had read about the ZFS filesystem.
My parts list primarily came from Amazon. Between the prime shipping, internet spelunking, and just flat out guessing on a few of the components - I came up with the following. Priced as I purchased in July of 2018.
|ASRock AB350 PRO4 ATX Motherboard||89.19||1||Amazon|
|MSI Nvidia GeForce GT 710 954MHZ Core 1 GB PCIE||41.99||1||Amazon|
|AMD Ryzen 5 1600||149.99||1||Amazon|
|Fractal Design R5 Gaming Case||126.76||1||Amazon|
|Crucial 8GB 288 Pin DDR ECC Ram||116.00||2||Amazon|
|Noctua NF-A14 PWM 140mm Fan||21.54||2||Amazon|
|HGST Deskstar Nas 3.5” 4TB 7200 RPM SATA||134.80||4||Amazon|
|Cable Matters 3-pack 90 Degree Right Angle SATA III||7.49||2||Amazon|
|Corsair CXX Series 450 Watt 80 Plus Bronze PSU||49.98||1||Amazon|
|Sandisk Ultra Fit 32 GB USB 3.0 Flash||9.80||2||Amazon|
|Corsair Ribbon SATA Cable Type 3||4.99||1||Corsair|
Before we go into price comparisons of this particular build and a Synology unit, lets cover some of the areas that you can alter in your own build if going for a budget conscience build.
You could shave off a few more dollars by using non ECC DDR4 ram (ddr3 non-ecc RAM is just fine for SOHO use, as stated by the IXSystems devs) and by taking that processor down to a Ryzen 3. The extra threads really are wasted under the current loads I’m putting on the system. Additionally there was no on-board video capability of this MSI mainboard. So I opted for the relatively inexpensive nvidia card. But as this is primarilly a headless system you can probably get away with a super cheap older gen PCIE graphics card.
Totals and comparison with a Plug and Play solution.
Total Cost as a Diskless unit: $772.56 USD
Total Cost including 16TB of disk: $1311.76 USD
Compare the diskless to an equivalent (but lower specced) Synology plug and play NAS.
See the:DS 916+ 4 bay 8GB RAM
Total price of Diskless synology: $1,045.00
My price savings over a plug and play nas: $272.44 - which would pay for almost two additional disks! Plus the Fractal case has a larger capacity to expand the disk drives with additional caddy mounts at a fraction of the Synology ESATA extension enclosure; Options for airflow. And ultimately its an all around more flexible solution.
Before I offend the Synology die-hards out there, Synology makes a great NAS if you dont really have the knowledge or desire to learn about storage servers. It’s about as plug and play as you can get. Backed by BTRFS, DSM which is a phaux desktop session in your browser, and prides itself in being a mini application server for your home or small office. This is clearly not me at this phase in the game of self hosting. It offers plenty of power but not what I’m looking for.
Some Assembly Required
Here’s where every geek will get excited. The assembly. I didn’t take too many snapshots during the build process, but I have to say the cable management of the Fractal R5 did not disappoint me. I am honestly considering transplanting my steambox guts into one of these things just because the cable management is so stellar.
Here’s the impressive(?) looking spread on the table.
And as an illustration of the cable management ports, here’s a during-build shot. Not pictured are the channels in the back of the case that allow for thick cabling pipelines and included velcro fasteners.
The total build took just over 2 hours with some dawdling while piecing it together but overall the size of the case made it extremely easy to work with. The best part was gutting the fractal fans in favor of the Noctua whisper quiet pushers. This was my first build with these funky tan colored fans, but they do an amazing job for how quiet they are.
Setup and Experience
The FreeNAS setup was straight foreward. If I’m going to impart any wisdom on the wider world of people following in the footsteps of build your own, my advice would be to take your burn-in test seriously, and do it more than once so you have a good feeling about the process.
I personally installed FreeNAS to the twin USB nubs plugged into the back, per the FreeNAS install guide recommendation. The system boots off of these USB keys and reaches a Ready State in under 90 seconds, thats including the 10 second boot count down that I haven’t tuned, and its internal POST during first power.
After first boot the 48 hour burn-in test began where I just let the system run at idle to ensure nothing was going to short out or fail right away. Once I hit the 48 hour mark, It was time to re-install (read above) and setup the drives.
I paired the 4 disks in a Zraid2 setup. This will allow me approx 6 TB of useable storage, and have a drive failure tolerance of 2 before the disks become useless. I figure that’s a good look for the critical data that needs to remain highly available, and give me a nice middle-of-the-road performance. This particular set of drives will warehouse:
- Important documents
things of that nature. Stuff that I’d like to have available should I need it, and have some real fault tolerance. Then I have another two disk pair that I had on-hand for my multimedia. This doesn’t need to be super HA and redundant as I can re-download all of this from Amazon or BandCamp. I opted for a 2TB Striped and Mirrored disk array. I expect failure on these drives sometime in the not so distant future, but I may fully replace them before it comes to that.
All the drives are Geli encrypted for peace-of-mind should I need to send the disks in for warranty repair/replacement. As the keys reside on the USB nubs and are safely backed up, this means I can be a little more lax about the paranoia on shippin the drives somewhere.
While I stated that I have one purpose for this appliance and that is to be a beefy storage rig. I have to admit that the NetData dashboard shipping by default with version 11 of FreeNAS is made of excellence. Thats one thing I’ll give it some leeway for.
Since I don’t have comments enabled and there’s zero metrics tracking on my blog (because I <3 you and respect your privacy) let me know if this post has given you some food for thought over on Mastodon.
I’ll try to do an update post on the performance of the rig at the six month mark and cover any fun schenanigans I’ve experienced with FreeNAS but so far it has met and exceeded my expectations at every turn.