I have several computers at home I’m responsible for maintaining: my old Macbook Pro, my Windows 7 desktop, my wife’s old Dell Inspiron running Windows XP, and pretty soon, a Windows 7-based home theater PC (HTPC). One of my frequent responsibilities is backing up these various systems. My current solution consists of a bunch of external USB and Firewire hard drives, one or more for each of these systems. Getting the drives out of the desk drawer where I keep them and sorting through the tangle of different power cords is just annoying enough that I don’t backup as often as I should.
I decided it was time to replace this half-assed discrete solution with something more holistic. After perusing the various NAS solutions on Amazon, I decided to sit down and define some requirements.
- Cheap – I don’t have a bundle of cash to drop on a brand new file server. What I do have is a bunch of old computers and parts sitting around gathering dust. It’d be nice to reuse some of this old gear.
- Lower Power – Most of the time, this server is going to be idle. I don’t want it drawing a lot of juice while its sitting there doing nothing, so I’d like it to spin down the drives when nothing is accessing them. Also, it’ll probably be sitting in my office, which already has a computer and a laptop heating up the joint. I’d like to avoid increasing my air conditioning bill unnecessarily.
- RAID – It needs to have redundancy, not so much for speed, but for safety. Drives die, and if one does, I don’t want it to take out my awesome collection of cat pictures.
- Quiet – It should be relatively quiet. It won’t be sitting near my TV, but I don’t want it so loud that I have to turn up the sound on my existing computers. This is closely related to power consumption. If it spends most of its time idle, it shouldn’t need to run a bunch of fans.
- Networked – The whole point of this is that I’m tired of a bunch of point solutions using USB or Firewire. I need a networked solution. Related to this requirement would be being able to securely access the file server from outside the house over VPN.
- Easily Extended – It should be easily expanded as my drive space needs increase over time. Many RAIDs require that you add drives two at a time, and some of the off-the-shelf NAS appliances available have a fixed number of drive slots. I’d prefer a lower additive cost when upgrading the system rather than a steep replacement cost, and extending the system with off-the-shelf commodity PC components would be a plus.
- Easily Administered – Let me be perfectly clear: I’m a very lazy man. I don’t want to be editing configuration files and rebuilding kernels every time I need to tweak a setting. I spend all day fighting computers as part of my job. When I get home, I want a nice web UI that will also allow me to run the box headless and save a bit more power.
Looking at what’s available off the shelf with respect to these requirements had me a bit depressed until a co-worker of mine named Jeremy pointed me to unRAID Server by Lime Tech.
Lime Tech’s unRAID Server solves most of my requirements. unRAID is a NAS server operating system based on Slackware that boots from a USB Flash device and is specifically designed for digital media storage. It employs a unique RAID technology, close to RAID4, but without striping, which provides for great configuration flexibility:
- Any combination of IDE and SATA hard drives may be used.
- All the hard drives do not need to be the same size or speed.
- Hard drives not being accessed may be spun down.
- Can rebuild any single failed hard drive.
The software comes in 3 versions. The free version supports a server with 3 drives (2 data, 1 parity), but provides no cache drive or user share support. User shares are a unique feature of unRAID OS which provides a unified name space across multiple data disks. User shares simplify storage management by presenting a view of all unRAID storage as if it were one large file system.
At the time this post was written, the Plus version could be purchased for $69. The Plus version supports 6 drives (5 data, 1 parity), as well as an additional cache drive and user shares. The Pro version costs $119, supports up to 20 drives, and adds Active Directory support.
I was able to get $10 on my Plus version purchase by entering the coupon code KEY10.
The software runs from a boot-able flash drive and is locked to GUID of the drive you run it from. If for some reason your flash drive dies, you can contact Lime Tech to assign your license to a new replacement drive.
For my unRAID server, I’m reusing an old frankenbox consisting of unused parts I had lying about. It contains the following:
- Motherboard: Gigbyte GA-K8N51GMF-9
- Graphics card: None (using the NVIDIA GeForce 6100 on the motherboard)
- Processor : AMD Athlon 64 X2 4600+ @ 2400 MHz
- Memory : 4096 MB (4 x 1024 DDR-SDRAM )
- Power supply: Seasonic SS-380GB 380W
I’ll be using the Caviar Black as the parity drive, and the rest as data drives.
The main shares will go on the Caviar Greens, while infrequently accessed stuff will go on the remaining 250Gb drives. Neither of those two older drives are fast enough to use as a write cache drive, but when SSD drives come down in price, I might toss one of those in if writes seem slow. I picked up a PNY USB drive to run unRAID itself from because of their small size. I didn’t want a larger USB stick attracting unwanted attention from Sophia, my 2-year old daughter, or one of our three cats. The PNY sits nice and flush with the back of the box.
Don’t interpret this as the ideal unRAID setup. As I mentioned, this is mostly a collection of stuff I had sitting around. Only the Caviars and USB drive are new. For recommended unRAID hardware, check out the Recommended Builds section of the unRAID FAQ.
Initially, I ran into a common problem. No matter how many times I formatted my USB drive, I kept getting an error on boot. I found the solution on the Lime Tech forums. For whatever reason, Windows format left me with a USB drive that wasn’t boot-able. After formatting the drive with the HP USB Disk Storage Format Tool mentioned in the forum post, I was able to get the USB drive configured so my box would boot from it.
unMenu has a basic package manager included that allows you to install various Slackware packages such as openssh and php for running other unRAID add-ons like SmartHistory.
For shares, I set up one for myself, one for my wife, Shelly, and one for videos. I’ve got the individual disks themselves hidden. Only the shares are visible.
The end result is a file server with 3Tb of space that matches all of my requirements. Not to shabby for less than $300 worth of drives, software, and a bunch of old throw away parts.
Now that the box is up and running, there are a lot of things left I’d like to do with it.
- Under-clock the CPU to save even more power.
- Finish configuring SSH so I can access the server from outside the house.
- Set up notifications to send an email when abnormal conditions are encountered.
- Set up Time Machine to use the new server as a backup source.
- Install unTorrent.
- Set up Avahi to access the server over Bonjour.
I’ll try and post more information on each of these as I get around to them.