Storage-arrays for moderate nerds!
March 8, 2008 7:55 PM

What is the best way to create an expandable storage array with eight 500GB SATA drives?

Currently, I have 6x500GB SATA disk drives. Five of them are part of a Windows "spanned dynamic volume" so that one volume would use space from multiple drives but appear as just one drive letter. One drive is partitioned to hold the operating system (Windows Vista) and some other data. I have recently purchased two additional 500GB drives to either help expand the setup or add some redundancy.

It has dawned on me that using a spanned volume is a bloody terrible idea because if one of the drives fail, I lose more than 2TB of data. I'm not terribly concerned about data loss since it's almost all just ripped multimedia I can re-rip, but I'd rather lose at most 460GB if there is a drive failure.

My question is, with 7x500GB drives (3255GB of formatted space), what is the best way I can create a semi-reliable storage array where all data is under one drive letter? If I wanted to start doing a RAID-5 type thing, would I need an independent RAID controller or can it be done by software if it is a purported feature of my motherboard? Would some of the drives being connected a PCI-X SATA expansion card being an issue?

I'm not tied to Windows, so if I'd have to change to a Linux OS, it wouldn't be the end of the world. I'd prefer to stick with Windows Vista.
posted by cgomez to Computers & Internet (11 answers total) 2 users marked this as a favorite
Drobo is a pretty neat, well-designed, and easy-to-use drive array enclosure. Each unit can hold 4 drives, and they do not need to be homogenous.
posted by ijoshua at 8:05 PM on March 8, 2008


If you've got a single file system occupying a disk array, and the array has no built-in redundancy, then a single drive failure will do an unpredictable amount of damage to that filesystem.

If you want to use 100% of the capacity of your available drives, and minimize data loss on drive failure, the simplest thing is just to give each drive its own drive letter.

The next simplest thing is to give each drive its own mount point: instead of a drive letter, create an empty directory for each drive, and tell Windows to make the drive appear there. If you have a folder full of mount points, you can share the whole outer folder as a single Windows share. However, the structure of your folders will necessarily reflect the underlying physical structure of your drives.

Software RAID-5 is do-able both in Windows and Linux even with no support at all from your disk controllers, but will be far slower (especially on writes) than a hardware solution. For multimedia files this would probably not be a worry, since performance demands are fairly moderate and in any case those files will be read far more often than they're written.

I would expect that your motherboard's native RAID-5 support would only work for drives connected to the mobo's inbuilt disk controller.
posted by flabdablet at 9:39 PM on March 8, 2008


If you motherboard has some sort of HW RAID feature, it is very likely that is only with the disks attached to the SATA ports on the motherboard. But you will have to read the documentation on your motherboard to find out.

If it came with some program for software RAID, it can probably work with any disks. However, software RAID 5 can consume a significant amount of CPU time. You might consider RAID 1+0 (also called RAID 10) if it is available, It will give you less usable space, but it can be done in software with minimal CPU overhead. There may be other free or cheap software packages out there for RAID 1+0, though I didn't find anything with a quick search.

ZFS might be of interest to you, but currently is only fully implemented for open Solaris. There is work being done to make it work on linux and Apple has indicated that it will see support in future. I don't know of any support for ZFS in windows, though. I personally look forward to using ZFS under linux once it is stable for my own home servers.

A hardware solution such as what ijoshua suggests is also a good option if you want to spend money on this and have a solution with minimal tinkering.
posted by recursion at 9:44 PM on March 8, 2008


You definitely want RAID, and RAID 5 specifically. In raid 5, redundant information is distributed across all disks. At any point any one drive can fail while the complete data archive remains accessible. RAID 5 requires at least 1 redundant disk, so you'll have the space equivalent of 6 x 500 giggers.

If you decide to go with RAID, your next step will be on deciding how to implement it. The choice is between software and hardware. The general preference seems to be with the software solutions. In the past, hardware controllers have tended to change their raid implementation. Imagine when your raid _controller_ fails a few years down the road and you have to look for exactly the same version of a hardware card. I dont know how much of an issue this still is, but I went with a linux implementation of a RAID1 and RAID5 array. This stuff is guaranteed to be backwards compatible.

Finally the wikipedia article on raid levels claims that windows supports raid5, so you should be in business if you decide to go that way.

HTH.
posted by aeighty at 9:49 PM on March 8, 2008


Windows Server 2k3 will do a software RAID 5 Array with a set like that. I've been using a four disc, 1TB RAID 5 array for over three years now, and I'm just absolutely in love with it.

That, and Server 2k3 is surprisingly solid for a Windows flavor. Mine's been running for almost a year continuously now, which really kicks ass in my book.

Not to mention that I can set permissions and choose who gets served what, and also Remote Desktop into the server from any other box in the house.

I dunno, you'll likely get a lot of Linux fanbois around here telling you that a Win server is SOOOO uncool, but it's been just awesome for me. And my Linux boxen are great too, but they do other jobs around here.
posted by SlyBevel at 10:12 PM on March 8, 2008


You don't need Windows server to do Raid5, XP Pro is enough: http://www.tomshardware.com/2004/11/19/using_windowsxp_to_make_raid_5_happen/
posted by bizwank at 10:39 PM on March 8, 2008


