[SOLVED] Software RAID

Status
Not open for further replies.

Phylum

Distinguished
Sep 15, 2011
7
0
18,510
I've got an old P4 (non-HT) running Windows 7 Enterprise filled with several (8) IDE drives. Up until recently I've been spanning drives without much fuss. But of course when one of the spanned drives tanks, and it has, I'm in bad shape.
Sure I can mirror drives, and I do, but then I'm capped at the size of the smallest disk and can't take advantage of pooling the rest of the available storage space.

For those who are going to jump down my throat: This isn't mission critical data but very useful data (utilities & apps, scripts I've written etc) and a few important things like backups of ghost images for some unsupported systems we still have to support/maintain. So for the 'important' stuff I have a robocopy /MON job that keeps things reasonably up to date elsewhere.

In any event, I found this old article here which allows one to breathe RAID 5 life into Windows XP: Using WindowsXP to Make RAID 5 Happen

This made me curious: Does such an article or fauxlution (faux + solution) exist for Windows 7, be it Pro or Enterprise or Ultimate?

If not: Is anyone aware of or can anyone recommend a decent [free] software RAID 5 application/suite/service?


Two things for what its worth
1) I'm not interested in unsubstantiated theories and solutions, which forums are notoriously filled with. I'm looking for an actual step-by-step or documented solution, preferably based on experience. Responses like "Yea its easy just mirror spanned drives" are equally useless. So, if you don't know, or haven't done this, don't answer. :)

2) I'm not interested in a solution that involves spending loads of cash. Realistically I'm not likely to spend even $20 on this rapidly aging system, especially not on 4 PCI ATA RAID Cards (1, 2).
 

bucknutty

Distinguished
I have an old slim HP D530 with a p4 3.0 with HT and 2gigs of ram. I use it as a home nas file server. I have 1 ide 80 gig boot drive and 2 640 sata drives in raid 1. I used the XP trick to add the windows server raid support. It worked ok but the array would often mess up and have to be repaired. So I tried Win 7 ultimate 32. Raid 1 is built in, no need for hacks or cracks. That old machine has been up for about 1 year now and I have only had to rebuild the array 1 time, which windows 7 did for me automaticly.
Setting up a raid in win 7 is the same as extending a disc. You highlight both HDs in the Disk Management utility, right click and select new mirrored partition. Its just that easy.
 

Phylum

Distinguished
Sep 15, 2011
7
0
18,510
Hey bucknutty
Thanks for taking the time to review & respond to my post. Glad to hear read I'm not the old one with a P4 running Windows 7!

Mirroring is, as you said, easy in Windows 7, but I don't want to mirror:
1 drive 6 times
2 drives 3 times
3 drives twice

I'd rather have a pool of storage with some level of redundancy. I'd settle for mirroring spanned drives (e.g.: span 3 drives, span the other 3 then 'Add a mirror' to the first span with the latter span) but that does not seem possible since the 'Add a mirror' option is grayed out.

I'm of the opinion that for day to day use and the everyday lay, the built-in mirroring and spanning is great but it doesn't do it efficiently (in terms of use of space) and redundantly (allowing to 1 drive failure).

Thanks again!
 

bucknutty

Distinguished
Why not mirror 1 drive 6 times? What if 5 drives fail at one time... then you are still protected? That would be sweet!
Seriously though being able to have a spanned drive mirrored on a similar spanned drive would be cool, but I don’t know of any way to that. I don’t even think a cheap software raid card would help. I tried to get a software raid 5 to work on windows 7 but after about a month of failure I gave up. I don’t understand why something so simple that works on all the older server versions of windows can’t be used on win7?
There are lots of people on this forum smarter than me, I’m sure someone will have an idea. Good luck.
 

Phylum

Distinguished
Sep 15, 2011
7
0
18,510
Thanks again for your response! Yeah I'm sure there are loads of people on here way 'smrt'er than I so I hope someone'll have an interesting idea!

Its such a simple thing we're trying to do here - the functions already exist, why can't we marry them together! What a bummer.
 

Phylum

Distinguished
Sep 15, 2011
7
0
18,510
hey das_stig - thanks for the reply

The objective is to make full use of the storage space available to me. If I had a RAID card that did 3/4/5, I could get an array of about 300GB of which only about 280GB will be usable. I've got 6 available drives in there so there's plenty to do this. Presumably one would span 3 drives for storage, then span the remaining three then use that span to mirror the first span. But that's not possible.

