17

I thought I knew the difference between HBA and RAID.

In my mind, HBA is offloading from the main motherboard/CPU and is simply JBOD... usually has an external SAS ports, whilst a RAID card does the same job as HBA but adds all the nice RAID levels and possibly battery backup + other benefits.

After looking at the LSI website for a product, I see that they have HBA cards that have built in RAID, for example the LSI SAS 9211-8i Host Bus Adapter.

So... Clearly I am wrong!

What is the difference between an HBA card and a RAID card?

14

HBA just means 'host bus adapter', so it's anything that lets you connect to an external bus (although usually the term is applied to a something that lets you connect storage).

You might put one in to fit an external tape drive, or a SAN storage array. Usually, as in this case, it means the card isn't that intelligent. It supports only the simple types of RAID 0, 1, 10, and no onboard cache. So, I think you are more right than wrong.

11

It may not matter, depending on what your goals are... there are gray areas between both definitions - RAID controller and Host-Bus Adapter (HBA).

  • Understand that most high-quality servers have embedded RAID controllers today, so the need to select and shop for a separate RAID card has diminished as systems become more integrated...

  • RAID controller cards can have HBA-like functionality. Sometimes they'll have the ability to function in a JBOD mode or the ability to interface with an external tape drive, blurring the lines between RAID-only duties and the traditional purpose of an HBA.

  • HBAs may have basic RAID functionality. Sometimes purpose-built SAS HBAs can provide hardware RAID as an option, but will not perform as well as dedicated RAID controllers.

So to your question, if you're shopping or searching for a solution, buy the device whose primary functions align with what you're trying to do.

  • Could you explain with the following example: there is disk array, for example this one www8.hp.com/us/en/products/disk-storage/… and a server. It's necessary to connect server to disk array. In which one should I use HBA and in which one RAID? – iJava Apr 9 '15 at 0:07
  • For MSA and P2000 devices, you'd use a standard HP HBA. No RAID. – ewwhite Apr 9 '15 at 0:25
  • Ok. The only thing I don't undestand - this HBA must be located in disk array or in server? – iJava Apr 9 '15 at 0:28
  • It's installed in the server. – ewwhite Apr 9 '15 at 0:52
6

HBA: Device that plugs into your computer's bus and allows it to talk to hard drives. It may or may not provide RAID, acceleration, or other such features.

RAID controller: Device that provides RAID support, usually with hardware acceleration. It may or may not connect to your computer's bus. It may, for example, connect to a SATA port.

  • Hmm... I think I'm understanding you - So, the terms can be interchangeable but typically HBA always offloads where as RAID controllers are typically higher end with added features but not always offloaded? – William Hilsum Jul 31 '14 at 10:07
  • It used to be that HBAs typically didn't offload and RAID controllers always did. But then chipset manufacturers decided to announce that they had "RAID controllers" on their chipsets (even though there was no offloading) and some manufacturer decided "HBA" sounded like a cool name for their accelerators. – David Schwartz Jul 31 '14 at 10:08
  • So... Basically... They are completely interchangeable and I should always look at the specification and not the name of the product!? – William Hilsum Jul 31 '14 at 10:27
  • @WilliamHilsum No... just buy what you actually need. – ewwhite Jul 31 '14 at 13:22
  • @eewhite - I meant that the terms HBA and Raid are interchangeable, so, I can actually just buy what has the specs I need and not look at the name of the product... – William Hilsum Jul 31 '14 at 14:23
5

HBA stands for "Host Bus Adapter". It basically identify a card whose role is to interface the main host bus (ie: PCI-E) to other kind of buses (eg: SAS, SATA, USB, etc). As such, an HBA fulfills two different but correlated roles:

  • from the point of view of the main host adapter, it simply is a downstream adapter card that exports some resources;
  • from the point of view of the connected devices, it is a controller and/or arbiter.

This means that a pure HBA has limited intelligence, mainly used to enumerate/control/export the attached device to the main host CPU.

A RAID card is a disk-specific, higher-end evolution of a disk HBA. A pure RAID card hides the single devices from the main bus/CPU, exporting a virtual device with a specific RAID personality (ie: RAID0, RAID1, ecc).

So, given the above definitions, why there are RAID-capable HBA cards and pass-through RAID cards that export single devices to the OS? Because nowadays many HBA/RAID cards are based on similar (if not identical) chipset, with the main difference residing in the firmware images they run. For example, some LSI cards can be switched in IT (pass-through) mode rather than RAID mode (and vice-versa) by simply loading the appropriate firmware.

Moreover, RAID0/1/10 personalities are sufficiently simple to be implemented even in so-called HBA-only cards. On the other hand, RAID5/6 and BBU writeback cache are features commonly reserved for higher-end RAID cards.

1

HBA is an interface to a scsi protocol bus (whether that's parallel scsi, SAS or FC - it's just that we got out of the habit of calling parallel scsi controllers "scsi HBAs" a couple of decades ago.)

RAID controllers have more smarts and more onboard CPU to perform raid function - they may or may not have scsi interfaces on the drive side. (SATA is a subset of scsi)

For most modern applications where you need raid functionality, you're better off with a HBA and software raid.

The CPU loading for that is trivial and the drives are interchangeable if the controller fails (vs hardware raid usually needing the exact same model controller). On top of that, direct access usually allows better monitoring of drive health than the often-rudimentary monitoring on most RAID controllers.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.