Redundant Array of Independent/Inexpensive Disks (RAID) is used for the purpose of redundancy, or fault tolerance.
There are three main types of RAID:
- Hardware RAID
- Typically a separate card that you install in your server. You connect your hard disks to it instead of to your motherboard.
- Hardware RAID cards have their own processor, memory, IO ports, and often have battery backup.
- Typically they are configured through a boot-time BIOS-like utility.
- The OS only sees the combined volume, not the individual disks.
- Software RAID
- This is handled entirely in software, usually in your OS’s Kernel.
- All disks are visible to your OS (though it may hide them), and the OS generates the combined volume.
- Any IO ports available can be used, the system CPU and memory are shared. Nowadays, this has no noticeable impact on system performance.
- Firmware RAID
- Combination of Software and Hardware RAID.
- Often found on consumer-grade motherboards, or inexpensive hardware add-on cards, from brands like Promise.
- Unlike Hardware RAID, the card does not have its own processor, memory, or backup battery, only IO ports.
- Although there is a BIOS-like utility for configuration, the card itself does not do the RAID computation, it is only an overpriced IO card.
- For this to work, the OS needs a special driver. The driver is what performs the RAID, which effectively makes this software RAID.
- All of the disks are shown to the OS, though the Driver hides them and only exposes the combined volume.
- Upgrades are complex, both the Firmware and Driver need to be the same version.