华为OceanStor Dorado V3,全闪存时代的“大军师”

东汉末年,群雄并起,各路英雄你方唱罢我登场。这是最坏的时代,也是最好的时代,在南征北战的波澜岁月里,背后活跃着军师谋臣的身影,他们运筹帷幄,不仅靠武力在战场上获得胜利,更用自己的智慧在险恶的世界里谋得一份安宁。

正所谓商场如战场,对商业版图的开疆拓土同样离不开智谋无双的大军师,在全闪存的世界中,满足企业级应用,堪称“大军师”的唯有华为OceanStor Dorado V3。原因也很简单,首先它具备极致的领先性能;而且从可靠性到大容量闪存存储、数据一致性;从SSD盘到系统,从IO调度到网络协议,唯有华为OceanStor Dorado V3能够全部覆盖,并进行端到端的优化保障,有“勇”有“谋”,保障企业级应用又快又稳。

3D NAND+在线数据缩减技术 激活全闪存市场

按照Gartner公司的预计,全闪存阵列市场的整体规模将以年均37%的复合增长率持续拓展,这意味着其将从2014年的14.3亿美元增加到2019年的70亿美元。也许有用户会说,区区几十亿美元市场,相比存储市场百亿美元规模不过是九牛一毛,为什么要关注全闪存市场呢?

如果了解闪存市场就会知道:较之磁盘,SSD盘(闪存盘)在价格上还有台阶级差别,特别是去年,SSD价格还有所上升,无论从$/GB成本,还是产能上,SSD目前还没有本质上的突破。但是用户也应该看到,目前SSD制造正处在从2D向3D转型中,产线和技术投入带来了市场短期波动,但从前瞻性出发,未来3D NAND会大幅度拉低SSD盘$/GB成本,随着3D NAND产线投产和产品量产,SSD在价格上会有突破性进展。

另外一个关键是用户观念的改变。有关SSD盘$/GB成本,多是根据裸容量计算得出,而忽略了随着SSD盘性能提升,在线重复数据删除、数据压缩已经成为全闪存系统的标准配置,常规武器。它意味着同等容量,SSD盘可以处理和存储数倍超越磁盘的数据,以OceanStor Dorado V3为例,针对数据库、VDI、服务器虚拟化等闪存常用场景,即使使用保守的估计,也能够提供3:1的数据缩减,也就是3倍容量。按照这个标准计算,SSD的成本已经和HDD持平,全闪存加速发展的时代已经到来!

在这里额外需要补充的一个细节是:目前,业内厂家提供两种形态的全闪存阵列,一种是在既有混合存储形态上进行封装,可以称为改良型全闪存阵列;一种是针对闪存介质进行包括在算法、架构和设计上的全面革新,可以称为原生型全闪存。前后者的差距在于极致的时延,以及开启在线重删、压缩等特征后性能还能持续稳定的产品能力。真正有能力完成后者软硬件设计、验证到上市的厂家和产品在业内并不多。华为OceaStor Dorado V3正属于后者,这是需要认真加以关注和比较的地方。

将闪存应用到企业级存储应用场景,并不是SSD盘对于磁盘的简单替换,在性能、双活可靠性、IO调度、冷热数据分区、元数据缓存机制、外部网络连接、NVMe协议支持,以及数据静默故障应对等很多技术细节上,都要求全闪存阵列能够做到尽善尽美。这样才能够真正替代传统磁盘存储,满足关键业务应用的需要。

对此,以华为OceanStor Dorado V3原生型全闪存存储为参照,能了解相关的技术和细节。最新更新的OceanStor Dorado5000 V3基于NVMe协议,新设计的硬件架构支持双端口NVMe SSD,以及三盘同时拔插更换,全新的并行软件架构能充分发挥NVMe的高性能优势。

华为全闪存阵列的十八般武艺

之所以选择全闪存阵列,首先就是性能的因素。从性能指标上来说,除了IOPS之外,更重要的是时延。对于基于传统磁盘阵列改良的全闪存阵列(磁盘用SSD替换,控制管理软件进行调优),由于其架构还是针对磁盘设计,这样的全闪存阵列极致时延可以达到1ms左右,但在业务负载高或者开启如重删、压缩等功能特性时,其时延会陡增到3ms,甚至更高。与之相比,华为OceanStor Dorado V3是针对SSD特质而设计的全闪存阵列,其时延可以控制在0.5ms。

影响系统时延的因素很多,既有SSD盘、系统硬件架构设计的原因,也有网络和IO控制的原因。与很多原生全闪存阵列产品设计不同,华为OceanStor Dorado V3采用自己设计的SSD盘,具有最底层硬件的设计的能力,其中最重要的SSD控制器芯片设计,它采用Cortex-A9处理器,支持DDR4和18个NAND Flash通道设计。为了控制时延,FTL(Flash Translation Layer)SSD数据读/写控制集中检索和访问这个关键节点,华为采用了硬件加速的方式,所有读取和写入FTL的操作全部由硬件完成,减少软件交互次数,从而减小延时,在低负载场景下,其时延仅有40μs,比业界低20%。

华为自研SSD性能数据

SSD盘之上,盘控技术,也就是数据写入SSD的控制方式,也会对时延构成影响。就SSD盘而言,数据是按照一个一个的page(页)写入到block(块),为此,首先要通过垃圾回收找到垃圾量高的block,将其中有效数据搬移,擦除对应的块,然后写入数据。对于盘片来说,相同逻辑位置上的page发生了新写,原物理位置的page就会变为无效的垃圾,各个page从写入到变为无效的周期越接近,在一定时间内都变为垃圾的可能性更高。

