IBM XIV Gen3剖析:InfiniBand、SSD缓存

本文作者:admin       点击: 2011-07-14 00:00
前言:
我们看到在IBM网站上已经发布了XIV Storage System Gen3(第三代XIV存储系统)。XIV被IBM称为网格磁盘存储,与DS8000系列一同归类为高端存储系统,在架构设计上采用了当前比较先进的Scale-out(横向扩展)方式。 

本次XIV更新的重要变化之处包括:节点间使用InfiniBand互连提高吞吐量并降低延迟;更换CPU同时增加内存;还有8Gb/s光纤通道主机接口(上一代XIV为4Gb/s FC)等。

 

IBM网站上的XIV 3D Demo演示:上图为其中的“Show Data Module(数据模块,即单个节点)”。可以看出这是一台标准的2U x86服务器,CPU散热器下面应该是2颗处理器,而内存插槽和整个主板的布局却有点像当年曾经流行的Intel Xeon 5000/5400平台。这里究竟存在些什么疑问?我们会在后面给大家解释。

前两代XIV的千兆以太网互连瓶颈?

 

第二代IBM XIV Storage System架构图

上面是IBM XIV Gen3之前产品的架构图。我们看到整个系统中最多可以有6个接口模块和9个数据模块,15个模块都带有硬盘存储空间。接口模块和数据模块之间使用千兆以太网进行连接,2个以太网交换机在系统内部互连中起到了关键的作用,而只有接口模块才提供FC SAN、iSCSI主机访问端口。

笔者当初看到这个架构时的想法是:前端主机接口为无损高效的4Gb/s光纤通道,而节点之间互连却采用了带宽相对较低、且为有损传输的1Gb/s以太网,效率上会有问题吗?不久前看到国内同行透露IBM新一代XIV将采用InfiniBand,如今发布的XIV Storage System Gen3证实了这一点。

 

第二代IBM XIV Storage System接口模块(带有iSCSI)后视图

在上一代XIV的接口模块上,除了2块FC HBA卡提供的4个光纤通道主机接口之外,还可以最多配置4个iSCSI主机接口(使用一块4端口千兆以太网卡),另有6个千兆网口(包括另一块4端口千兆网卡和2个板载千兆网口)分别连接到2个内部互连交换机。

相比之下,数据模块则只需要2个板载千兆网口,这是因为接口模块为了实现主机访问的负载均衡、维护系统的元数据和分布式缓存需要大量的节点间通信。笔者认为,较多的以太网端口使整个系统的连接有些复杂,且不利于进一步的扩展。

对于第三代XIV,IBM宣称其吞吐量提高了4倍,响应时间缩短了3倍,能够在单一系统上承载更多的应用,还有未来可以升级加入的“SSD Caching”固态缓存选件。

后面2页,我们将会进一步介绍和分析这些都是如何实现的?以及XIV Gen3和第二代产品之间的具体差异。

统一“数据模块”、InfiniBand引领带宽提升



IBM XIV Storage System Gen3:组件和连接示意图

第三代XIV的15个节点都统称为数据模块,它们各包含:12个3.5英寸SAS驱动器、24GB内存、4核Intel至强CPU和2个20Gb/s InfiniBand HCA接口(内部节点间互连)。另有2个InfiniBand交换机提供了冗余的内部模块连接和600Gb/s的总带宽(20Gb/s×2×15计算而来)。

根据IBM提供的资料,第二代XIV的千兆以太网互连架构的总带宽只有108 Gb/s,与XIV Gen3之间的差距就不用笔者多说了吧。

上图中的机柜按照不同颜色示意分成4个部分:最下面“绿色”的是3个UPS(不间断电源),因为XIV节点中带有写缓存来提高性能,UPS就是为了防止DRAM中的数据丢失(这一点类似于SVC存储虚拟化设备);在“橙色”的数据模块包围中,中间6个(满配置)“蓝色”的带有FC和iSCSI主机接口,功能上相当于原来的接口模块;而“紫色”的部分就是InfiniBand交换机。

 

IBM XIV Storage System系列规格表

在最新的IBM XIV规格对比表中,我们看到XIV Gen3支持的硬盘驱动器从第二代的7200转1TB或者2TB SATA,变更为2TB SAS(仍为7200RPM)。ZDNet存储时代以前就认为SAS以其双端口特性,除了会替代存储系统中高转速(10000、15000RPM)硬盘使用的FC-AL(光纤通道仲裁环路)接口之外,也将成为企业级近线驱动器的主流。同时我们也注意到XIV并没有增加对当前3.5英寸最大容量3TB硬盘的支持,不过后面我们会这种升级支持的可能性进行简单讨论。

表面上有点显得“不给力”的是,在最大CPU核心数量上XIV Gen3却从上一代的84个下降到60个(但支持超线程)。前文中已经提到XIV Gen3每个节点(数据模块)是一颗4核Intel Xeon CPU;而第二代XIV的接口模块中配置了两个2.33GHz的Intel Xeon 4核处理器(12MB缓存,1333MHz前端总线,应为至强5400系列),数据模块中则只有一颗CPU,因此6×2×4 + 9×4 = 84。

