Link to home
Start Free TrialLog in
Avatar of Smokintbird
Smokintbird

asked on

Windows XP and Software Raid

I've heard from a few of the experts here on EE that there is a way to make Windows XP run a software based Raid system.  I've searched on the net, and I've been unable to find any information about it.  I've found lots of third party software to accomplish such things, but nothing about using Windows alone to manage this.

I'm not necessarily going to use it, but I know lots of people that would benefit from this.  So what I'm looking for, is maybe some links to sites explaining how to do it, and maybe a link to a list of pros and cons over a hardware raid of the corresponding types.  Just some details so that I can read up on it and try it out on one of my machines to compare it to my hardware raid.

Thanks, I think this might bennefit several people here.

Smokintbird!
ASKER CERTIFIED SOLUTION
Avatar of magarity
magarity

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of magarity
magarity

Also note that software mirrors and stripes work on PARTITIONS, not drives like the hardware RAID controller.  So for example, I have a pair of 40GB drives using software RAID on the four partitions.  Everything is great until the mirror is out of sync because the system crashed.  Resyncing is done all at once, so the drive really thrashes to do all the partitions at once.  A hardware RAID mirror would operate on the entire drive as a single unit and so does not thrash multiple partitions.  That's about the only drawback to using software RAID.  For performance, there is no hit to using software mirror as I've done a lot of testing on that to see for myself.  The software RAID-5 available under Windows2000 server is a beast, and I recommend you not use it with IDE drives.  I don't remember if XP Pro offers RAID-5, but don't bother even if it does.  The CPU gets really beat up doing all that XOR by itself.
And one more thing, software based RAID with IDE drives is SLOW!
Avatar of Smokintbird

ASKER

OK, I understand what you're saying but I have a few more questions...I understand the basics of RAID, but I'm still learning.

First, you say that running software raid on IDE drives is slow...  do you know or can you explain why?

Second, has anyone tried running the software raid across an IDE drive and a SCSI drive? For Example: I have an IDE 40GIG seagate baracuda with a 9GIG (Bootable system) partition, and a SCSI3 Fujitsu 9GIG 10000RPM drive (currently empty).  Because I don't have a bootable SCSI controller yet, could I run the software raid using a 9GIG partition on the IDE and the 9GIG SCSI drive to help increase performance?

Third, as far as the software raid, which is the fastest read and seek times for system drive use (IE-raid0, raid1, etc.)?
BTW, I've tried to change the disk partitions to "dynamic", but have so far been unable to.  I've looked in the disk management section, and selected the empty drive, but when I try to figure out how to make it dynamic, there's no options for it.  I've even dumped the partition and tried recreating it with XP hoping it would give me the option to do so...  No luck.

The comment about performance is incorrect as a blanket statement.  Two IDE drives are slow when used at the same time on the same channel because of the way the communications work on an IDE cable.  This applies whether or not they use software RAID.  This is a statement about IDE architecture and not about software RAID.  However, as long as the drives are one per channel there is not only no performance loss but there is a gain with stripe both read and write and with mirror reads.  

Example scenarios:
1.  Two IDE drives, master and slave, on the same channel.  Software RAIDed.  Result: awful performance.
2.  Two IDE drives, each standalone master, on two different channels.  Software RAIDed.  Result:  No real concern in performance loss.
3.  Two IDE drives, each on a different channel but with some other drive too, like CDROM or ZIP.  Software RAID.  Performance is just like #2 until the secondary device is accessed.  Performance goes down the toilet until the secondary device finishes.
4.  IDE and SCSI drives mixed together in software RAID.  If the SCSI card isn't bootable, it cannot be part of a software RAIDed boot or system partition.  It can be part of another software RAID.  Performance will be the slower of the two devices, the SCSI drive or the IDE drive.  Keep in mind the performance hit of a secondary device on the IDE channel still applies, but the SCSI drive will be practically unaffected by additional SCSI devices except when attached to the cheapest of old ISA SCSI cards.

