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.