尽管现在从IBM XIV的红皮书文档中暂时还看不到XIV Gen3的硬件配置,但我们感觉其CPU应该属于Xeon 3500/5500/5600系列。总之凭借Nehalem架构集成DDR3内存控制器和超线程(Hyper-Threading)支持等方面的加强,XIV Gen3单节点的处理性能应该不会明显低于上一代XIV的接口模块,总体性能甚至会提高。

 

XIV的图形管理界面(GUI):我们在IBM去年发布Storwize V7000中端存储系统时,曾介绍过它移植了XIV的GUI。另外由于V7000基于SVC(SAN Volume Controller)的存储虚拟化软件平台开发而来,同步更新软件版本的SVC管理界面也因此受益于XIV。

接下来是XIV Gen3的最大缓存到磁盘带宽由240Gb/s翻倍达到480Gb/s。通过480/15/8(/在这里表示除号)= 4GB/s,我们感觉这个数字应该是SAS控制器/RoC与主板之间的x8 PCI Express 2.0总线单向带宽,假设至少8个SAS 6Gb/s端口的带宽为4.8GB/s。那么上一代XIV的240Gb/s可能就来源于3Gb/s SAS/SATA控制器连接主板的x8 PCI Express 1.0的2GB/s带宽。

最后是光纤通道主机接口从4Gb/s升级为8Gb/s,在系统内部互连改用InfiniBand之后,前端显然也具备了提供更高带宽的能力。实现相同的主机数据访问吞吐量,现在只需要一半的端口,可以节约交换机的连接能力和线缆成本。

未来3TB驱动器支持?SSD Caching固态缓存



IBM XIV Storage System系列对应配置表

首先,在上表中XIV Gen3最大支持的驱动器数量仍为180个,因此在它独具特色的宽条带化或称磁盘虚拟化管理(空间利用率接近RAID 10,在此不做深入讨论)之后,使用2TB硬盘的实际可用空间还是161TB。

XIV Gen3并没有增加万兆iSCSI支持,不过1Gb/s iSCSI主机接口数量却从6个上升到22个。笔者认为这可能得益于内部互连换为InfiniBand之后节约出的以太网端口。

XIV最小的节点配置为6个,其中包含3个接口模块(XIV Gen3统称为数据模块)。第一步升级到9个就是增加另外3个接口模块,也就是带有主机接口的节点数量达到满配,之后才能继续添加传统意义上的“数据模块”。因此我们看到第二代XIV的CPU数量(物理插槽,而不是核心)会从9个增加到15个。

单个节点的系统内存方面,第二代XIV有8GB和16GB两种配置(分别对应1TB/2TB硬盘驱动器)。也就是说,根据XIV提供存储空间的不同,软件算法需要在内存中保存的数据量也是不一样的,2TB硬盘应该比1TB需要维护更多的元数据、映射关系表等。这样看来,在XIV Gen3的24GB内存这一点上,可能已经预留了将来对3TB驱动器的支持。

 

IBM XIV Storage System高性能SSD caching示意图

关于XIV Gen3未来将会增加的“SSD Caching”固态缓存选件,IBM解释为在每个数据模块中可以添加一个512GB的SSD作为DRAM缓存的补充(第二级缓存)来提高性能,而不是像DS8700/8800、Storwize V7000的Easy Tier自动分层存储功能那样支持一个单独的固态存储层级。

从512GB的容量来看,我们不排除这个SSD以PCIe闪存卡的形式出现,毕竟单个SAS/SATA 6Gb/s接口对于这种级别的企业级固态存储很可能产生瓶颈。那么XIV Gen3 SSD Caching的原理就有点像NetApp FAS统一存储中的PAM II Flash Cache固态缓存模块了。当然,我们不要忘了XIV是一个Scale-out的集群FC SAN架构,因此SSD Caching作为DRAM分布式缓存与硬盘之间的中级缓存,可以并发实现的随机访问IOPS就比较值得期待了。

总结与展望

对于不久或者几个月之后将在国内上市的IBM Storage System XIV Gen3,我们已经谈了不少。其实在该产品上加入的Infiniband互连技术,我们也曾在EMC Isilon、IBM SONAS等集群NAS系统中看到过。EMC Isilon最近凭借自己在这个细分市场中的优势,S200型号大幅刷新了SPECsfs2008 NFS和CIFS的文件系统IOPS性能测试纪录;另外Isilon IQ NL108还通过对日立3TB SAS驱动器的支持,实现超过15PB的单一文件系统最大全局命名空间。

这里,我们也希望XIV在硬件上的更新能够更快一些。另一方面,XIV集群节点间采用的非对称式架构(或称非对等式架构)并没有变化,也不太容易改变。相比之下,惠普3PAR、LeftHand P4000和戴尔EqualLogic系列的Scale-out扩展设计都是对等式架构,后面2种iSCSI阵列与IBM XIV的定位不在一个级别上,但被惠普收购的3PAR竞争力就比较强了。

HP 3PAR产品支持包括SSD在内的不同性能级别驱动器、自动分层存储功能,这些让XIV有些相形见绌,能够在SAP应用测试中达到的65,000 IOPS也是得益于缓存的结果(180个7200rpm驱动器显然达不到这个数字)。那么,我们就更加期待InfiniBand互连和SSD Caching能给XIV带来实质上的性能飞跃了。