HOWTO: Software RAID 1/5 under XP Home/Pro
I was testing XP MCE over the weekend, and I was planning to have 2 x 250GB (which I got them last Xmas) as my data/storage drive. However after spending about 10 minutes, XP MCE only seems to allow me to do RAID 0, even the online help suggested how to do RAID 1 (Mirror) or RAID 5. Turns out (long story) those software RAID level was 'DISABLED' by design.
One may said, well, you can get a cheap hardware RAID controller card or using onboard PATA/SATA RAID w/ some motherboard...
BUT there is one problem*
To RAID or Not to RAID?
What if I wanted both RAID 0 & RAID 1 on the SAME PAIR of HD? At first this seems odd to some people... But let me explain why I wanted this config. RAID 0 is good for speed, and on the other hand RAID 1 is good for data protection. Technically speaking, RAID 0 is not "RAID" because it is NOT fault-tolerant.
Some of my TV recording is not so important to me and I can risk to lost them, so those can be stored in RAID 0 array. However on the other hand, some files (such as digital photos from friends and family events) I wanted to keep them on a safe place, which RAID 1 will do the job (A safer place would be on optical media/tape or hardcopy...). So, with low budget, I opt for have one partition is RAID 1 and the rest of the drive is RAID 0.
Which BTW this is different than RAID 10 or RAID 0+1
As you can see, a typical HW RAID solution doesn't work.... And this can be easily done in Linux. (Which BTW, you can even do RAID 1 on the SAME HD w/ different partition/Logical volume) I also recall I have done this in the past (i.e. pre WinXP Days), so I am sure it is 'do-able'... After much searching, this is what I found (and think of sharing)...
Howto
HOWTO enable RAID 1 and RAID 5 under Windows XP Home/Professional/Media Center Edition
The outcome
Now, after I have implmented all these, it comes to me there is a advantage to it which I didn't think about at first. As you know, the HD transfer rate is different on the outer ring of the platter than the inner ring. (Outer ring is faster). With my schema, i.e. RAID 1 (mirror) on the outer ring, it make make use of the faster transfer rate to 'cancel out' the effect of RAID 1 which needs to write to both drives. And as the head moves inward, when it hits the RAID 0 config, it will speed up again because now only half od the data needed to be written per drive.
I don't have much data to post here right now (esp I am at work during my lunch break) But as I recall my WD250G on the outer ring was having something like 66MB/s transfer rate (i.e. Max) and goes downward but my RAID 0 array can give me something like 77-80MB/s transfer rate (vs. maybe 50MB/s in the middle of the platter). On the other hand, my RAID 1 (mirror) also runs at 60 something MB/s as I recall, so, there is no real performance drop there. This proves the speed advantages of the config.
Now just out of my interest, I am planning to find the sweet spot where the cut over should occure... But for now, I am happy w/ the config (for the space that I needed)
Final note, I have yet to try disconnect one of my drive and see if my RAID 1 partition lives.
*According to Intel Channel Conference, they do have a HW RAID controller chip suppose to be able to do what I wanted, but that most likely means I need a new motherboard & CPU...
One may said, well, you can get a cheap hardware RAID controller card or using onboard PATA/SATA RAID w/ some motherboard...
BUT there is one problem*
To RAID or Not to RAID?
What if I wanted both RAID 0 & RAID 1 on the SAME PAIR of HD? At first this seems odd to some people... But let me explain why I wanted this config. RAID 0 is good for speed, and on the other hand RAID 1 is good for data protection. Technically speaking, RAID 0 is not "RAID" because it is NOT fault-tolerant.
Some of my TV recording is not so important to me and I can risk to lost them, so those can be stored in RAID 0 array. However on the other hand, some files (such as digital photos from friends and family events) I wanted to keep them on a safe place, which RAID 1 will do the job (A safer place would be on optical media/tape or hardcopy...). So, with low budget, I opt for have one partition is RAID 1 and the rest of the drive is RAID 0.
Which BTW this is different than RAID 10 or RAID 0+1
As you can see, a typical HW RAID solution doesn't work.... And this can be easily done in Linux. (Which BTW, you can even do RAID 1 on the SAME HD w/ different partition/Logical volume) I also recall I have done this in the past (i.e. pre WinXP Days), so I am sure it is 'do-able'... After much searching, this is what I found (and think of sharing)...
Howto
HOWTO enable RAID 1 and RAID 5 under Windows XP Home/Professional/Media Center Edition
The outcome
Now, after I have implmented all these, it comes to me there is a advantage to it which I didn't think about at first. As you know, the HD transfer rate is different on the outer ring of the platter than the inner ring. (Outer ring is faster). With my schema, i.e. RAID 1 (mirror) on the outer ring, it make make use of the faster transfer rate to 'cancel out' the effect of RAID 1 which needs to write to both drives. And as the head moves inward, when it hits the RAID 0 config, it will speed up again because now only half od the data needed to be written per drive.
I don't have much data to post here right now (esp I am at work during my lunch break) But as I recall my WD250G on the outer ring was having something like 66MB/s transfer rate (i.e. Max) and goes downward but my RAID 0 array can give me something like 77-80MB/s transfer rate (vs. maybe 50MB/s in the middle of the platter). On the other hand, my RAID 1 (mirror) also runs at 60 something MB/s as I recall, so, there is no real performance drop there. This proves the speed advantages of the config.
Now just out of my interest, I am planning to find the sweet spot where the cut over should occure... But for now, I am happy w/ the config (for the space that I needed)
Final note, I have yet to try disconnect one of my drive and see if my RAID 1 partition lives.
*According to Intel Channel Conference, they do have a HW RAID controller chip suppose to be able to do what I wanted, but that most likely means I need a new motherboard & CPU...
/* My Heatware */
#define BITCOUNT(x) (((BX_(x)+(BX_(x)>>4)) & 0x0F0F0F0F) % 255)
#define BX_(x) ((x) - (((x)>>1)&0x77777777) - (((x)>>2)&0x33333333) - (((x)>>3)&0x11111111)) ...really weird C code to count the number of bits in a word Hacking RAID in XP Support Net Neutrality Canada
#define BX_(x) ((x) - (((x)>>1)&0x77777777) - (((x)>>2)&0x33333333) - (((x)>>3)&0x11111111)) ...really weird C code to count the number of bits in a word Hacking RAID in XP Support Net Neutrality Canada