I'm also not concerned about CPU overhead since its not used as a desktop - its just there for convenience.
 

Phylum

Distinguished
Sep 15, 2011
7
0
18,510
However, they did link me to a rather very creative workaround:
http://log.bthomson.com/2009/09/software-raid-5-in-windows-7.html

Someone reached out to me recently to say that they too were looking to do RAID 5 in Windows 7 and that the above link was dead. Ignoring all the questions this raises, I've provided

1) An updated link to an archived copy of the site.
[ARCHIVE] http://log.bthomson.com/2009/09/software-raid-5-in-windows-7.html

2) A courtesy copy/paste to save the not-for-profit some bandwidth
A bit of Googling around reveals that MS has removed the old software RAID 5 feature from Windows 7, although it's still present in Server 2008. My experience with the stuff in Windows 2003 was that it was very reliable, but for some reason much slower than mdadm's implementation on identical hardware. I know there is some complexity around RAID 5 with write holes and potential data corruption, so I don't know if mdadm's implementation is better or just more dangerous. I certainly don't have battery backup for writing the data from cache to the disk in the event of a total power failure, and I hope mdadm doesn't think I do.

But if you are really desperate for software RAID 5 (or you happen to have an old mdadm array lying around, like me), there is one very free, very hacky solution that will let you run software RAID 5 in Windows 7: virtualize linux.

That's right: you can download the free VirtualBox, install linux, map your SATA drives, and then run mdadm just as if linux were running natively. In fact, I created the array with the machine booted into to linux, then switched to Windows and mounted the array with a virtual machine. Samba is probably the best tool for interacting with the ext3 fs from Windows.

Scrub throughput is only about 22MB/s with this setup on my 4x500GB array, but then speed probably wasn't your top concern if you really wanted software RAID 5.

For some reason the Virtualbox documentation is only available as PDF, so I can't link you to the section on mapping physical drives which unfortunately is not as easy as it is with the for-pay VMWare Workstation. Mdadm is pretty easy to use, so getting the physical drives mapped correctly is the hardest part of the process, and may involve painful things like forcing VirtualBox to run as administrator.

Update: Initially I planned for this to be a stop-gap solution while I looked for a different medium to migrate the array to, but I continue to be surprised by how well it works. With a network drive mapped to the Samba share I can even hibernate Windows while the VM is running and everything just picks up right where it left off on resume. Even media files that were playing from the array! The array still works fine from within a native linux boot as well.

Update 2: This post is ranking pretty highly in Google for "Raid 5 Windows 7" and a lot of you are undoubtedly looking for solutions. David wrote in to ask for clairification:

So you installed VirtualBox (which I assume works like VMWare,
roughly speaking), mounted all the SATA drives in Linux, used
mdadm to create a RAID array. I understand that. But the next
part you say you "switched to Windows and mounted the array
with a virtual machine". What do you mean by this?

Yes, it is similar to VMWare Workstation.

To clarify: I originally created the mdadm array while running a linux operating system on the host. Later, I wanted to access the array while running Windows 7 as the host operating system.

The fact that I was using linux as the original host OS should be an incidental detail: I was merely trying to illustrate that the solution is not dependent on the host OS. You can switch between linux and Windows and still create, access, or destroy mdadm arrays based on physical devices from within either host OS.

So, you should be able to create an array just fine with Windows as the host OS once the drives are mapped correctly.

Then you mention Samba -- did you share the drive via Samba in
the Linux VM and then essentially use Windows' "Map Network
Drive" to map the share?

Precisely.

If there are any other specifics you think might be helpful,
that would be fantastic as well.

VirtualBox doesn't offer a nice interface for setting up physical drives like VMWare does; you have to muck about with XML files and might need to run the VirtualBox process with elevated privileges. If you have a VMWare license I'd definitely try that first. But VirtualBox is free, so...

Is there any way (VMWare or VirtualBox) to easily make the RAID
array visible as an actual device in Windows?

Probably not unless Windows 7 has some native support for mounting devices over the network. I don't know of such features but they may exist. Samba is probably also not the ideal choice for a protocol in terms of performance, but it has the advantage that it's easy to setup and the mapped drive behaves almost like a regular drive in the windows explorer.
 
Status
Not open for further replies.

Latest posts