Sunday, March 29, 2009

RAID

  I've been considering some sort of network storage solution for some time now.  We have three PC's in the house and our family pictures, videos, documents, and music are spread among them.  Worse, we have only taken one backup of the pictures, and the rest are squirreled away in unknown folder levels of each of the machines.  I wanted to change that.  I had a couple of options in mind: a Network Attached Storage (NAS) device, a Windows Home Server (WHS), or setting up a share on my main PC.  I came into a little luck and found myself with four 320GB hard drives, which significantly helped matters.


One option I was considering is the Drobo, which is a USB / Firewire storage device from Data Robotics.  The Drobo is a box that can attach to your PC via USB or Firewire, and has slots for up to four hard drives.  You can add hard drives in any pattern that you like, and as the system gets full you are prompted to add more storage.  It uses a proprietary RAID format, offering some data security (if a drive fails, you won't lose everything).  As far as simple solutions, this is tops.  Just plug it in and insert your drives.  The first generation unit is $350 and the current generation is $450.  There is also an add-on piece for $200 that allows you to connect the Drobo directly to the network without any need for a PC to host it.  In that form, it can truly be called a NAS.
I also investigated other NAS products, including those from ASUS, IOGear, and Western Digital.  Those targeted to the home and small office offered two drive slots and a reasonable price, while those targeted at businesses offered four or more slots but at a premium price.

Windows Home Server is an interesting product that also had my eye.  I've known a few people to have them and all have had positive experiences.  One of the biggest benefits of a WHS over a simple NAS is that ability to take complete backups of all of the PC's on your network in an automated fashion.  Once scheduled, you can competely forget about this operation that will take periodic snapshots of your PC's.  If one of those machines should fail, just replace the busted drive and restore it from WHS.  The hardware for a WHS machine is fairly cheap (can be built for around $300).  Unfortunately, at that price point you are still looking at just a two drive setup.

In the end, I decided to setup a RAID on my existing PC and share the drive to the network.  I chose to use a RAID-5 configuration.  There are several flavors of RAID, and each has it's own nuances.  There is RAID-0, which alternates the usage of two drives in "stripes".  The advantage here is that rather than pulling your files from just one drive, it uses both drives equally, improving performance.  It provides no data protection though, so if one of those drives fails, you are toast.  Next is RAID-1, also called mirroring.  In RAID-1, two drives are used and are perfect copies of each other.  As with RAID-0, both drives can be used when reading files, leading to better read performance (writing is slower though), with the advantage that if one drive fails, you don't lose anything.  The disadvantage is that you only get one drive's worth of storage.  Raid 0+1 is a combination of these two techniques that uses four drives.  The data is striped across two drives, and each of these drives is mirrored, resulting in good performance and security in the case of drive failure.  Still, you end up wasting two drives of data here.  That's why I chose RAID 5.  RAID 5 uses some special parity math and rotates the use of the drives to attain a nice balance between security, performance, and disk utilization.  My RAID 5 setup uses four disks, and if any one of those disks fails I can replace it and not lose any data. (If two drives fail, I lose some data, so it is important to watch for a drive failure and deal with it immediately).  With my four 320GB drives installed my RAID 5 setup provides just under 1TB of storage.

Now that I've got it setup, I'm kicking myself for not doing this sooner.  The drive performance is great, and it is nice to know that I have some security in the unfortunate event of a drive failure.  My motherboard has six SATA ports, and it can have two RAID arrays.  I'm considering modifying my setup to use a two disk RAID-1 for the operating system and applications and the four disk RAID-5 for all data storage.  As cheap as hard drives are ($60 for 750GB!) it's seems silly not to take advantage of the security and performance afforded by a RAID configuration.  The next thing I need to do is adhere to a regular backup schedule.

A note: building the RAID (initializing it for the first time) took a long time.  I kicked off the build process last night and it took just over 10 hours to complete.  So if you are considering setting one up yourself, be sure to allow for that build time.