PDA

View Full Version : General RAID options with Raptors?



Machinus
08-07-2008, 03:50 PM
Suppose I have 3-4 raptors that I want to RAID. I am considering RAID 0, but truthfully I am more than willing to give up capacity for reliability if there isn't too much of a sacrifice in performance.

How does RAID 5 compare to RAID 0 for things other than capacity?

stevecs
08-07-2008, 06:02 PM
for reads raid-5 would be the same as raid-0 with one less disk. for writes it would be slower (worst case the speed of a single drive if doing 100% random writes). This is assuming that you don't have any other bottlenecks in the system and are just comparing raid levels.

Brahmzy
08-07-2008, 07:13 PM
RAID5 really sucks for writes.

stevecs
08-08-2008, 02:20 AM
There are other raid levels, if you are interested in availability more than capacity, do a raid-10 w/ the 4 drives. That would give you about the same speed as raid-0 for reads but the write speed of (# drives / 2) which would be better than any parity raids. Only concern with raid-10 is that you use 50% of the space for redundancy, however it is the highest performing of the redundant RAIDs. For my system I use it for this purpose w/ 8 savvios which provides very nice performance.

YMAA
08-08-2008, 04:02 AM
RAID5 is good with 4 or more drives. Using 3 will result in noticeably lower performance than RAID0.

RAID1 is also good. It has the same write speeds as a single disk but reads almost as fast as RAID0, but with redundancy. I'd recommend that if you want to use 4 Raptors and would like a little safety.

Machinus
08-08-2008, 11:37 AM
For four drives:

RAID 0 read and write would scale almost linearly with drive number so this is the highest performance (~4x speed), but zero safety.

How fast would read/write be for RAIDS 1, 5, and 01?

RAID 0: ~4x
RAID 1: ?
RAID 5: <3x due to controller?
RAID 01: 2x?

stevecs
08-08-2008, 02:53 PM
very roughly: (assuming enough requests to fill the request queue, and assuming that load is 100% random (worst-case, only way to calculate without all variables) and assuming that you don't have any external bottlenecks (ie, I/O channels, cpu, controller, whatever, only the drive(s) being the bottlenecks).

RAID0 = read (speed of drive * # of drives) write (speed of drive * # drives)
RAID1 = read (speed of drive * # of drives) write (speed of single drive)
RAID5 = read (speed of drive * (# of drives - 1)) write (speed of single drive) (4:1 IOP penalty)
RAID6 = read (speed of drive * (# of drives - 2)) write (speed of single drive) (6:1 IOP penalty)
RAID10 = read (speed of drive * # of drives) write ((# of drives / 2) * speed of drive)

RAID-10 would be the next in speed after RAID-0, RAID 4,5 would be about the same after raid 10, and raid-6 would be the last (not including raid-1 as that's only two drives). RAID-3 would have higher write speeds than raid 4,5,6 but you are limited to writing a full stripe width each time so it's only good for things of known sizes (video, some transactional systems et al). NOT for a general use system.