RAID (Redundant Array of Inexpensive or Independent Disks)
RAID is a method of combining multiple hard disks in a single logical unit to offer high availability, performance or a combination of both. This provides better resilience and performance than a single disk drive.
Many operating systems provide functionality for implementing software based RAID systems. The software RAID systems generate the RAID algorithms using the server CPU; this can severely limit the RAID performance. Should a server fail the whole RAID system is lost. Cheap to implement and only need a single SCSI controller.
All RAID algorithms are generated on the RAID controller board, thus freeing the server CPU. Allows full benefits and data protection of RAID. More robust and fault tolerant than software RAID. Requires dedicated RAID controller to work.
Various RAID levels exist. They are 0, 1, 2, 3, 4, 5, 6, 7, 10, & 0+1. The levels of RAID protection varies with the RAID level selected.
Most RAID levels employ striping, it is a term used to describe when individual files are split and written to more than one disk. Striping is the way that RAID gets around the performance limitation of mechanical storage by performing read and write operations to all disks simultaneously.
Mirroring is the simplest way to give redundant storage. This is a technique that can only be used on two disks unless combined with striping. When data is written to one disk, it is simultaneously written to the other disk, so in a mirrored array the two drives are always an exact copy of each other. If one of the drives fails, service can continue uninterrupted and without data loss as the other drive simply takes over.
RAID 0 (Striped -> No Fault Tolerance)
Offers no redundancy or fault tolerance, hence does not truly fit the "RAID" acronym. In level 0, data is striped across drives, resulting in higher data throughput. Since no redundant information is stored, performance is very good, but the failure of any disk in the array results in data loss. This level is commonly referred to as striping.
Advantages: No parity generation. Easy to implement. Cost effective. Utilizes full disk capacity.
Disadvantages: Not a true RAID. No redundancy / fault tolerance. Drive failure will result in data loss. Not suitable in mission critical environments
Applications: Pre-Press. Video editing and production. Image manipulation/editing.
RAID 1 (mirroring)
Provides redundancy by writing all data to two or more drives. The performance of a level 1 array tends to be faster on reads and slower on writes compared to a single drive, but if either drive fails, no data is lost.
This is a good entry-level redundant system, since only two drives are required; however, since one drive is used to store a duplicate of the data, the cost per megabyte is high. This level is commonly referred to
Advantages: No parity generation. Easy to implementExtremely fault tolerant. Utilizes full disk capacity. 2 drives minimum.
Inefficient use of disk space, High disk overhead. Doubles number of writes.
: Pre-Press. Video editing and production. Image manipulation/editing.
RAID 3 (Parity -> stripped with dedicated parity for data redundancy)
Provides redundancy by writing all data to three or more drives. This RAID 3 disk array provides excellent storage for video imaging, streaming, publishing applications or any system that requires large file block transfers.
Single dedicated parity disk. High read data rate. High write data rate. 4 drives minimum. No performance degradation if drive fails. Best and worst case performance similar
Inefficient with small file transfer.
: Video Streaming. Video Publishing. Video Editing. Pre Press. Image editing. Any application that needs heavy updating and large file usage,
RAID 5 (Distributed Parity)
Provides redundancy by writing data and parity information across three or more drives, thus increasing performance. The RAID Level 5 provides the best combination of disk array technology. The most popular RAID level supplied.
: Most flexible of all disk arrays. Best balance cost / performance / protection of any RAID system. Allows multiple simultaneous writes. High read data rate. Medium write data rate. 3 drives minimum. Ideal for small write applications. Highly efficient.
Inefficient with large file transfer. Disk failure has an impact on performance.
RAID 10 (Mirrored -> Striped (Reliable, High Performing)
Provides very high performance and redundancy. Data is simultaneously mirrored and striped. Can, under circumstances, support multiple drive failures.
: Highly fault tolerant. High data availability. Very good read / write performance.
Very expensive. Drive spindles must be synchronized. Not very saleable.
: Where high performance and redundancy are critical.
Parity Fault Tolerance
This is a technique which is fairly simple but very effective. It works by performing a logical operation on the data as it stores it and writing the result of this operation to either a dedicated disk (RAID 2,3 & 4) or on the main data disks (RAID 5). The logical operation normally used is XOR (eXclusive OR).
Refers to a technique of checking whether data has been lost or written over when it's moved from one place in storage to another or when transmitted between computers. Here's how it works: An additional binary digit, the parity bit, is added to a group of bits that are moved together. This bit is used only for the purpose of identifying whether the bits being moved arrived successfully. Before the bits are sent, they are counted and if the total number of data bits is even, the parity bit is set to one so that the total number of bits transmitted will form an odd number. If the total number of data bits is already an odd number, the parity bit remains or is set to 0. At the receiving end, each group of incoming bits is checked to see if the group totals to an odd number. If the total is even, a transmission error has occurred and either the transmission is retried or the system halts and an error message is sentto the user.