https://zhuanlan.zhihu.com/p/576562821
引言:在SAS/SATA RAID卡开始转向Tri-Mode即支持NVMe之后,关于软硬RAID哪个更好的讨论还在继续。而Broadcom和Microchip这两家大厂的手里,正好都掌握着PCIe Switch芯片技术。不知是否有朋友考虑过,如果把传统RAID卡与PCIe Switch相结合(比如下图),会有什么样的结果呢?
目录
-Microchip 24G SAS/PCIe Gen4三模RAID卡
-RAID 5/6带宽优秀,但IOPS相对一般?
-RAID芯片嵌入PCIe Switch:Bypass vs. 协议栈改良
-ROC应用示例与SAS的前景
这几天我看到有技术同行讨论RAID卡的RAID 5/6顺序写带宽(对应XOR异或计算处理性能),而Broadcom(原LSI)最近2代产品都没在公开资料里给出这个指标,或许全SSD配置在应用中面对随机I/O负载偏多吧?(工作站和Isilon类文件存储还是更看重带宽的)《350万IOPS:NVMe SSD RAID卡性能测试解析》一文里我介绍过Dell PERC 11 卡在RAID 10写带宽测试中跑到5,908 MB/s,按常规理解RAID 5应该要低一些。
至于Broadcom最新一代能跑到多少我还不清楚,但他们的竞争对手MicroChip(其存储业务即之前被MicroSemi收购的PMC-Sierra)却公布了相关性能指标。
Microchip 24G SAS/PCIe Gen4三模RAID卡
其实Microchip也发布了支持24G SAS和PCIe Gen4 NVMe驱动器的、新一代Tri-Mode三模RAID控制芯片和阵列卡。上面照片就是其中的一款Adaptec SmartRAID Ultra 3258p-32i,它除了使用PCIe Gen4 x16插槽连接服务器主板之外,还提供了4个SFF-8654(x8 lane)连接器,也就是支持32个连接SAS或PCIe设备的下行信道,不经过SAS Expander/PCIe Switch即可支持32块SAS/SATA盘或者8个PCIe x4完整带宽连接的NVMe SSD。
相比之下,Broadcom最新一代RAID卡的下行SAS/PCIe信道最多是24 lane。当然需要指出的是,这里的无论24还是32 lane并不能同时跑满全速,因为上行带宽受PCIe Gen4 x16插槽制约,实际测试中30GB/s左右基本就很不错了。
注:上面截图中的CBE指的是基于控制器的加密(Controller-Based Encryption)
拿硬件阵列卡做RAID 0的用户毕竟不多,所以大家更关心RAID 5/6的表现。如上图,SmartRAID 3200资料中的最大带宽是29.6GB/s;RAID 5写带宽最高能达到11.7GB/s。这大致达到了GPU加速mdraid方案GRAID的一半水平(扩展阅读《110 GB/s、1900万 IOPS:使用GPU的RAID卡及其背后》),应该说比较优秀了,毕竟传统RAID卡有掉电缓存保护,数据一致性比较放心。
(图片点开后可放大查看)虽然我们在这里讨论高性能,但出货最多的RAID卡型号还是PCIe x8、连接SAS、SATA盘的为主,毕竟x16高lane带宽的贵哦
上图是SmartRAID 3200系列的型号规格表,Microchip支持的RAID级别多了一种Triple(即三重镜像),由于容量损失较多,实用价值似乎不太大。另外这里列出的Cache Width缓存位宽128/64-bit指的是刨除ECC校验之后的实际数据宽度。
RAID 5/6带宽优秀,但IOPS相对一般?
Microchip还指出,带有144-bit DDR4 3200MHz内存(双通道ECC Cache)的高端RAID卡与配置72-bit单通道缓存的型号相比,在RAID 5写带宽上能高出45%。其实在上一篇中,我也提到了Broadcom的高端型号“MegaRAID 9670W -16i配备了8GB双通道缓存”。
主机界面PCIe Gen4 x16的SmartRAID 3200 Ultra系列RAID卡,最高读/写带宽性能达到29.6GB/s,应该是指RAID 0或者直通;而不带Ultra的3200系列都是PCIe x8,只有一半的带宽即15GB/s。
顺便说一下随机读IOPS。Microchip列出的350万+看上去与Broadcom上一代RAID卡差不多,但具体是什么RAID级别下实现的,我们还要结合下一张图来看。
Microchip在上图中写出RAID 5 4K随机读IOPS是85万,与Broadcom新发布的24G SAS Tri-Mode MegaRAID相比看上去没差太多。但别忘了后者可是90-110万4K写(如下图),Microchip却并没给出随机写性能(我估计他们可能还没有像Broadcom那样做RAID 5算法上的变革),另外Broadcom上一代可是能做到RAID 5随机读IOPS 350万哦。
下面我再列出Adaptec HBA 1200系列(SmartIOC 2200芯片)直通卡做个参考:
从这里可以再次看出,Microchip的3.5M+ IOPS是针对的HBA直通的性能,最多包括RAID 0/1。
这里我多聊一句,关注大文件顺序I/O性能的用户,也有不少用的是HDD机械硬盘,而上面写的11.7GB/s应该是用SSD RAID5测出来的。如果换成HDD,按照单盘最高250MB/s(实际上多数情况达不到)来计算至少也要50-60块盘、做多组RAID才可能接近这一带宽水平。还有一点,大容量机械盘您敢不用RAID 6吗?R6性能应该比R5要低一些哦。
如上图,SmartROC/SmartRAID 3200系列的RAID 6最大写带宽可达10.5GB/s,这也是个不错的数字。
RAID芯片嵌入PCIe Switch:Bypass vs. 协议栈改良
DirectPath技术的示意图就是我在本文开头列出那张。从Host主机上驱动与NVMe SSD之间的I/O路径,传统Tri-Mode RAID卡应该要经过“硬件控制&加速单元”——但实际上面对高速NVMe SSD,ROC芯片已经出现了瓶颈。
DirectPath相当于在ROC中嵌入一颗整合的PCIe Switch,这样数据路径就可以Bypass之前影响到性能和延时之处。我理解Microchip的350万IOPS可能就是走的DirectPath;而RAID 5 IOPS 85万应该还是经过ROC上的传统处理路径。
那么思考题来了:Broadcom24G SAS/PCIe 4 RAID卡的600万随机读IOPS,以及上一代的350万,是不是也在ROC芯片中集成PCIe Switch做了“直通”处理呢?虽然我现在还没有答案,而类似地,RAID 5 90万-110万IOPS这个数字也是走的传统XOR等处理单元——但Broadcom这一代的协议栈/算法做了改良。
如上图:如果只看性能,强如GRAID其RAID 5随机写IOPS也只能跑到150万,和顺序写一样都是经过NVIDIA GPU来处理的;GRAID的读路径显然没有经过GPU,就是CPU直接走PCIe访问SSD,所以(这种软RAID)数据看来很漂亮。
ROC应用示例与SAS的前景
下面再简单看看SmartRAID 3200阵列卡对应的SmartROC芯片型号。
图表供参考
上图是SmartROC资料中列出的一种用例:RAID卡上每个x8 Tri-Mode连接器,可以在连接到背板后拆分到8个SFF-TA-1001通用驱动器槽位,支持NVMe/SAS/SAS(此时都是x1 lane);也可以拆分为2个x4 NVMe或者连接MultiLink SAS目标设备。
我记得有些24Gb/s和12Gb/s SAS SSD的双端口也支持合并(即MultiLink)使用,但在服务器上它们的性价比似乎没有NVMe SSD高。好处有哪些呢?24G(22.5Gb/s)单个lane的速率暂时比PCIe 4.0的16GT/s高,但PCIe 5.0也快来了,所以SAS(SCSI)技术除了在存量的SAN/NAS存储阵列市场,未来走势已经注定了吧?我看到闪存越来越便宜,而NVMe HDD不是也有人在搞了…
另有3种参考用例如下。大家应该都不难理解,我就不一一赘述了。
High-Performance NVMe RAID
Caching HBA
Externally Connected JBOD with DCM
综上,截至今天最新一代RAID卡Microchip对比Broadcom输了IOPS却可能赢了带宽。我在这两篇聊的SAS/SATA/NVMe(即Tri-Mode)RAID/HBA领域,虽然不像FC HBA卡的两家Emulex和QLogic那样“势均力敌”,但一个有竞争的市场,至少我们能看到参数指标竞争和不同的报价,总是比一家垄断要好吧:)
扩展阅读:《企业存储技术》文章分类索引(微信公众号专辑)》
注:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。如果您想在这个公众号上分享自己的技术干货,也欢迎联系我:)
尊重知识,转载时请保留全文,并包括本行及如下二维码。感谢您的阅读和支持!《企业存储技术》微信公众号:HL_Storage