RAID stands for Redundant Arrays of Independent/Inexpensive Disks. By combining drives in various configurations, administrators can achieve greater performance and/or redundancy than when the drives are operated alone.
RAID can be implemented as either a hardware or software layer in between the raw drives or partitions, and the filesystem layer. Dedicated hardware can be used to set up and manage RAID arrays independent from the operating system. Hardware-based RAID controllers do not use host CPU cycles to manage the underlying disks, so there is no host overhead for the management of the storage devices attached. Hardware-based controllers can also provide caching, which can have performance benefits. Another benefit of using a hardware controller is that they abstract the underlying disk arrangement from the operating system. They present a group of drives as a single logical unit of storage. The operating system does not have to know or understand the RAID arrangement as it can just sees the array as if it were a single device. Because the array is managed entirely outside of software, it will be also be available at boot time, allowing the root filesystem itself to easily be installed on a RAID array. However, there are some disadvantages with hardware-based RAID controllers. They are limited in their support of smaller stripe sizes and have no visibility to the individual drives. More on this later. Let’s review the most commonly used terms and RAID levels:
- Segment/Strip/Chunk size: The amount of data written to a single disk within a RAID stripe.
- Full Stripe width: The amount of data contained in a single RAID stripe (segment/strip size × number of data-bearing disks), including the parity drive(s).
- Stripe Size: The amount of data contained in a single RAID stripe (segment size × number of data-bearing disks), excluding the parity drive(s).
- Stride: To get the best performance on a RAID array make sure you format the volume aligned to your RAID stripe size. This is referred to as the stride. By insuring the file system writes match the RAID layout, you avoid overlap calculations and adjustments on the file system, and make it easier for the system to write out to the disk. The net result is that you get better performance.