今天看到IBM推出了新一代全闪存阵列FlashSystem A9000和A9000R,曾经听说它使用了XIV的技术,而看到具体资料才发现不止是把XIV换成闪存那么简单……
1、分布式,还是共享后端的Scale-out
2、数据服务带来的性能影响有多大?
3、为什么觉得A9000R与Pillar Axiom 架构神似
4、模式删除(Patten removal)是什么,为啥有2个重删技术?
5、闪存阵列设计权衡、现阶段市场分析
围绕以上几点写写学习心得,希望能有助大家了解这个东东。个人水平有限,文中如有错误和不足欢迎批评指正。
FlashSystemA9000:把SVC网关换成了XIV
注:对于已有的FlashSystem900及其FlashCore技术,由于不算新东西,本文受限于时间和篇幅就略过了。
现在业内有两个方向,一种是像EMC XtremIO等的重复数据删除和压缩都用CPU来处理,毕竟Intel Xeon性能越来越强大,Intel又搞了AVX2、ISA-L等各种指令集和库来加速。当然ASIC/FPGA的拥护者也会有他们的理由。只是按照软件定义存储、通用化硬件的思路,比如SolidFire、VSAN和ScaleIO等都选择了CPU。
那么A9000在定位上应该就是要替代之前的FlashSystem V9000。后者出现的背景是FlashSystem900等收购自TMS的全闪存阵列只有基本的RAID保护,像Thin-Provisioning、复制和压缩这些数据服务都不支持,所以在其前端添加一对SVC存储虚拟化网关,性能上也会有一定损失。
根据IBM的资料,FlashSystem 900的4KB随机读IOPS可达110万,随机写60万,随机读取/写入(70%/30%)IOPS 80万;256KB顺序读写带宽分别为10GB/s和6.5GB/s。
V9000公布的4KB随机读IOPS 63万,128KB顺序读带宽9.5GB/s。虽然SVC支持集群模式横向扩展,但其节点间互连仅使用FC,个人认为更多的意义在于容灾。
新推出的A9000公布性能数字为读取/写入(70%/30%)IOPS 50万,带宽4.5GB/s。
这里需要说明一点,FlashSystem A9000的数据服务比XIV要丰富一些,毕竟是针对全闪存设计的,有(全局)重复数据删除。
如果觉得性能和容量不够,FlashSystem A9000R就是一个规模更大的扩展版本。
FlashSystemA9000R:性能与Grid Controller呈线性关系
容量描述部分,单看这个表格有点容易搞不清楚。比如每台FlashSystem 900按照12个2.9TB闪存模块,一共2个Flash Enclosure计算出是69.6TB的裸容量,而这里写的却是105.6TB。我只想到一点——应该是闪存模块上NAND颗粒的物理容量。如此来看,使用通用SAS SSD的闪存阵列是否可以把OP冗余空间也都加上给出个“裸容量”呢?
至于有效容量和最大容量,都是按典型数据缩减比率来计算出的。
接下来也有性能,A9000R满配的读取/写入(70%/30%)IOPS可达200万,带宽18GB/s。12个GridController正好是3个Grid Controller A9000的4倍,由于最上层的读/写缓存以及数据缩减等服务都跑在这里面,所以与后端的Flash Enclosure反而不是线性关系。而这个延时按道理也是可以到Cache就返回了。
单看A9000R的IOPS,介于2-3套FlashSystem 900之间,数据服务肯定是有性能损失的。以前听EMC方面的人说过,假使不做数据服务(重删等)也能跑得更快。根据XtremIO的资料,其每个X-Brick硬件是双控共享JBOD中的SSD,所以性能是对等线性扩展的,目前最大支持8个X-Brick。
在数据服务部分,除了快照和精简配置有3项数据缩减方面的:模式删除(Patten removal)、全局线内重删和线内压缩。Pattenremoval这词咋没听说过呢?后面我会讲讲。
为了把剩下的问题搞清楚,需要看看A9000/A9000R的软件架构。
3副本缓存保护、与Pillar Axiom 架构神似?
而在数据向Flash Enclosure落盘时,只需写入一份到闪存即可,因为FlashSystem900有双控和RAID保护了。这种Scale-out方式,让我想起了几年前写过的Oracle Pillar Axiom 600。
除了Pillar没有重删和压缩之外,前后端的扩展规模限制也可以看出闪存与磁盘时代最大的区别——Pillar Axiom 600的瓶颈在后端磁盘箱,而FlashSystem A9000R主要在前端的Grid Controller。
模式删除(Pattenremoval):2步比对的原因所在
下一步干啥呢?在这一批8KB中也有重复的块可以比对出来(Duplicatefound),同样保留数据指针达到“Dedupe”状态,最后再对每个块做压缩。
为什么2步重删不能合并合并到1步?我理解是新写入这一批8KB块的Hash值还没有进入全局指纹库,所以需要局部再单做一次重删。这里我们不必太纠结于概念,看看下面的流程图会更清楚一些。
总结与展望
由于V9000多少有点临时“赶鸭子上架”的感觉,FlashSystem A9000系列超越自家前辈应该不成问题。至于IBM能否打出全闪存阵列的翻身仗,要看其实际市场表现了。
本文中反复提到XtremIO是因为它们定位类似,EMC和IBM两家高端面对的也是同一批用户群。我曾经听业内人士讲到XtremIO赢得用户的一大价值点是易用性,IBM A9000系列从硬件节点上没有做到真正对等和融合(后端FlashSystem 900相当于一个黑盒),其统一管理的体验值得关注。
在IBM的资料中,我没有看到重删和压缩可以关闭的描述,这一点上可以说与XtremIO等一脉相承,反映出专门设计的全闪存阵列一种趋势。如果不想牺牲性能,FlashSystem 900这样连快照和复制都没有的许多企业级环境也不达标;要不是被IBM收购,TMS发展下去可能也会是Violin Memory类似的局面。
基于传统阵列改良的全闪存阵列,现阶段还是比较折中的一种选择。如EMCVNX/VMAX部分型号、HP 3PAR、Dell SC(Compellent)等,数据服务一应俱全,压缩/重删可以手动开关,甚至平均每个SSD贡献的IOPS也不见得处于下风。
(文章转自唐僧 企业存储技术)