根据Pure Storage整理的闪存发展趋势,2010年开始出现全闪存器件厂商,如Fusion-io,TMS以及Volin Memory,在高性能的小众市场(tier 0)得到应用;到2012年,ExtremIO,Pure Storage以及SolidFire的出现,闪存的经济性得到提高;到2013年,传统存储巨头觉醒,纷纷自研或者收购新兴的全闪存公司;到2014年,AFA已经成为tier-1存储的主流。

而2016年,全闪存数据中心将越来越多。根据IDC预计,到2019年,用户将花费1/5的存储费用在AFA上。

而根据最新的IDC 15Q3数据,EMC XtremIO占据39.2%的市场份额,成为AFA的霸主。EMC在AFA的市场份额比其在整体存储的份额还要大得多,显示EMC在转型方面还是非常迅速的。

而就在圣诞节前夕,NetApp宣布收购SolidFire,让这个市场更加白热化。

SolidFire产品架构还是非常有特色的,西瓜哥曾经解读过其CEO的一个演讲,其公开对比了SF和EMC以及Pure的架构的不同。

主流全闪存阵列架构对比(XtremIO,Pure Storage,SolidFire)

Gartner分析师还是非常看好SolidFire架构,在其发布最新的SSA关键能力研究报告上,SolidFire综合排名第一。

【新鲜出炉】Garter 2015固态阵列关键能力评估报告解读,市场老大XtremIO排名不高

但是SolidFire架构虽然好,但大家应该记得西瓜哥讲高端存储说过的话:没有一种架构是完美的。SolidFire架构比较像市场上的SERVER SAN架构,采用share nothing架构,两副本,扩展性强,支持多租户,QoS功能是亮点,特别适用全闪存的云存储环境。但这种架构,针对云环境有巨大的优势,但在传统的企业市场,性价比并不占优。

NetApp如何整合这么多AFA产品是一个大问题。我们先简单回顾一下这几年NetApp的闪存战略。

策略1: PAM, FlashCache, and Tiering。

NetApp一直认为闪存不会替代磁盘,因此刚开始一直没有把闪存作为存储介质来使用,只是作为读写Cache。2008年推出PAM卡,2009年推出FlashCache(PAM II),2010年增加SSD作为系统的Cache和分层。但这个分层也只是Cache分层,和EMC\HDS\华为做的那种自动分层不同,不能把最终数据保存在SSD上。也就是其DATA ONTAP一直没有针对全闪存做改造。

策略 2: EF-Series

后来NetApp收购了LSI的Engenio存储产品线,基于这个平台在2013年推出了自己的全闪存阵列EF-540,但EF平台缺少重删压缩等关键特性,主打HPC领域。

策略 3: FlashRay

后来NetApp发现EF竞争力不够,需要重新开发一款AFA产品——FlashRay平台,重头设计,always-on重删和压缩,支持变长重删,计划2014年GA。但产品一拖再拖,项目负责人也跳槽去了Pure。

策略4:All-Flash FAS(AFF)

没有办法,NetApp只能改造自己的ONTAP,推出了全闪存FAS——即AFF。 并且在2015年,AFF增加了原来FlashRay的Mars OS的一些功能,如在线重删压缩。

策略5:SolidFire(SF)

NetApp有了这么多闪存产品,还是不满足,于2015年圣诞节前夕收购了SolidFire,给自己买了一个大大的圣诞节礼物。SolidFire的收购,也宣布了FlashRay的死亡。

FlashRay虽然不在了,但NetApp还有EF,AFF,和SF三个AFA产品系列,这给渠道和客户照成非常大的困扰。虽然说起来好像也很容易,比如EF主打HPC场景,AFF主打FAS老客户场景,而SF主要应对全闪存云存储场景。但很多场景都是交叉的,典型的比如混合云(参考文章:【一看就懂】图解NETAPP混合云),如果在本地部署了AFF,而云端部署了SF,这种情况NetApp就比较尴尬了。因此,NetApp还是需要时间把SF整合进其强大的ONTAP生态圈里来。

