RAID 1 Read "Striping"?
Moderators: NeilBlanchard, Ralf Hutter, sthayashi, Lawrence Lee
RAID 1 Read "Striping"?
I know that RAID 0 provides striping on both reads and writes, and RAID 1 provides mirroring...but shouldn't RAID 1 also provide striping on reads? I.e., read alternating stripes from each of the two drives in the array? I read somewhere a long time ago that RAID 1 supports this, but I've also read conflicting information that RAID 1 is actually slower than a single disk for reads (as expected, it is also slower for writes). I'm beginning to think it might be a controller based option as to whether or not RAID 1 allows for "striped" reads. Is that correct? Any idea which RAID controllers allow for "striped" reads and which do not?
Thanks
Thanks
RAID 1 is defined as a mirrored array, i.e. no striping. Some RAID controllers (minimum 2 channels for IDE, 4 channels for SATA) allow RAID 0+1. This requires 4 HDDs but allows mirroring and striping (2 mirrored stripe sets of 2 HDDs each). There is also RAID 5 which gives striping with redundancy through parity, but you'll need someone else (or Google) to explain it.
-
- Patron of SPCR
- Posts: 99
- Joined: Wed Nov 19, 2003 10:38 pm
- Location: US > NC > Wake Forest
He means striped reads only, which would be feasible in a mirror, though I don't know if it's in the RAID 1 spec. I've read that the first drive to respond to a request will provide data, thus reducing latency.CallMeJoe wrote:RAID 1 is defined as a mirrored array, i.e. no striping. Some RAID controllers (minimum 2 channels for IDE, 4 channels for SATA) allow RAID 0+1. This requires 4 HDDs but allows mirroring and striping (2 mirrored stripe sets of 2 HDDs each). There is also RAID 5 which gives striping with redundancy through parity, but you'll need someone else (or Google) to explain it.
It is implementation-dependent. In other words, it depends on the design of the driver. Some of the systems do striping on read, others don't. Definitely the Linux software RAID 1 driver does striped reads. I cannot tell you for any other system or board though. If you have a board that supports RAID 1 in hardware, maybe you can ask the manufacturer.
As far as I know it is impossible to implement stripping in a purely RAID 1 environment. Also that is the reason for the RAID 0+1 spec. In RAID 1, the data is stored and sorted incorrectly for a striping setup.
RAID 5 is my personal fav. Data striping with distributed parity. That means fast reads, and redundancy. I have a 4 drive array that had a drive failure a while back. While the drive was being RMA'd I was still able to access all my data. Only downside is that its write performance is slower than some of the other RAID types.
RAID 5 is my personal fav. Data striping with distributed parity. That means fast reads, and redundancy. I have a 4 drive array that had a drive failure a while back. While the drive was being RMA'd I was still able to access all my data. Only downside is that its write performance is slower than some of the other RAID types.
I recall reading about the HighPoint RAID 1.5 controller at Tom's Hardware. What was somewhat troublesome about that controller was the fact that a mirrored drive could not be read on any other controller besides the HighPoint RAID 1.5 controller...so if I ever needed to move my harddrive to another computer, I wouldn't be able to read the data on it...
So really there's no performance gains at all to be experienced by using RAID 1 (i doubt that the reduced latency effect is significant) and a slight performance degradation because writes take slightly longer...
I'm probably better off just getting a single drive, and making periodic back-ups of my important files...
So really there's no performance gains at all to be experienced by using RAID 1 (i doubt that the reduced latency effect is significant) and a slight performance degradation because writes take slightly longer...
I'm probably better off just getting a single drive, and making periodic back-ups of my important files...
In general, I agree. Indeed, frequent back-ups are *really* important no matter what disk setup you have.JWarrior wrote:I'm probably better off just getting a single drive, and making periodic back-ups of my important files...
However, after a catastrophic failure of a boot drive (WD1200) on one of our lab's computer, I've decided the safety of a RAID 0 is worth the price. Our experimental rig was down for over 3 days as I a) diagnosed the disk failure, b) reloaded the OS, c) reloaded all the application software. It was all a royal agravting pain in the elbow. For our systems, I think I'm going to go RAID 0 for the boot drive (for minimal down time) and RAID 1 for the data drive (for performance). The data drive is duplicated nightly to several other computers in the lab, so it would be trivial to copy the files in the case of failure. The added cost of the drives would be more than made up in saved time (salary) should another problem occur.
I like the RAID 0+1 or 5, but I'm not sure my motherboards handle either configuration directly, and I'd rather not add the complexity of a separate RAID board.
Ob silent storage: I intend to continue using Samsung, since the slight performance difference between them and IBM or other drives is far outweighed by the sound levels.
Tragus, I'm afraid you have a little mistake there. RAID0 is striping, RAID1 is mirroring.
What motherboard are you using? Quite a few upper range motherboards can do RAID1+0 in hardware, but I'm not aware of anything (besides monster server stuff) that has RAID5 controller integrated. You can do it in software (assuming your OS supports it), but it's a beastly drain on CPU.
What motherboard are you using? Quite a few upper range motherboards can do RAID1+0 in hardware, but I'm not aware of anything (besides monster server stuff) that has RAID5 controller integrated. You can do it in software (assuming your OS supports it), but it's a beastly drain on CPU.
This is something I've never truly gotten a straight answer to, so I'm hoping someone that really knows the ins and outs of hardware/software raid can speak to it.What motherboard are you using? Quite a few upper range motherboards can do RAID1+0 in hardware, but I'm not aware of anything (besides monster server stuff) that has RAID5 controller integrated. You can do it in software (assuming your OS supports it), but it's a beastly drain on CPU.
1 - If I understand them correctly, the onboard RAID controllers of most motherboards aren't really implementing hardware RAID. They don't have any kind of coprocessor on the chip that actually does the parity calculations or takes any real load off of the CPU. It presents the drives to the OS as a single volume (or however you set it up), but all of the striping calculations still gets loaded onto the CPU through the device driver. This sounds to me like software raid, not hardware raid. Can someone speak to whether this is wrong or right? If this is right, then I don't understand why people make a big deal out of motherboards having these kind of onboard controllers, when setting up a software raid array is probably just as effective.
2 - Can someone comment on what a drain on the CPU a software RAID array really is? I find it hard to believe that a 2+ Ghz CPU would even break a sweat doing the kind of calculations a dedicated hardware processor on the RAID controller would do, given that most of those processors run at a small fraction of the CPU speed?
Thanks for any clarification you all can bring.
-
- Patron of SPCR
- Posts: 99
- Joined: Wed Nov 19, 2003 10:38 pm
- Location: US > NC > Wake Forest
If it's the device driver that does the calcs, that implies the array is not bootable, as the driver will need to be read from the array. I consider that software RAID.ao wrote:This is something I've never truly gotten a straight answer to, so I'm hoping someone that really knows the ins and outs of hardware/software raid can speak to it.
1 - If I understand them correctly, the onboard RAID controllers of most motherboards aren't really implementing hardware RAID. They don't have any kind of coprocessor on the chip that actually does the parity calculations or takes any real load off of the CPU. It presents the drives to the OS as a single volume (or however you set it up), but all of the striping calculations still gets loaded onto the CPU through the device driver. This sounds to me like software raid, not hardware raid. Can someone speak to whether this is wrong or right? If this is right, then I don't understand why people make a big deal out of motherboards having these kind of onboard controllers, when setting up a software raid array is probably just as effective.
I'm also curious about this...I always understood that the RAID chips on motherboards work similarly to the audio and network chips on the motherboard...they implement the RAID or sound or LAN port as a separate hardware device, but rely on the CPU to do the actual processing...to get true hardware processing, you need to buy a separate add-on RAID controller, Sound Card, network card, etc.This is something I've never truly gotten a straight answer to, so I'm hoping someone that really knows the ins and outs of hardware/software raid can speak to it.
1 - If I understand them correctly, the onboard RAID controllers of most motherboards aren't really implementing hardware RAID. They don't have any kind of coprocessor on the chip that actually does the parity calculations or takes any real load off of the CPU. It presents the drives to the OS as a single volume (or however you set it up), but all of the striping calculations still gets loaded onto the CPU through the device driver. This sounds to me like software raid, not hardware raid. Can someone speak to whether this is wrong or right? If this is right, then I don't understand why people make a big deal out of motherboards having these kind of onboard controllers, when setting up a software raid array is probably just as effective.
2 - Can someone comment on what a drain on the CPU a software RAID array really is? I find it hard to believe that a 2+ Ghz CPU would even break a sweat doing the kind of calculations a dedicated hardware processor on the RAID controller would do, given that most of those processors run at a small fraction of the CPU speed?
Thanks for any clarification you all can bring.
Is that correct? or do any motherboards actually have their own hardware RAID controllers on them?
I think you even have to be careful buying an add-on RAID controller to make sure it actually is a Hardware solution. As far as I know, the majority of the IDE raid cards people buy (Promise, Highpoint, etc) for about fifty bucks are just the same chips that come on the motherboards stuck on a PCI card. Still software RAID, as far as I can tell. I'm still waiting for someone that really knows something about this topic to weigh in...JWarrior wrote:
I'm also curious about this...I always understood that the RAID chips on motherboards work similarly to the audio and network chips on the motherboard...they implement the RAID or sound or LAN port as a separate hardware device, but rely on the CPU to do the actual processing...to get true hardware processing, you need to buy a separate add-on RAID controller, Sound Card, network card, etc.
Is that correct? or do any motherboards actually have their own hardware RAID controllers on them?
anyone? How much of a difference is there in performance between a software RAID solution done by the OS, what appears to be Software RAID done through something like a Promise Raid controller with no dedicated processor, and a true hardware RAID controller?
To be accurate, these integrated hardware devices still technically provide "hardware RAID". They are just usually more CPU-dependent than other chips may be. If drivers are sometimes required, that does not negate this fact (drivers are always required for all hardware devices).
All devices must interact with the CPU -- it's just a question of how much. And for RAID-0 and RAID-1 solutions, the amount of CPU power required shouldn't really be that significant in contrast to CPU speeds today. (However, CPU-based RAID-5 absolutely hogs the CPU during writes, due to the XOR parity calculations required.)
"Software RAID" requires no hardware support whatsoever, beyond the normal single-drive controllers and drivers. It is implemented purely in software (usually the operating system).
All devices must interact with the CPU -- it's just a question of how much. And for RAID-0 and RAID-1 solutions, the amount of CPU power required shouldn't really be that significant in contrast to CPU speeds today. (However, CPU-based RAID-5 absolutely hogs the CPU during writes, due to the XOR parity calculations required.)
"Software RAID" requires no hardware support whatsoever, beyond the normal single-drive controllers and drivers. It is implemented purely in software (usually the operating system).