性能不仅是一串枯燥的数字,可扩展性也不能停留在一个很虚无的概念。对一款中端存储系统而言,要兼顾性能和可扩展性并不是很难,前提是必须有一个设计合理、功能强大的内部架构。IBM System Storage DS5300做到了,因此,它可以很容易地将前端接口从4Gb/s FC升级到8Gb/s FC,还有下一步的10Gb/s iSCSI;而我们也可以期待SSD的加入,能把IOPS性能推上一个新的台阶……

存储环境的复杂性使得很多业内人士都非常关注软件的发展,但绝不可过于厚此薄彼,看轻硬件的作用。正如某存储分析师所言:IT行业将重点放在软件上,(可是)没有硬件,软件就无法展现它的魔力。

服务器虚拟化便是一个很好的例证。服务器虚拟化的热潮席卷全球,在令用户深刻体会到软件的“魔力”的同时,也让“服务器的处理能力已经足够(甚至过剩)”的言论没有了市场。道理很简单,一台物理机的处理能力越强,可以承载的虚拟机就越多。正所谓:没有强健的躯体,如何尽情的虚拟?

水涨船高,存储系统的性能也必须跟上服务器的发展。虚拟机“居无定所”的特性进一步推动了数据从服务器的本地硬盘或直连存储(DAS)系统向网络存储系统的转移,亦对后者的吞吐能力提出了更高的要求。

当然,能够从存储系统 “多拉快跑”中获益的远不止虚拟化应用。譬如说,随着高清(High-Definition,HD)节目走向主流,包括电视台在内的媒体行业不仅需要更大的存储容量,也希望存储系统的每个端口具有尽可能高的带宽,从而优化承载视频流的效率。
[RAID与磁盘阵列] IBM Ds5300 8Gb光纤阵列评测_第1张图片

DS5000系列向上扩充了IBM的中端存储产品线,性能和可扩展性都比DS4000系列有大幅提升

开放平台的虚拟化与整合也好,高清流媒体的制作与传播也罢,中端存储系统都是主要的数据载体。换言之,服务器虚拟化和高清流媒体已成为促使中端存储系统继续提升吞吐能力,并将主机端口带宽倍增至8Gb/s的两大推动力。日前对IBM中端存储的旗舰产品——System Storage DS5300——进行了针对性的深入测试,籍此向广大的读者展现目前中端存储系统所能达到的性能水平,并率先领略8Gb/s FC(8GFC)的魅力所在。
[RAID与磁盘阵列] IBM Ds5300 8Gb光纤阵列评测_第2张图片

 
 
ibm, 磁盘阵列, ibm, 磁盘阵列

外在表现:可扩展性与性能双丰收

外在表现:可扩展性与性能双丰收

2005年6月初开始出货的DS4800是一线大厂推出的第一款4Gb/s FC(4GFC)存储系统,采用独立的4U控制器单元,通过磁盘扩展柜连接最多224个驱动器;一年后问世的DS4700 Express将精简了规格的控制器集成到3U的磁盘柜中,支持的驱动器数量减半。两者高低搭配,巩固了IBM在中端存储市场上的地位。
[RAID与磁盘阵列] IBM Ds5300 8Gb光纤阵列评测_第3张图片
DS5300和DS5100(上)与DS4800一样采用独立的4U控制器单元,而DS5020(下)则继承了DS4700将控制器与3U磁盘柜相集成的设计

不久前开始供货的System Storage DS5020 Express与DS4700 Express一样支持112个驱动器,主机接口升级为8Gb/s FC(8GFC)或iSCSI(目前是1Gb/s,10Gb/s预计明年早些时候),据称具有两倍的性能,可以说是后者的接班人。不过,在一年前推出的System Storage DS5300,与DS4800之间的关系,可就不仅仅是“升级”这么简单了。
[RAID与磁盘阵列] IBM Ds5300 8Gb光纤阵列评测_第4张图片
DS5300/5100的可扩展性和性能均比DS4800有大幅度的提升

和DS4800相比,DS5300/5100大幅提升了可扩展性,刚推出时即可支持256个驱动器,现在已达到448个,两倍于DS4800。这还不算完,在9月初于上海举办的IBM智慧信息架构高峰论坛上,IBM全球中端磁盘存储总经理Ernie Pitts透露,今年晚些时候会在现有的5100和5300上进行新的更新,包括推出4U规格60盘位的高密度磁盘扩展柜,从而将支持的驱动器数量进一步提升至480个,此外也会加入对固态盘(STEC ZeusIOPS SSD)和iSCSI的支持。
[RAID与磁盘阵列] IBM Ds5300 8Gb光纤阵列评测_第5张图片
DS5000可更换主机接口卡(HIC)的设计显著改善了互连的灵活性