关于NetApp收购SF,反应最大的不是EMC,而是Pure。Pure连续写了两篇Blog来告诉客户和渠道,其Pure比SF的好的地方。西瓜哥总结了一下,其除了散布NetApp三种AFF产品的选择困难症外,还列举了SolidFire的“十宗罪”,一块来看看。大家注意,括号里面是西瓜哥的点评,仅代表个人观点。

  1. 简单是云规模级别维护的核心原则。Pure有REST和编程接口,更容易的在线硬件和软件升级。(不过这点西瓜哥不太认同,SolidFire专为云设计,Pure虽然易用,但Scale-out都不支持,扩展性太差了吧。不过,近日看到Pure已经申请了一项关于存储集群的专利,估计今年Pure有可能支持scale-out)

2.更好的数据缩减率。SF是4K定长重删,而Pure是变长重删。(理论上讲变长确实有比较好的重删效果,但西瓜哥好像看过有用户反馈,Pure在容量使用率比较高的情况下,好像重删率有所减低,不知道是不是真的?)

3.更好的RAID和数据保护。SF采用2副本的方式,不支持双盘失效,而Pure采用RAID-3D,支持双盘失效。(这个其实从两方面看,SF虽然不支持双盘失效,但可以支持单节点失效,而这个Pure是不支持的)

4.容量和性能独立扩展。(这个其实是双方架构不同,SF不管是需要容量还是需要性能,都需要增加节点。而Pure虽然可以采用scale-up增加容量,但要增加性能需要更换控制器,其实也不是啥优势。)

5.总效率更高。Pure有更好的重删率,RAID比双副本有更好的空间利用率。(但Pure的双控工作方式是主备,平时有一半性能是浪费的,这个效率上好像也说不过去吧?)

6.原生的FC接口支持。SF只支持iSCSI接口,如果用户需要FC接口,需要加接口转换器。(SF为云环境设计,采用FC应该不多,但在企业市场确实是一个问题)

7.最大化性能。SF的卷需要pin(盯)到某一个节点上,因此,就算你有n个节点,但是这个卷的性能只能利用1/n。因此一个数据库用到多个卷,必须规划不同的卷pin到不同的节点上。还有,SF系统是针对4K的IO大小进行优化的,也就是应用要进行4K对齐才能发挥最大性能。Pure则没有这些问题。(其实也就是说SF是有LUN归属的,因此规划要麻烦一点,但Pure虽然是双控,但采用的是主备方式,正常只有一个控制器工作,当然没有这些问题。但你不觉得只用一个控制器挺浪费的吗?)

8故障时的性能。Pure在硬盘故障,控制器故障,软件和硬件升级,维护和计划停机都没有性能损失,而SF的指导书说这些情况会造成20-50%的性能损失。(Pure由于采用主备方式,因此控制器故障不会有性能损失。但RAID重构应该还是有性能影响的吧?虽然不大)

9.客户满意度。Pure在Satmetrix发布的全球B2B的2015 Net Promoter Score中获得最高满意度。(虽然Pure的口碑确实不错,但考虑到SF和Pure的客户群体不同,应用场景不同,不完全能说明问题。)

10.独特的Evergreen Storage & Forever Flash计划。Pure 3年免费换一次控制器,所有软件功能不单独收费,SSD终身保修。(其实羊毛出在羊身上,用户要不断购买维保才行,这个只是营销手法而已)

【学习心得】

我们看到,Pure确实在某些方面有一些创新,比如在效率和易用性方面,但Pure也有自己的问题,西瓜哥觉得不支持Scale-out,双控采用主备方式而不是Active-Active方式是其硬伤。而SolidFire最大可以支持到100个节点,QoS功能强大,但2副本方式,空间利用率不高,没有原生FC接口,企业场景适配差些。怎么说呢,也就是说SolidFire和Pure架构差别太大,就像你拿一个SERVER SAN的产品和一个老式的中端双控阵列去对比一样,大家的侧重点和聚焦的应用场景都不同,好比苹果和梨,虽然都是水果,但也没有办法说那种水果更好。作为用户,还是需要根据自己实际具体需求来选择。不用被各厂商给忽悠了,对吧?