The first thing I wanted to do was verify that my assumption of a price premium to turn-key solutions was correct. I hit newegg.com and put together a list of hardware based on some recommended FreeNAS builds:
Not too bad, the whole shebang for about $385 and I get an SSD for the OS. I realized at this point that I have a perfectly good Lian-li PC92 case in the basement with 4 external drive bays, and 7 internals. That sounded pretty good allowing me a grand total of 11 drives. Since I now had a larger case, I was able to use a larger motherboard with more SATA ports. The Gigabyte GA-Z77X-UD5H fit the bill nicely. The other part I wanted purely for cosmetic value and simplicity of maintenance was a few drive docks. I decided on the IcyDock 3 in 2 which brings me up to 13 possible drive bays (the motherboard only supports 9 though). The Chenbro case included a power supply so I needed to spend $50 for a good power supply to reuse my case. This raised the price of the system to $427 but gave me the docks.
by Icy Dock$66.12
24 Used & New from $64.26
Once all of the part arrived, the assembly went well. Everything connected and fit like it should. I had to do some digging to find the right length and head-angle of sata cables to get everything in place. I lo-o-ove the look of the ICYDOCK and it made identifying drives far simpler. I brought over 4 drives from the HTPC including a WD 640GB, 2 Hitachi 2TB's that I stripped out of an external enclosure and a WD 1TB 2.5". I added 2 WD Red 3TB model WD30EFRX-68A for data and the 30GB SSD mSATA for the OS.
This is where the real research comes in. There are a lot of different ways to do network attached storage. After a few nights of reading on my iPad, I shortlisted the following:
|Ubuntu + SnapRAID + mhddfs|
I was back on forth on this for a few weeks before I finally settled on the Ubuntu option. I installed Ubuntu 12.04LTS which was really fast on the SSD then added the SnapRAID and mhddfs package per these guides:
- Install SnapRAID - SnapRAID allows user-controlled parity snapshots to be created as long as there is 1 extra drive that is as large as the largest drive in the system. Make sure to follow the Scheduling SnapRAID section at the end, the script is fantastic.
- SnapRAID on Ubuntu 12.04
- mhddfs (unfortunately the original guide is no longer available) - This package allows dynamic assembly of multiple drives/mount points into a single "view". It automatically distributes data to each of the participating drives while leaving each of them in an independant state in-case of data loss.
- Using smartctl to get SMART status information on your hard drives - Want to get an email when your drive is going south? This is where to go.
- NFS on Ubuntu 12.04 - NFS 4 is a great protocol (Unless you're using the built-in Win7 client) and is my go-to for sharing data on my network