翻倍的还有主机端口数量。DS5300/5100支持多达16个FC主机端口,而DS4800只有8个。更重要的是,DS5000系列的主机接口卡(HIC)可以更换,能够从最初的4Gb/s FC现场升级为支持8Gb/s FC,或者iSCSI——1Gb/s已经公布,10Gb/s预计要到明年。DS5300的每个控制器可安装两个主机接口卡,允许采用不同的接口类型,从而能构建不同速率的FC与iSCSI相混合的互连环境,具有很好的灵活性。
[RAID与磁盘阵列] IBM Ds5300 8Gb光纤阵列评测_第6张图片
DS5300控制器外部接口分布图,每个HIC有4个FC主机端口(上),FC驱动器扩展端口(下)同为8个,双控制器要×2——都是16个

以8Gb/s FC主机端口的满配来看,DS5300的前端带宽可以达到DS4800的四倍(端口数和每端口带宽均翻番),提升幅度不言而喻。但是,DS5300是否能够拿出与此相应的性能表现呢?从IBM提供的资料来看(如本页第2幅图所示),DS5300的顺序读写性能确实都达到了DS4800的4倍,稍后我们的测试将证明这一点。换句话说,性能和扩展能力同时成倍增长,意味着DS5300将IBM的中端存储系统推上了一个新的高度。即便是性能稍逊的DS5100,也不仅仅是“DS4800接班人”那么简单了。
问题在于,DS5300是如何做到的呢?

内部架构:无阻塞的性能基石

内部架构:无阻塞的性能基石
DS5300支持的驱动器数量比DS4800多了一倍,而顺序读写性能均达到了4倍,也就是说每个驱动器所分配到的带宽不降反增!很自然地,我们要先看看后端带宽的状况。

DS5000系列后端用于连接磁盘扩展柜的端口数量也翻了一番,(与DS5300前端)同为16个。区别在于,作为后端接口技术的FC-AL(Fibre Channel Arbitrated Loop,光纤通道仲裁环路)目前仍停留在4Gb/s的水平,导致后端带宽的提升幅度没有前端带宽那么大。

[RAID与磁盘阵列] IBM Ds5300 8Gb光纤阵列评测_第7张图片
与DS4800相比,DS5300的后端带宽提高了一倍,而内部的数据总线带宽达到了4-5倍

显然,2倍的后端带宽解释不了4倍的顺序读写性能。从Xeon 2.4GHz到Xeon 2.8GHz的变化并不明显,而且是负责管理功能的处理器,基本无关乎I/O能力。DS5300即将提供64GB数据高速缓存(Cache)的配置,但我们测试的型号仍为16GB,与DS4800持平……真正决定性的因素,是DS5300全新的控制器架构。
[RAID与磁盘阵列] IBM Ds5300 8Gb光纤阵列评测_第8张图片
黑色虚线框中是第六代XBB架构的瓶颈所在——64位/133MHz的PCI-X总线

DS4800的控制器基于第六代XBB架构,采用64位/133MHz的PCI-X总线连接作为运算核心的XOR(异或)引擎与前后两端的4Gb/s FC芯片。由于PCI-X总线带宽只有1GB/s且不支持双向同时传输(即“半双工”),双控制器所能提供的前端带宽实际上不超过2GB/s,导致空有3.2GB/s的后端带宽,DS4800的顺序读写性能分别为1600MB/s和1300MB/s,没有得到充分的发挥。
[RAID与磁盘阵列] IBM Ds5300 8Gb光纤阵列评测_第9张图片

第七代XBB2架构最大的改进是以PCI-Express代替了PCI-X,XOR ASIC与前端的主机接口卡(①)、后端的驱动器控制芯片(②)之间,以及两个控制器的数据高速缓存(③)之间,都采用PCI-Express x8(单条黑色粗线)连接。每个驱动器控制芯片有4个4Gb/s FC端口,总带宽1.6GB/s,而x8的PCI-E能提供2GB/s的带宽(单向)。不难看出,这是一个由XOR ASIC充当交换机的无阻塞交换架构。此外,两个控制器的XOR ASIC之间还有两条冗余的PCI-E x8专用链路,有利于负载均衡

