NVR's, particularly those using PC hardware, make extensive use of RAID storage as they typically allow significantly more cameras to be recorded per NVR platform and, therefore, need larger storage. RAID (redundant array of independent disks) is a system using multiple hard drives to share or replicate data among the drives. Depending on the configuration of the RAID (typically referred to as the RAID level), the benefit is one or more of increased data integrity, fault-tolerance, throughput or capacity compared to single drives.
At the very simplest level, RAID combines multiple hard drives into a single logical unit. Thus, instead of seeing several different hard drives, the operating system sees only one. RAID is typically used on server computers, and is usually (but not necessarily) implemented with identically sized disk drives.
Fault-tolerance is the ability of a computer or operating system to respond to a catastrophic event, such as a power outage or hardware failure, so that no data is lost and that work in progress is not corrupted.
RAID provides fault-tolerance by implementing data redundancy. With data redundancy, data is written to more than one disk in a manner that allows recovery of the data in the event of a single hard disk failure.
Parity is a mathematical method of verifying data integrity. Fault-tolerance is achieved by adding a parity information stripe to each disk partition in the volume. The parity stripe block is used to reconstruct data for a failed physical disk.
"Striping" is when data is written across multiple disk drives simultaneously.
The RAID definitions were published, in 1987, in a white paper by the University of California, Berkeley, and are not standardised by any industry group. Over the years, different implementations of the RAID concept have appeared. Most differ substantially from the original idealized RAID levels, but the numbered names have remained.
RAID 0: Striped Set
RAID 1: Mirrored Set
RAID 3/4: Striped with Dedicated Parity
RAID 5: Striped Set with Distributed Parity
RAID 6: Striped Set with Dual Distributed Parity
RAID 0
Data striping without redundancy - data is written across multiple drives simultaneously providing very high read/write speeds but without redundancy. If a drive fails then all data is lost. RAID 0 can also be used to create a single large volume out of multiple smaller drives and requires a minimum of 2 drives.
RAID 1
In this configuration data is not stripped. It uses at least two drives, or an even number of drives, where each drive is mirrored to another. Disk mirroring is actually more stable and reconstructs better than RAID 5. It is also “hot pluggable”. One advantage of RAID 1 is that reconstructing a mirror can occur without interrupting file access. Mirror sets can enhance read performance because the fault-tolerant driver reads from both members of the set at once. There can be a slight decease in write performance because the fault tolerant driver must write to both members at once.
RAID 3
This configuration stores parity information on a single, separate drive while data is striped over the other drives. At least three drives are required for this configuration, and it is not “hot pluggable”. If any data drive fails, file system access is not interrupted, but replacing a drive requires downtime for replacement and reconstruction. RAID 3 performs better for extremely large files and large block sizes.
RAID 5
This is the most common type of RAID subsystem. It uses at least three drives, striping data over all drives, and duplicates the parity information on each drive. RAID 5 is designed as “hot pluggable”, meaning that a drive can potentially be removed and replaced on-the-fly without shutting down the system or interrupting file system access (should the hardware support this feature). If a file reconstruction is necessary, however, this type of system must be taken off-line. RAID 5 is most efficient with small block sizes. All normal write operations on a stripe set with parity are slower than writing to a stripe set without parity due to the parity calculations.
The distribution of data across multiple disks can be managed by either dedicated hardware or by software.
With a software implementation, the operating system manages the disks of the array through the normal drive controller. A hardware implementation of RAID requires at a minimum a special-purpose RAID controller. Hardware implementations also typically support hot swapping, allowing failed drives to be replaced while the system is running.
Both hardware and software versions may support the use of a hot spare, a preinstalled drive which is used to immediately (and almost always automatically) replace a drive that has failed. This reduces the mean time to repair period during which a second drive failure in the same RAID redundancy group can result in loss of data.
It is also possible to use nested RAID levels. That is, one RAID can use another as its basic element, instead of using physical disks. It is instructive to think of these arrays as layered on top of each other, with physical disks at the bottom.
Common nested RAID levels:
RAID 01: A mirror of stripes
RAID 10: A stripe of mirrors
RAID 50: A stripe across dedicated parity RAID systems
RAID 51: A mirror striped set with distributed parity (some manufacturers label this as RAID 53)
RAID 100: A stripe of a stripe of mirrors
RAID 10
This is the most commonly deployed hybrid configuration, and is not defined by the UCB white papers. It is a combination of striping and mirrors. In this configuration data is striped over two or more drives and mirrored to an exactly duplicated subsystem. RAID 10 provides the best performance and the best fault-tolerance, is “hot pluggable”, and can be reconstructed on-the-fly without interrupting file-system access.
JBOD
Although not a RAID system, a concatenation of disks (also called JBOD,
or "Just a Bunch of Disks") is also a popular method for combining multiple
physical disk drives into a single virtual disk.
What RAID Can Do
RAID can protect uptime. RAID levels 1, 0+1/10, 5, and 6 (and their variants such as 50 and 51) allow a mechanical hard disk to fail while keeping the data on the array accessible to users.
RAID can increase performance in certain applications. RAID levels 0, and 5-6 all use variations on striping, which allows multiple spindles to increase sustained transfer rates when conducting linear transfers.
What RAID Cannot Do
RAID cannot protect the data on the array. A RAID array has one file system. This creates a single point of failure. A RAID array's file system is vulnerable to a wide variety of hazards other than physical disk failure, so RAID cannot defend against these sources of data loss.
RAID will not stop a virus from destroying data.
RAID will not prevent corruption.
RAID will not save data from accidental modification or deletion by the user.
RAID does not protect data from hardware failure of any component besides physical disks.
RAID does not protect data from natural or man made disaster such as fires and floods. To protect data, data must be backed up to removable media, such as DVD, tape, or an external hard drive, and stored in an off site location.
RAID alone will not prevent a disaster from turning into data loss. Disaster is not preventable, but backups allow data loss to be prevented.