In 2011, I wired six hard-drives into a case and made an 8 Terabyte server for my digital photos and files. It's been fantastic. The convenience of not having to spread files across half a dozen external drives is worth its weight. The peace of mind the operating system, called FreeNAS1, provides is even better. Its built-in safety features make it the best way to store data2.
After three years of faithful service, Coltrane, which is what I named the server, has run out of space. It's possible to increase the size but I went a different route. A new server built with the knowledge and experience gained working on Coltrane. It's an eleven disk FreeNAS beast named Mingus.
Mingus during construction. Eleven 4 Terabyte drives prepped and ready to go.
And here's the machine with all the drives wired up.
It seems like eleven 4 Terabyte drives should equal 44 Terabytes of storage but that's not how FreeNAS works. Part of the way data is kept safe in a FreeNAS system is by using redundant "parity" drives. The math is interesting3, if you're into that sort of thing, but basically it breaks down like this: For every parity drive in a multi-drive setup, one hard drive from the cluster can die without taking all the data with it. Three of Mingus' eleven drives are parity. So, as long as four drives don't all die at the same time, my files are safe from hard-drive failure4.
Taking the three parity drives out of the equation leaves (8 x 4TB =) 32 Terabytes of space. A little gets chewed up in the way computers deal with division but seeing roughly 32 Terabytes of well protected space is nice.
31.46... 32... Whatever it takes.
There's definitely effort and expense involved in building a FreeNAS server but it's something anyone willing to put in some time can do. The protection and convenience are more than worth the hassle.
Footnotes and Links
- FreeNAS is Free, Open-Source, Network Attached Storage software (i.e. the perfect software to use for a server). It relies on a system called ZFS which eliminates several ways data can get corrupted.
- After a ton of research, I won't trust my files to any multi-disk storage system that isn't using ZFS under the covers. It just takes a few minutes reading about Data Degradation to freak out anyone who wants to keep files for more than a few years.
- ZFS data integrity and Parity Bits for those who are into such things.
- There are lots of other ways besides hard drive failure that can kill files. FreeNAS and ZFS do everything they can to protect against them but it's still critical to do backups. If you're files aren't on at least two separate devices it's only a matter of time until they are on none. If you aren't automatically backing up your files sign-up, for Crashplan, Backblaze or some other cloud backup services. Speaking from experience, you'll be a happier person if you get backups going before you need them.
- The motherboard I used is an ASRock C2550D4I Mini ITX Server Motherboard FCBGA1283. It comes with an Intel Avoton C2550 Quad-Core Processor and can take up to 64GB of DDR3 1600/1333 Dual-channel RAM. (I didn't max out the RAM. Next time I build one of these I will for a little better performance.) The biggest selling point for the motherboard was the 12 build in SATA ports. That let me write up all the drives without having to use SATA Backplanes. Just one less thing to worry about for compatability.