HBA卡和RAID卡有什么区别?

我以为我知道HBA和RAID之间的区别。

在我看来,HBA从主板/ CPU卸载,只是简单的JBOD …通常有一个外部SAS端口,而RAID卡做与HBA一样的工作,但增加了所有漂亮的RAID级别和可能的电池备份+其他好处。

在查看一个产品的LSI网站后,我看到他们拥有内置RAID的HBA卡,例如LSI SAS 9211-8i主机总线适配器 。

所以…显然我错了!

HBA卡和RAID卡有什么区别?

HBA仅仅意味着“主机总线适配器”,所以它可以让你连接到外部总线(尽pipe这个术语通常被用于一些可以连接存储器的东西)。

您可能需要安装一个外置磁带机或SAN存储arrays。 通常,就像在这种情况下,这意味着卡不是那么聪明。 它仅支持简单types的RAID 0,1,10,并且不支持板载caching。 所以,我认为你是对的而不是错。

这可能无关紧要,这取决于你的目标是什么……这两个定义之间有灰色区域 – RAID控制器和主机总线适配器(HBA)。

  • 了解到大多数高质量服务器今天已经embedded了RAID控制器,所以select和购买单独的RAID卡的需求随着系统集成度的提高而下降。

  • RAID控制器卡可以具有类似HBA的function。 有时他们有能力以JBOD模式工作,或者具有与外部磁带驱动器连接的能力,模糊了仅支持RAID的职责和HBA的传统目的之间的界限。

  • HBA 可能具有基本的RAIDfunction。 有时,专用的SAS HBA可以提供硬件RAID作为选项,但性能不如专用RAID控制器。

因此,对于您的问题,如果您正在购买或寻找解决scheme,请购买主要function与您正在尝试的function相匹配的设备。

HBA:插入计算机总线并允许与硬盘进行通信的设备。 它可能会或可能不会提供RAID,加速或其他此类function。

RAID控制器:提供RAID支持的设备,通常使用硬件加速。 它可能会或可能不会连接到您的计算机的总线。 例如,它可能连接到SATA端口。

HBA代表“主机总线适配器”。 它基本上识别一个卡,其作用是将主要总线(即:PCI-E)连接到其他types的总线(例如:SAS,SATA,USB等)。 因此,HBA履行两个不同但相关的angular色:

  • 从主适配器的angular度来看,它只是一个下游适配卡,用于输出一些资源;
  • 从连接设备的angular度来看,它是一个控制器和/或仲裁器。

这意味着纯粹的HBA具有有限的智能,主要用于枚举/控制/导出连接的设备到主CPU。

RAID卡是磁盘HBA的磁盘特定,更高端的演变。 一个纯RAID卡从主总线/ CPU隐藏单个设备,导出具有特定RAID个性(即:RAID0,RAID1,ecc)的虚拟设备。

那么,鉴于上述定义,为什么有支持RAID的HBA卡和将单个设备导出到操作系统的直通RAID卡? 因为现在很多HBA / RAID卡都是基于类似的(如果不是相同的)芯片组,主要区别在于它们运行的​​固件映像。 例如,一些LSI卡可以通过简单地加载适当的固件来切换到IT(直通)模式而不是RAID模式(反之亦然)。

而且,即使在所谓的仅HBA卡中,RAID0 / 1/10的个性也足够简单。 另一方面,RAID5 / 6和BBU回写caching是通常用于更高端RAID卡的function。

HBA是scsi协议总线的接口(无论是scsi,SAS还是FC) – 几十年前,我们已经摆脱了调用并行SCSI控制器“scsi HBA”的习惯。)

RAID控制器有更多的智能和更多的板载CPU执行突袭function – 他们可能会或可能不会在驱动器端scsi接口。 (SATA是scsi的一个子集)

对于需要RAIDfunction的大多数现代应用程序,最好使用HBA和软件RAID。

如果控制器发生故障(相对于硬件RAID通常需要完全相同的型号控制器),CPU的负载是微不足道的,驱动器是可以互换的。 除此之外,直接访问通常允许更好地监控驱动器的健康状况,而不是对大多数RAID控制器进行基本的监控。