27

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?

Basil
  • 8,811
  • 3
  • 37
  • 73
William Hilsum
  • 3,506
  • 5
  • 28
  • 39
  • 1
    The headline for that card `...and integrated RAID...` suggests it's a combination of the two. – user9517 Jul 31 '14 at 08:31
  • @Iain - but then surely it should be listed in their RAID section! ... Their HBA section shows quite a few cards with RAID - http://www.lsi.com/products/host-bus-adapters/pages/default.aspx#tab/product-family-tab-2 – William Hilsum Jul 31 '14 at 08:39
  • Speak to them about it then ? – user9517 Jul 31 '14 at 08:40
  • well, it isn't just a LSI issue, other vendors seem to be the same now... which is why I have the question asking and wondering if there is something I have overlooked. – William Hilsum Jul 31 '14 at 09:02
  • 1
    I know this is a slightly old thread by now, and the question is pretty well answered, but this pdf from Adaptec is really great at explaining the differences and is a great overall primer on RAID in general: https://www.adaptec.com/nr/pdfs/intro_raid.pdf – Tim Katje Jan 06 '16 at 21:50

5 Answers5

18

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.

richardb
  • 1,206
  • 9
  • 14
13

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.

ewwhite
  • 194,921
  • 91
  • 434
  • 799
  • Could you explain with the following example: there is disk array, for example this one http://www8.hp.com/us/en/products/disk-storage/product-detail.html?oid=4118559 and a server. It's necessary to connect server to disk array. In which one should I use HBA and in which one RAID? – ThatsMe Apr 09 '15 at 00:07
  • For MSA and P2000 devices, you'd use a standard HP HBA. No RAID. – ewwhite Apr 09 '15 at 00:25
  • Ok. The only thing I don't undestand - this HBA must be located in disk array or in server? – ThatsMe Apr 09 '15 at 00:28
  • It's installed in the server. – ewwhite Apr 09 '15 at 00:52
11

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.

David Schwartz
  • 31,215
  • 2
  • 53
  • 82
  • 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
  • Most HBAs don't do RAID. Most RAID cards won't let you connect anything but a storage device. HBAs are normally just to let you connect to SAS or FC. Raid cards are normally just for connecting local drives. – Basil Aug 01 '14 at 20:10
  • To add insult to injury: some RAID cards will ONLY accept actual *pairs* (from past experience). So with these types of cards, you cannot always "misuse" a true 2-port SATA RAID card for simply connecting one lone drive for extra storage. Moreover, the RAID ones are notorious for refusing e. g. SATA DVD-ROM drives. As here: once I replaced it with a true HBA card, it worked great. Come to think of it, this is the gist of Basil's post: *Most RAID cards won't let you connect anything but a storage device.* Bingo. A DVD-ROM is commonly *not* called a "storage device", hence it will be refused. – syntaxerror Dec 03 '14 at 22:55
10

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.

user
  • 4,267
  • 4
  • 32
  • 70
shodanshok
  • 44,038
  • 6
  • 98
  • 162
2

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.

Stoat
  • 31
  • 1