by blakerwry on Wed Jun 11, 2003 3:13 am
Terms:
RAID level - one type or way to implement RAID. There are ~7 levels, some being proprietary and most not being used because other technologies have replaced them.
RAID Array - The virtual drive created by combining one or more disks through the use of RAID. The OS sees this as one drive.
You should be interested in 3 different variants of RAID.
RAID 0 = Striping
RAID 1 = Mirroring
RAID 5 = Striping w/ distributed parity
Strengths:
RAID 0: Increase in sequential read/write speed (STR).
RAID 1: Instantaneous synchronization(backup) of a whole drive
RAID 5: Increased redundancy and increased read sequential transfer rate speed (STR)
Weakness:
RAID 0: Increased chance of failure/data loss
RAID 1: Slightly slower write speed, extra cost of having 50% capacity overhead
RAID 5: Severely slower write speed, 1 drive's capacity of overhead
Uses:
RAID in general is used to increase availability(shorten downtime in a hardware failure situation) or speed of a disk subsystem. It does not replace backups. It will not help you if you mess up.
RAID 0 is good for temporary storage or for storage of non-critical data. For desktop use you may see a 10% speed boost. For sequential operations like large file copies and live data captures you can see upto 100% speed increase. If you lose 1 drive you lose all information stored in both drives. You do not have any capacity overhead with RAID 0. For most desktop situations it is better to use 2 disks individually or spend the money on RAM, CPU, or another system component.
RAID 1 is good for improving redundancy and availability. You will, however, lose 50% of your total hard drives capacity by using this RAID level. This is because you will have 2 hard drives that are exact copies of eachother. This is good for small to large servers
RAID 5 is good for file servers or DB servers that are read from and written to rarely or very little. Normally a 3 drive RAID 5 array will read as fast as a 2 drive RAID 0 array and will write as fast as a single drive. By using RAID 5 you will lose 1 drives worth of capacity(ex: you have 3 120GB drives, the total capacity of the array will be (120*3)-120 = 240GB)
(Both RAID 1 and RAID 5 can sustain the loss of 1 drive without losing information)
Hardware vs Software RAID:
There are two types of ways to get RAID. The traditional route is to use a hardware controller that performs all the neccessary operations and basically does all the work of controlling and operating the RAID array. Hardware controllers will often have onboard cache memory to help improve read/write speed.
These controllers are usually standard PCI cards and are typically much more expensive than their software brothers.
Software (or Host based) RAID cards are basically traditional hard drive controllers that have RAID features "tacked on" They use the computers CPU to perform all calculations and therefore may cause a slight performance drop in some situations.
Software RAID controllers are suitable to do RAID 0 and 1, but should not be used for RAID 5 (although some allow it). Software RAID controllers will have no onboard cache and will instead use system RAM controlled by drivers for any needed caching.
Software RAID controllers are not neccesarily any slower than hardware controllers, but they are typically not thought of as reliable or as having as many features as a hardware controller. For most home users, the cost of a hardware controller does not warrant their use.
Additionally, software RAID can be done by the Operating System. WinNT and Linux allow RAID 0, 1, and 5. The performance of OS based software RAID is usually as fast as that of software RAID controllers, but with more system lag.
Side notes:
RAID is best used with identical disks (same model, firmware, date of manufacure, etc) Using different disks could result in errors or unexpected slow downs. Also, disks should almost always be RAIDed as whole disks and not as partitions (which is allowed in OS based software RAID)
RAID levels can be combined, ex: RAID 10 or 01, or RAID 05. This would be a stripe set of mirrors, a mirror set of stripes, and a stripe set of striped parity respectively. Typically you would combine RAID levels when you wish to increase speed while keeping a high level of redundancy and thus would use RAID 0 with a redundant level like 1 or 5.
Some hardware RAID controllers:
Any 3ware brand card
Promise SuperTrak (you'll want to double check this)
Mylex AcceleRAID
Most SCSI RAID controllers
Some software controllers:
Promise FastTrak 66, 100, 133
All Adaptec IDE controllers
I think all Highpoint controllers (you'll want to double check this)
Anything marked HostRAID or SoftRAID