RAID
RAID aka R.A.I.D. or Redundant Array of Independent Disks is a data storage virtualization technology that combines multiple physical disk drive components into one or more logical units for the purposes of data redundancy, performance improvement, or both. In a RAID configuration the data is distributed across the drives in one of several ways, referred to as RAID levels, depending on the required level of redundancy and performance. The different schemes, or data distribution layouts, are named by the word "RAID" followed by a number, for example RAID 0 or RAID 1. Each scheme, or RAID level, provides a different balance among the key goals: reliability, availability, performance, and capacity. RAID levels greater than RAID 0 provide protection against unrecoverable sector read errors, as well as against failures of whole physical drives.
Originally, there were five standard levels of RAID, but many variations have evolved, including several nested levels and many non-standard levels (mostly proprietary). RAID levels and their associated data formats are standardized by the Storage Networking Industry Association (SNIA) in the Common RAID Disk Drive Format (DDF) standard.
DDF Standard:
- RAID 0 – Block level striping. MD can handle devices of different lengths, the extra space on the larger device is then not striped.
- RAID 1 – Mirror.
- RAID 4 – Like RAID 0, but with an extra device for the parity.
- RAID 5 – Like RAID 4, but with the parity distributed across all devices.
- RAID 6 – Like RAID 5, but with two parity segments per stripe.
- RAID 10 – Take a number of RAID 1 mirrorsets and stripe across them RAID 0 style.
RAID 10 is distinct from RAID 0+1, which consists of a top-level RAID 1 mirror composed of high-performance RAID 0 stripes directly across the physical hard disks. A single-drive failure in a RAID 10 configuration results in one of the lower-level mirrors entering degraded mode, but the top-level stripe performing normally (except for the performance hit). A single-drive failure in a RAID 0+1 configuration results in one of the lower-level stripes completely failing, and the top-level mirror entering degraded mode. Which of the two setups is preferable depends on the details of the application in question, such as whether or not spare disks are available, and how they should be spun up.
Many RAID levels employ an error protection scheme called "parity", a widely used method in information technology to provide fault tolerance in a given set of data. Most use simple XOR, but RAID 6 uses two separate parities based respectively on addition and multiplication in a particular Galois field or Reed–Solomon error correction.
The distribution of data across multiple drives can be managed either by dedicated computer hardware, Hardware RAID, or by software as in Software RAID. Software RAID may be part of the operating system, part of the firmware and drivers supplied with a standard drive controller (so-called "hardware-assisted software RAID"), or it may reside entirely within the hardware RAID controller.
Earlier in the increased popularity of RAID within the industry RAID implementations typically used SCSI type hard drives. It is not uncommon today to find implementations using IDE/EIDE and SATA drives such as Hardware RAID on Linux- IDE and SATA.