Testing I've already performed:
System: Pentium-1 class, 300Mhz CPU (National Semiconductor GX-1).  PIO mode 2, Pre-UltraDMA.  Slow CPU used on purpose to exaggerate CPU overhead of software RAID.  OS: WindowsXP.  Hard drives: two matching Maxtor 40GB, 7200rpm Ultra-100.  Benchmarking software: WinBench99 from ZDLabs.

Internal IDE channels:  Both drives as master on the two IDE channels.  No other drives.  Pre-software RAID configuration, single drive gets 1.6MB/sec with 1.9% CPU load doing read test.  Software RAID level 1, 'mirror' configured, drives transfer 2.5MB/sec with 3.5% CPU load.

Promise Ultra-100 controller:  Both drives as master on each channel, no other drives.  Pre-software RAID single drive transfers 22.5 MB/sec with 8% CPU load.  Software RAID level 1 configured, drives transfer exact same amount, 22.5MB/sec, but with 12% CPU load.

Conclusions:  A machine newer than Pentium-1 class will have MUCH lower CPU loads so there really isn't much sweat there unless your machine is also so old.  Furthermore, the Promise controller is topping out this old CPU and its chipset.  While the slow internal controller saw more than a 50% increase in speed, it is reasonable to expect a newer machine to do similar with Ultra100 speeds.  Finally, 22.5MB/sec sustained is not horribly slow for hard drives attached to a Pentium-1 and the CPU load was not large.

I currently use these two drives in a Win2000 server attached to Promise card.  Software RAID-1.  Performance is excellent.
"I've even dumped the partition and tried recreating it with XP"

Please see my first post:  There needs to be at least 1MB of unpartitioned space at the end of the drive before you can upgrade the disk to dynamic.  Remove the partition if it takes up all the space, upgrade to dynamic, then make the partition.  Boot and system volumes need a reboot upon upgrading, other partitions do not.  If you are going to make a mirror or stripe, don't bother to make the second partition.  The system will automatically make an appropriate partition when you select 'add mirror' from an existing partition on a dynamic disk or select 'create stripe' from existing free space.

Properly configured 'mirror' RAID reads almost twice as fast as a single drive and writes a little bit slower (though not half as slow).  Stripe reads and writes almost twice as fast as a single drive.

PS - No one should use stripe unless they have a good backup routine.  See all the people in the last months who get on EE and cry about all their data lost when one drive of a stripe dies.
OK...  I figured out how to make the dynamic drives, I just didn't click in the right place the first time.  So I've got the system properly configured to set up the raid.  BUT, since I don't have a bootable SCSI controller, I'll have to wait another few days for the new card to arrive.(isn't EBAY a nice place...)

Anyway, since I figured out how to make the drives into dynamic drives, I've got everything set up.  Thanks for the help, I've learned a great deal about practical software raid systems, and shortly I'll be running one myself.  

Smokintbird!
Hi,

Correct me if I'm wrong please. But you cannot use the Disk Management in Windows XP to create mirrored volumes. If you see the help in XP you'll see that... "You can create mirrored volumes only on computers running Windows 2000 Server, Windows 2000 Advanced Server, or Windows 2000 Datacenter Server".

As far as I can understand you need one of the above to remotely create a mirror on XP.

But please, if I'm wrong let me know, as I am looking for a way of doing this as well...

Brgds,
PLSM
Sorry, let me just correct myself..

http://support.microsoft.com/?kbid=307880#3 states:

"You cannot create mirrored volumes on computers that are running Windows XP Home Edition, Windows XP Professional or Windows XP 64-Bit Edition. However, you can use a computer that is running Windows XP Professional to create mirrored volumes on remote computers that are running Windows 2000 Server, Windows 2000 Advanced Server, or Windows 2000 Datacenter Server. You must have administrative privileges on the remote computer to do this."

I got it the wrong way round... Still, no mirror on XP...

PLSM