RAID stands for Redundant Array of Independent Disks or Redundant Array of Independent Disks.
What is Raid?
RAID is a storage virtualization technology that combines multiple small physical disks into a single large logical unit. It means two are more disks grouped together and appears as single devices to the host system.
RAID provides data redundancy and improved performance by striping, mirroring and parity generation.
Need/Purpose of RAID:
The purpose of RAID is to provide large capacity disks along with reliability, redundancy, performance, and data availability.
While traditional hard drives are small in capacity, slow performers, unreliable, not fault-tolerant. RAID has been implemented on hard drives to achieve performance, fault-tolerance, reliability, and large capacity logical single drive.
How RAID Works
In RAID technology, data can be mirrored on one or more disks in the same array, so that if one disk fails, our data is preserved. We do striping, the option of reading or writing to more than one disk at the same time in order to improve performance.
In striping, sequential data is broken into segments which are sent to the various disks in the array, speeding up throughput.
How to implement RAID?
RAID can be implemented by two ways
- Software RAID (by using operating system drivers)
- Hardware RAID (By a dedicated RAID hardware)
Software RAID means implementing RAID by using Operating system drivers.
Primarily used with entry-level servers
Nowadays most operating systems have software RAID capability.
- Windows uses Dynamic Disks (LDM) to implement RAID
- Linux uses either the MD-RAID or LVM for a software RAID
It is cheapest way to implement RAID.
It is not possible to boot an operating system from software RAID0 or RAID5,
No hotswap is possible with software alone, without hardware support. So, software RAIDs have no hotswap.
Software RAID uses server resources like CPU and cache memory to implement RAID. So it affects the performance of the server.
Hardware RAID is implemented by dedicated RAID hardware.
We need to purchase separate RAID controller hardware to implement.
Basically, we have two options in this
Having an inexpensive RAID chip possibly built in motherboard
Having an expensive standalone RAID controller. These controllers are equipped with their own CPU and cache memory.
Build super high-capacity storage systems for high-end servers.
Hence implementing this type of hardware RIAD does not affect server performance since it does not use any server resources.
Hardware RAID supports hot swapping and allows us to boot the operating system
It is expensive to implement.