就数据而言,其更新频率差异很大,其中,元数据更新非常频繁,用户数据更新的周期相对较慢,如果元数据和用户数据混合在一起写入盘上同一个block,那么元数据对应的物理page会很快失效,但是用户数据对应的物理page仍然有效,最终在垃圾回收时不得不大量的搬移用户数据,导致盘上写放大过大,影响SSD盘片的寿命和性能。

对此,OceanStor Dorado V3是通过FlashLink技术将存储系统中更新频繁的元数据,以及相对不频繁的用户数据写入到不同的擦除块上,并保证元数据和用户数据写入的擦除块定期互换实现磨损均衡。此外,该技术也针对冷热数据提供多个数据分区,根据数据冷热标识将冷热数据分开存放,从而降低SSD垃圾回收的搬移数据量,如此,又将系统时延降低了20%,同时也将写放大降低了约40%,从而有效延长了SSD盘的使用寿命。

继续往上,来到系统层面,OceanStor Dorado V3提供了系统IO优先级调度,根据应用性质给予IO优先级别标识,比如,主机读请求的优先级高于Flash Cache刷盘请求;Flash Cache刷盘写请求优先级高于异步复制的后台拷贝IO。这些IO优先级随着读写请求一起发给SSD,SSD控制芯片接收到IO时,根据IO的优先级标识,优先处理高优先级IO。如此一来,OceanStor Dorado V3就可以进一步针对应用提供性能保障。

就技术而言,SSD盘可以提供μs级别的时延,到全闪存阵列,最好也只是OceanStor Dorado V3的0.5ms。其中因素,除了以上列举因素之外,存储网络、协议(如SCSI、NVMe)带来的时延都是重要原因,要求进行系统级别的控制。

目前,OceanStor Dorado V3采用了基于华为自主知识产权存储协议处理芯片的SmartIO卡,一来支持融合组网,在10GE或8/16Gb FC组网下只需要更换光模块部件,无需更换卡件,减少1/3布线和75%接口卡,从而降低客户初始投资成本。二来,通过硬件级RDMA(Remote Direct Memory Access,远程直接数据存取)支持,提高系统的整体效率;此外,其内嵌QoS流控和TCP拥塞算法技术,在客户复杂组网场景下,可提升65%~400%的广域网性能。如此,这些设计都是OceanStor Dorado V3低时延特性的有力保障。

处理数据静默故障,打造极致可靠性

企业级应用要求全闪存阵列具有极致性能的同时,对于系统的可靠性也提出了极高的要求。就全闪存阵列而言,很多厂商将注意力集中在磨损均衡、RAID保护、双活和写惩罚/写放大的问题上,对此,OceanStor Dorado V3提供阵列级别的双活等解决方案,但他们对于可靠性的追求并没有停留在此,而是将目光着眼在数据静默等极致的可靠性追求。

所谓静默数据破坏(Silent Data Corruption)是指数据在读/写、落盘和传输处理过程中,数据出现了错误,但是错误没有立即检测出来。对于业务来说,静默数据的威胁性甚至超过系统故障,因为静默数据难以察觉,危害巨大。静默数据破坏成为一个全球共识的问题,因此2003年信息技术标准国际委员会的“T10小组”提出一个解决方案,即DIF (Data Integrity Field),数据完整性区域,对外也叫PI (Protection Information,数据保护信息)。T10 PI标准是在ANSI T10 SCSI协议中定义的一种数据完整性校验方法,其核心原理是数据摘要的思想,在数据刚生成的时候根据数据内容计算出摘要信息,插入DIF字段。在后续数据流过的关键通道上设置校验点,从而知道数据发生了错误。

但DIF只定义了从IO控制器到存储之间的链路保护,没有涉及主机操作系统以及应用层的保护。为此Oracle基于业务对数据静默损坏防护的需求,将DIF作为Oracle Linux OS和Oracle中的数据保护,称之为DIX(Data Integrity Extensions)。目前,OceanStor Dorado V3提供全路径数据保护方案,其中包括DIX、阵列级/硬盘级/芯片级DIF,确保数据存储、处理和应用的高可靠性,从而为全闪存阵列高可靠性树立了新的标杆。

全路径数据保护方案

但DIF也不是“包治百病”,如第一次写对,第二次写错位置,DIF不一定能检测出来,为此,OceanStor Dorado V3提供了父子校验等应对的方案,将数据DIF的CRC校验信息在其元数据节点中保存一份,数据读取时不仅要对数据做DIF校验,还要和其元数据节点中的CRC做校验,以及分条一致性检查功能,如此可以有效避免数据错误,及时识别并修复。

小结

对于一个全闪存阵列而言,应该说性能、可靠性这些都是基本功。厂商之间的比拼,其实就是这些细节比拼。除了本文所列举的内容之外,还有很多需要关注的,例如大盘时代高效的元数据缓存机制、NVMe带来的挑战和应对等,这些都需要全闪存阵列能够有效应对,在残酷的商业战争中,帮助赢得业务增长,成就一番宏图伟业。

更多的产品信息可以在华为官方网站上获取有关OceanStor Dorado V3产品信息: http://e.huawei.com/topic/dorado-cn/index.html

华为将于2017年9月5-7日在上海举行全联接大会2017,届时将会对华为全闪存做进一步的解读,敬请期待!有关华为全联接大会2017的资讯,请访问http://www.huawei.com/cn/events/huaweiconnect2017/?ic_medium=hwdc&ic_source=corp_banner1_hc&source=EEBGHQ179Q20W