I should add a bit of information I didn't in the original question.

The computer in question is kind of a media/center server hybrid. The main reasons it runs Vista is because despite all it's frustration-causing quirks in many areas, the 'Media Center' interface works extraordinarily well and I use it as a DVR as well via analog cable through a Happaugue tuner card. As for drive support, the motherboard has six on-board SATA II ports, one of which is for the main OS which won't be part of any array. So, five of the drives are currently in there and those are the ones I want to work. The other two drives are not installed yet due to a lack of ports.

For the answers thus far, I'm gathering that RAID 5 seems to be the best option. My motherboard is a mid-range Intel one so it has that Matrix Storage software which I believe is just software RAID. With a Core 2 Duo E6400, I'm not sure how well the process would cope with the stress of managing the array. Also, I should note that most of the data here is not actively-written. it is mainly just read when I play back to media on it and only written to when I'm adding data. The multiple mount points that was suggested earlier seems good, however, the problem is that one folder might span more than one 500GB drive. Were that not the case, then leaving them as different drive letters would work too.

Drobo doesn't work for me because of the cost and interface. For my situation, it's $1000 for the two I'd need and it's going to be limited in speed because of USB. If I need to invest in anywhere near that amount of money, there much be a better way.

And as to which software I can use, I have legal licenses to Windows XP, Windows Server 2003, and Windows Vista (Ultimate) just so if anyone can think of a benefit a server OS would give me and I can try to sub in Media Center support w/a third-party app.

So, RAID 5 should do it? If I want to do this with at least seven drives, how would I go about implementing it? How cost prohibitive is it to do hardware RAID? How faulty/risky is software RAID? Thanks MeFites.
posted by cgomez at 10:59 PM on March 8, 2008


I just had two drives fail at once on a Windows RAID-5 array -- it really can happen! Nonetheless, it functioned great when it did work, and I was even able to move the array between different hardware (different SATA controllers, and different OS installs) and swap out drives. Check out Tom's Hardware on how to hack Windows XP to enable RAID-5.

Windows RAID-5 is not expandable! Once you set the array, that's it. My understanding is that Linux RAID-5 is expandable, but I haven't tried.

Why any nerd, or even moderate nerd, would invest $400 in an external drive holder is far beyond my meager understanding. Any old PIII 1GHz is easily fast enough to drive the machine that will house your RAID array, and it will be far more flexible. However, for best price/performance You might consider a modern s775 motherboard that has 8 or more SATA ports.

One problem you will have when you get past 6 or so drives is your power supplies 12V current. 6 drives take 12-18A to spin up, and if they are doing that all at once you have a problem. A modern drives operating current is typically below 1A though, so if you can solve the spin up problem, a power supply can handle at least twice as many drives. I've built a very simple spin up delay circuit to help with this problem, and it works great (similar circuit schematic). I'm days (well, probably weeks) away from making it into a PCB for sale :)   I expect such a PCB is probably out there somewhere, but I couldn't find one.
posted by Chuckles at 6:13 AM on March 9, 2008


My motherboard is a mid-range Intel one so it has that Matrix Storage software which I believe is just software RAID. With a Core 2 Duo E6400

I wouldn't worry too much about that. I run an older e2140, which runs stock 1.6MHz and I use the Intel Matrix software controller. I've run both RAID1 and no raid, and the only difference with speed I've noticed with speed is my log on time with loading apps. Granted 5 required more overhead, but the e6400 is faster. The only problem with that solution is if you like to mess with BIOS, it is easy to accidentally break the raid. Not a problem with data retention in raid1, but would be with raid5.

Regardless, I might suggest the route of just getting a cheap extra computer, especially if you have an old one laying around. I've used OpenNAS which is software raid, but works pretty well and has minimal hardware requirements. I didn't delve enough into it to find out about flexible arrays

How faulty/risky is software RAID?

I've had a software raid drive died, and replaced it with no issues. Same with hardware. However, I also want to say that raid is not not not backup. If your file system becomes corrupted or something bad happens, you're still SOL with a raid setup. Raid is purely disk redundancy giving protection against (usually single) disk failure.
posted by jmd82 at 7:51 AM on March 9, 2008


The latest generation of controllers from 3ware and Areca will let you create an expandable RAID5 array, should you buy more drives in the future... You'll need a 12 or 16-port card (not cheap).

This won't magically expand your partitions, if you add more drives to the RAID5 in the future you'll need to create another logical slice and partition + mount point for the new capacity.
posted by thewalrus at 8:27 AM on March 9, 2008


Why any nerd, or even moderate nerd, would invest $400 in an external drive holder is far beyond my meager understanding. Any old PIII 1GHz is easily fast enough to drive the machine

Over the medium- to long-term, the power savings from small disk boxes will probably equalise if not reduce their price premium over a large, power hungry flexible CPU PC. Unless, of course, you get an especially low power PC. But $400 but an external drive box is pretty high for a home user.
posted by meehawl at 10:33 AM on March 9, 2008


« Older Help get data from a raid partition   |   Neil Simon's - The Odd Trio Newer »
This thread is closed to new comments.