技术的进步破解了上述困局。DS5300的控制器采用第七代XBB2架构,新的ASIC不仅支持XOR(RAID 5)和P+Q(RAID 6)运算,更重要的是与前后端的每一颗FC芯片之间都通过PCI-Express x8连接。我们知道,PCI-Express支持双向同时传输(即“全双工”),x8链路的单向带宽即达2GB/s,并且,这意味着控制器前端和后端的单向带宽均有4GB/s,双控制器就是8GB/s,完全可以承载6.4GB/s的后端带宽。不仅如此,两个控制器的数据高速缓存之间还有2条专用的PCI-Express x8连接作为镜像总线,在配置很多驱动器的情况下也可以提供非常短的延迟(latency),降低响应时间。

极速传说:DS5300以一当四

极速传说:DS5300以一当四

2008年9月,IBM宣布推出System Storage DS5000系列之后不久,坐拥地利的美国知名分析机构ESG(Enterprise Strategy Group,企业策略集团)即发布了DS5300的分析报告。ESG实验室采用了两台强大的IBM x3850服务器,每台服务器均配有4个4核3GHz的Intel Xeon处理器和128GB内存,以及4个双端口的4Gbps FC主机总线适配器(HBA),连接到一台思科(Cisco)MDS-9513 FC SAN交换机。一台带有256个15000RPM FC硬盘驱动器的DS5300通过16个4Gbps FC端口,经由MDS-9513交换机与两台服务器相连。
[RAID与磁盘阵列] IBM Ds5300 8Gb光纤阵列评测_第10张图片
ESG实验室的测试配置,交换机两侧的带宽匹配(均为16×4Gbps),可以看到DS5300的4U控制器单元和16个3U磁盘扩展柜(16 × 16 = 256个驱动器)

就当时而言,256个驱动器已经是DS5300的最大配置,对8Gbps FC的支持也尚未提供。不过,DS5300后端用于连接磁盘扩展柜的16个4Gbps FC端口,与前端的主机端口完全匹配,带宽总和均为6.4GB/s,加上控制器内部的无阻塞交换架构,整条数据链路上不存在瓶颈。因此,ESG只用了半数的FC驱动器就获得了6.2GB/s的持续读聚合吞吐量,非常接近6400MB/s的理论值;而在持续写方面,5.85GB/s的测试结果更是超过了5200MB/s的官方指标。ESG在报告中指出,“这些结果几乎达到了前一代的IBM DS4800的4倍”,很好地吻合了前面两页的数据对比和技术分析。

现在,DS5100/5300能支持的驱动器数量超过了440个,前端接口亦升级到8Gbps FC,但是后端带宽的状况并没有改变。所以,我们没有必要重复ESG所做的极限测试,而应将关注点放在刚开始为存储系统所用的8Gbps FC技术上。与4Gbps FC相比,8Gbps FC将每条链路的传输能力提升了一倍,这意味着同样的带宽只需要一半的线缆、交换机和HBA端口,从而简化用户的基础设施,还可以节省投资。以前述ESG的测试配置为例,把每台服务器上的双端口FC HBA从4个减少到2个,就可以实现一样的效果。换言之,8Gbps FC能够减少高性能服务器所需的FC HBA,达到更好的成本效益。
[RAID与磁盘阵列] IBM Ds5300 8Gb光纤阵列评测_第11张图片
我们的测试环境总体拓扑与前述ESG配置近似,都是2台IBM System x系列服务器、一台FC SAN交换机,DS5300的驱动器配置情况也相同,区别主要体现在8Gbps FC的环节(Brocade 300与DS5300之间还有7条4Gbps FC链路未标出)

基于这样的思路,我们在搭建测试环境的时候没有刻意追求服务器的高配置。2台IBM System x3550服务器均配备双路Intel Xeon 5120处理器和4GB内存,以及4Gbps和8Gbps双端口FC HBA各一:4Gbps FC HBA是与ESG配置中相同的QLogic QLE2462,8Gbps FC HBA则是Brocade 825,但在进行8Gbps与4Gbps单链路吞吐量对比的时候换成了单端口的Emulex LPe1250。一共4个FC HBA上的8个端口,聚合带宽为4.8GB/s([8Gbps × 2 + 4Gbps × 2] × 2 = 48Gbps),通过Brocade 300 8Gbps FC SAN交换机访问DS5300。
[RAID与磁盘阵列] IBM Ds5300 8Gb光纤阵列评测_第12张图片
x3550服务器安装了2个Brocade 825双端口8GFC HBA,和2个QLogic QLE2462双端口4GFC HBA

供我们测试的DS5300,磁盘配置与ESG报告中的情况一样,也是256个15000RPM 4GFC硬盘驱动器,16个4Gbps FC-AL后端驱动器扩展端口(聚合带宽6.4GB/s)。不同之处体现在前端接口:除了7条4Gbps链路(测试环境拓扑图中未画出),还有4条8Gbps链路,与Brocade 300交换机之间的聚合带宽为6GB/s(4Gbps × 7 + 8Gbps × 4 = 60Gbps)。不难算出,在这个配置中,我们可以期待接近4.8GB/s的聚合吞吐量。
 

