When is a RAID card not a RAID card?

May 27, 2013

Answer: when it’s an HBA … or … when it’s half a RAID card and half an HBA … hmmm.

In the storage industry there are RAID cards and HBAs (host bus adapters). A lot of people might think of HBAs as simple tools to connect tape drives to a server, but there is a lot more to the humble HBA and it covers a broad spectrum of the storage industry. A RAID card will take a bunch of individual physical disks, group them together into a “logical disk” (RAID array) and show that bigger, faster, redundant disk to the operating system. An HBA on the other hand doesn’t do any of that fancy stuff – it just takes the individual drives attached to the card and shows them to the operating system – sounds simple doesn’t it.

So why would you want to do that? Why single disks instead of RAID arrays? Well there are a few reasons why people want HBA functionality rather than RAID functionality. An example would be the ZFS file system where the filesystem will take individual drives and build redundant data across those drives. At the other end of town the large datacenters don’t want RAID either – they make their data redundant by load balancing across multiple disks at their application level. But what if you want both? What if you want a mirror for your operating system, then a bunch of individual drives for your fancy features? If you have to make each disk a volume or JBOD then the data flows through the RAID function of the card, utilizes cache on the card and has to be configured – a time-consuming process with a lot of drives.

An HBA on the other hand doesn’t have any configuration issues – you simply see the drives that are attached to the card. Adaptec’s Series 7 has the ability to do both. The card thinks of drives in three different formats … raw, ready and member drives. Raw drives are brand new out of the box drives that have nothing written to them (metadata) – these drives can’t be used for raid arrays. Ready drives have been initialized – a blank metadata structure has been placed on the head and foot of the drive – this drive is seen as a drive ready to go into an array (and can thus only be used for that purpose). Member drives are drives that have been consumed into RAID arrays already.

So if you have 8 drives connected to your card, you can have any combination of drives in and out of arrays, and those drives out of arrays can be presented automatically to the operating system (or hidden from the operating system). It sounds complicated but it’s not really that bad. It just opens up the possibilities for system builders to tailor solutions for their customers … and that can’t be a bad thing.