Pillar Axiom 600:缓存/RAID分离式Scale-out
Pillar Data Systems在被Oracle收购之前是一家由甲骨文CEO Larry Elison持有的私人公司,如今其产品线仍然保持着和Sun ZFS 7000系列相对独立的特点,因此本文也将对它们单独进行分析。
Pillar Axiom 600 Series 3运行SPC-1测试配置的参考示意图
上图说明中的2个Pillar Axiom Slammer控制器,与两个机柜中间的4个控制器机箱似乎有点矛盾?而通过来自不同控制器节点的8个8Gb/s FC连接到光纤通道交换机,却只使用服务器上的一块双端口HBA卡运行测试负载,恰恰是Scale-out横向扩展存储系统特征的表现(实际应用往往会连接不只一台服务器)。
Pillar Axiom 600 Series 3测试配置
这里的QLogic QLA2462 8Gb FC HBA又一次出现了笔误(应该是QLA2562,前面那张图是正确的)。Pillar Axiom 600的双控制器(即Slammer)被称为active/active data mover,每控制器24GB缓存一共48GB。测试系统分别有8个8Gb/s FC和8个4Gb/s FC接口用于前、后端连接(总共各有16个),经过配置的所有驱动器都可以被每一个控制器上的每一个后端连接访问。
“FC RAID Brick”是Pillar Axiom 600专用的阵列驱动器扩展柜,根据名称可以看出底层的RAID功能在它上面实现,而不仅仅是简单的JBOD连接。除了2U 12盘位的FC Brick之外,还有2U 13盘位的
SATA Brick和SSD Brick(其中都包含一个热备盘)可选。每个Brick两个“RAID adapter”指的就是双活动配置的RAID控制器(注意:这个与Slammer控制器不同)。26个FC Brick满配一共312个300GB 15K RPM驱动器是一种优化的配置,具体原因我们稍后就会交待。
Pillar Axiom Slammer规格表
Pillar Axiom的Slammer一共有四种版本:SAN(4/8Gb FC主机接口)、iSCSI(1GbE主机接口)、NAS(1/10GbE主机接口)和iSCSI Combo(1GbE + 4/8Gb FC主机接口)。我们理解NAS Slammer的功能就像带有文件系统NAS网关,而另外3款则与IBM SVC那样的(存储虚拟化)卷管理器有相似之处,为什么这样说呢?
Pillar Axiom 600能够支持4个Slammer横向扩展,即最多8个存储控制器单元。根据每控制器24GB缓存容量判断应该是Intel Xeon 5500/5600系列4核处理器(3或6通道内存?)。Slammer一共有6个10/100Mb以太网接口用于和Pilot管理节点的通信;26个2Gb或4Gb FC接口针对Brick后端连接,应该也包括Slammer之间的通信。
Pillar Axiom 600在一个系统中最多支持64个Brick,也就是他们所说的128个可以独立并发工作的RAID控制器。在SPC-1测试中配置26个Brick,估计是为了与Slammer的26个后端连接相对应,超出这个数量之后带宽理论上无法增加。不过笔者觉得,继续增加硬盘应该是可以提高IOPS性能的。
上图为以点对点方式互连的Pillar分布式RAID,与传统的双RAID控制器通过菊花链形式级连JBOD扩展柜的对比示意图。Pillar的RAID功能在后端的每个Brick上实现,因此前端的Slammer主要负责存储池/文件系统)的缓存加速;而传统双控制器阵列的缓存和RAID功能都要在控制器上进行。按照这个原理,Pillar的成本和性能应该会更高,而且Slammer和Brick都属于Scale-out扩展方式。那为什么Axiom 600 Series 3在SPC-1测试中表现一般呢?
第一种可能:前面的测试配置参考示意图,以及配置表中的前/后端各16个FC连接(使用了其中8个),应该表示该存储系统配置了最多数量的4个Slammer(8个控制器单元);而2个Slammer Controller和48GB total缓存的文字说明好像只有一个Slammer;本文第一页的价格表中又是2个8Gb FC SAN Slammer。到底应该以哪个为准呢?
第二种可能:即优化不足。Pillar没有提到为Slammer搭配了UPS等断电数据保护组件,那么也许它们的Cache只是读缓存,写入数据时经过Slammer到Brick反而会增加延时。当然这只是我们的一种推测。
IBM SVC(SAN卷控制器)6节点集群 + 2套DS8700运行SPC-1测试配置的参考示意图
使用6个IBM SVC存储虚拟化节点(3对高可用)在2套满配1024块硬盘的DS8700阵列前端,运行SPC-1测试结果达到曾经创纪录的38万IOPS,而在只是将SVC减少到4个节点其它都不变的情况下,性能就下降到31.5万SPC-1 IOPS。SVC对性能提升的秘诀就在于缓存,而且每个节点捆绑一台UPS能够保护写缓存中的数据在断电时不会丢失。
根据上图中的连接情况,数据从DS8700经过FC交换机到达SVC之后,还要再次经过FC交换机才能到达服务器主机,存储网络结构会比没有SVC时更为复杂。这是因为SVC上的光纤通道接口兼具连接前端主机和后端被虚拟化阵列的功能。
相比之下,尽管Pillar Axiom 600的Slammer和Brick之间也需要交换机,但Slammer的前后端FC却是独立的,Slammer、Brick分别有点像存储虚拟化设备及其后端连接的阵列,只是二者是专门打包在一起的产品,增加Slammer就像增加SVC节点那样来提高性能。
Pillar Axiom 600现在属于Oracle的存储产品线的一员,再加上他们以前的渊源,具备专门针对Oracle数据库的混合列式压缩(Hybrid Columnar Compression)功能不足为奇。理论上说,在上面运行这种应用能够比其它厂商的产品节约空间,同时可能提升性能,后面会介绍到的Sun ZFS 7420统一存储也是如此。