效力倍增:8Gbps FC不负所托

效力倍增:8Gbps FC不负所托

256个驱动器已经不是DS5000系列的最高配置,但要应付吞吐量测试可是绰绰有余。尽管如此,IBM技术支持中心高级技术支持团队的高级工程师徐原还是对这台DS5300进行了适度的优化,以确保其能够发挥出应有的水平。
[RAID与磁盘阵列] IBM Ds5300 8Gb光纤阵列评测_第13张图片
在新版(v10.50)的DSSM(DS Storage Manager,DS系列存储管理器)子系统管理主界面中,可以看到256个FC驱动器(①)和逻辑驱动器数量(②)等重要信息

确切地说,DS5300上的256个147GB 15K RPM FC硬盘驱动器,拿出4个作为热备盘,另外的252个均分为28个由9个硬盘驱动器组成的RAID 5,每个RAID 5都划出800GB的容量赋予一个LUN(逻辑单元号,可以理解为逻辑驱动器)。为了在磁盘扩展柜之间尽可能地平衡负载,从而获得最优的性能,组成每个RAID 5的硬盘驱动器都分布在多个磁盘柜中。
[RAID与磁盘阵列] IBM Ds5300 8Gb光纤阵列评测_第14张图片
注意蓝色的圆点,左侧被选中的RAID 5(A07)在每个磁盘柜中选择的硬盘驱动器都不超过2个,以保证优化的性能

要体现8Gb/s的优越性,最直观的当然是和4Gb/s比拼单链路的吞吐量。8Gb/s FC方面,我们选择单端口的Emulex LPe1250;至于4Gb/s FC,则用一个QLogic QLE2462上的一个端口。每个端口都被分配了3个LUN,对应27个硬盘驱动器,完全可以满足单端口的吞吐量需求。
[RAID与磁盘阵列] IBM Ds5300 8Gb光纤阵列评测_第15张图片
[RAID与磁盘阵列] IBM Ds5300 8Gb光纤阵列评测_第16张图片
从读到写,8Gb/s FC的吞吐量基本达到了4Gb/s FC的两倍

应该说,作为一款4Gb/s FC HBA,QLE2462的表现很出色,无论读写,在I/O块尺寸超过32KB以后,吞吐量都迅速逼近了400MB/s的理论值,稳定在390MB/s附近。LPe1250也不含糊,虽然在I/O块尺寸为16KB或更小时还不如前者,但亦很快接近了800MB/s的理论值,约780MB/s的吞吐量是QLE2462的两倍,展现了8Gb/s FC应有的威力。而在这一切的背后,离不开DS5300提供的有力支持。接下来,我们就要看看DS5300在8Gb/s与4Gb/s混合环境下如何发挥。
 

写胜一筹:聚合吞吐量名不虚传

写胜一筹:聚合吞吐量名不虚传

对于测试DS5300的整体性能测试,本着“能力越强,责任也就越大”的原则,我们给每个4Gbps端口分配了3个LUN,8Gbps端口则要多一个,即4个LUN。如此一来,4个4Gbps端口,和4个8Gbps端口,正好把这台DS5300的28个LUN分光(3 × 4 + 4 × 4 = 28),聚合带宽为4.8GB/s。
[RAID与磁盘阵列] IBM Ds5300 8Gb光纤阵列评测_第17张图片
DS5300持续写的聚合吞吐量超过了4500MB/s,接近4.8GB/s的聚合带宽理论值

既然是持续读写操作,I/O数据块的尺寸不会太小,所以我们的测试直接从16KB起步。持续写的聚合吞吐量随I/O块增大而攀升的速度不是很快:64KB时接近3500MB/s,128KB时超过4000MB/s,512KB以后才稳定在4500MB/s附近——但是这个数值非常的高,离4.8GB/s的理论上限相差无几,是非常不错的表现。
[RAID与磁盘阵列] IBM Ds5300 8Gb光纤阵列评测_第18张图片
将DS5300的Cache块尺寸设置在32KB的最大值,以适应持续读写的大I/O数据块请求

相比之下,持续读的聚合吞吐量在16KB时就超过了2000MB/s,32KB时达到3000MB/s,64KB/s时已在3500MB/s以上,可见对较小I/O块的优化很不错。不过,随着I/O数据块的尺寸进一步加大,持续读的聚合吞吐量没有明显的增长,而是在3500-3600MB/s的区间徘徊,与持续写的差距较为明显。据我们分析,造成这种现象有两种可能:一是受到了两台x3550服务器的性能限制,对此我们在正式测试结束后,通过增加一台刀片式服务器的做法,获得了5GB/s以上的持续读性能,得以部分证实;二是与测试所用的Brocade 825 8GFC HBA的读特性有关,笔者将在稍后专文讨论。
[RAID与磁盘阵列] IBM Ds5300 8Gb光纤阵列评测_第19张图片
DSSM软件的性能监视器,红色方框内是一个8Gbps端口对应的4个LUN上的吞吐量,蓝色方框内则是一个4Gbps端口对应的3个LUN上的吞吐量(单位:KB/s)

除了使用IOmeter这样的测试软件,DS Storage Manager(DSSM)软件也提供了性能监视器(Performance Monitor)的功能,供管理员了解DS系列存储系统的性能状况(有几秒钟的延时)。上图是我们做持续写测试时性能监视器的截屏,可以看到“Current KB/second”一栏最下方的黑体字与IOmeter测得的4500MB/s聚合吞吐量数据基本吻合(计量方式不同造成细微差异)。此外,也不难发现,8Gbps端口对应的4个LUN上的吞吐量之和(188 × 4 ≈ 750MB/s)大约两倍于4Gbps端口对应的3个LUN之和(133 × 3 ≈ 390MB/s)。
 

IOPS、扩容及Cache永久保护

IOPS、扩容及Cache永久保护

突出8Gbps优势的吞吐量测试是本文关注的重点,但是随机访问的IOPS(I/O per second,每秒I/O数)性能也有必要了解一下。不过,我们测试的主要是直接磁盘I/O的性能,与本文第二页第二幅图中动辄几十万的IOPS(访问Cache)不具可比性。

[RAID与磁盘阵列] IBM Ds5300 8Gb光纤阵列评测_第20张图片
7项随机访问测试IOPS性能对比

在随机访问的测试上我们还是尽量贴近实际应用,突出4KB数据块的随机读,以及2/4/8KB数据块的OLTP。以4KB数据块的随机读来说,约48000 IOPS是很不错的性能,综合25000 IOPS左右的随机写性能,读写比例为2:1的OLTP性能在35000至40000之间的IOPS也很正常。

在512字节数据块的情况下,DS5300随机读有约50000 IOPS,意味着每个15000RPM硬盘驱动器能贡献约200 IOPS。这是15K RPM硬盘驱动器在中端存储系统里的正常表现,但能在256个驱动器的大型配置上达到,再一次证明了DS5300第七代XBB2架构的优越性。

与吞吐量不同的是,IOPS应用对带宽的要求很低。也就是说,DS5300可能还有足够的潜力,随着系统内驱动器数量的增长,提供更高的IOPS性能。换言之,驱动器数量扩展至448个,和固态盘(SSD)的采用,有望将DS5100/5300的IOPS性能提高到一个新的水平。

然而,480个驱动器的配置并不能带来更高的IOPS,因为这种情况下都是SATA硬盘驱动器,追求的是更大的容量,而非IOPS。不过,由于采用了可以避免不同转速的硬盘驱动器旋转震动互相干扰的特殊驱动器托架设计,DS5000系列能够在同一个磁盘柜中混合使用FC和SATA硬盘驱动器,在灵活性上比DS4000系列更胜一筹。

[RAID与磁盘阵列] IBM Ds5300 8Gb光纤阵列评测_第21张图片
DS5300控制器俯视图,左上方的银色散热片下是用于管理功能的Intel Xeon 2.8GHz处理器,右上方黑色散热片下是控制器的核心——XOR ASIC(能力不要看个头大小:p),下方是2个HIC(Host Interface Cards)。当然,我们要关注的是USB闪存(USB Flash Memory),与受其保护的数据Cache内存(Data Cache Memory)和管理处理器的内存(Processor Memory)

本文从头到尾一直在强调性能和可扩展性,其实DS5300相对于DS4800的提升不止这两点。举例来说,DS4000系列与市场上主流的中端存储系统一样,通过锂电池为Cache中的数据提供意外断电保护,时间通常不超过72小时。也就是说,如果因灾害等原因导致供电长时间中断,Cache中没来得及写入硬盘驱动器的数据将因锂电池电量耗尽而丢失。有鉴于此,DS5300的控制器设有USB闪存,断电后会利用锂电池供电,将Cache和管理内存中的数据写入USB闪存。由于闪存的非易失性,Cache中的数据得到了永久性的保护,进一步提高了系统的可靠性。