华为UDS:ARM自组织硬盘满足CERN功耗

华为云计算大会(HCC2012)昨天在上海落下帷幕,笔者前一天撰写的《华为HVS高端存储硬件不惧 Scale-in软件创新?》中讨论了华为本次发布的3款存储新品中的一款,这里我想再谈谈UDS海量存储(云存储)系统。9月6日下午的分论坛中,华为公司的专家从原理和功能上对它进行了比较系统地阐述。由于平时我关注SAN、NAS这些传统企业存储比云存储/对象这些要多,因此本文将以一名旁观者的视角,通过应用案例、还有同类产品对比的角度来写。

首先,关于对象存储技术,可以参考下华为供稿的“分布式对象存储——超级数据图书馆”一文。

华为UDS:对象存储+ARM自组织硬盘节点

如上图,我们看到UDS海量存储架构的特点为——去中心、全分布和自组织。整个系统由接入节点(网关)、单盘存储节点和以太网交换机组成,数据流进入UDS时首先被接入节点负载均衡,使用擦除编码(Erasure code)对数据进行分片,然后在分布式SoD(自组织硬盘)群中按照一定的规则保存在其中3个节点上,即每份数据存放3份。

这一点是不是有点像HDFS(Hadoop分布式文件系统)?当然它们的原理和适用场景都不同,只是对象存储设备大多是保存数据的2~3个副本来实现冗余保护。华为宣称UDS存储数据的可持久性:单数据中心为99.9999%,而在三数据中心的情况下可达99.999999999%。

谈到擦除编码,笔者联想到在IDF2012系列报道中的一篇——《云存储:AmpliStor擦除码+对象、SAS SAN性价比》中介绍过的大规模对象存储,目前这家公司已经成为Intel和昆腾的合作伙伴。擦除编码的主要特点是在遇到硬盘故障时比传统RAID大大缩短重建时间同时提高可靠性,而华为UDS应该还可以利用多个副本并发读取来提高性能。

UDS对象存储还有一个特性——“无状态的接入节点”,据了解这一单元可以无缝地在系统中增加或者减少。我们记得AmpliStor对象存储的控制节点(相当于接入节点)使用了一颗Intel Xeon E3处理器,而在存储节点上只需要Atom即可。比较有趣的是,华为UDS每个数据存储节点是由一块硬盘和一个ARM处理器组成的。

华为UDS海量存储机柜示意图

上图与AmpliStor的硬件外观颇有形似之处。UDS的接入节点使用了华为的Intel x86 CPU服务器,下面我们看看存储节点。

每台2U高度的存储节点机箱包含上、下2个刀片,每个1U刀片里有8块硬盘,它们分别对应8个ARM芯片。也就是说一个刀片实际上就是前面说的8个SoD。刀片对外通过万兆以太网交换机与接入节点相连,内部估计也有个交换单元将带宽分配到自组织硬盘。

对于大规模分布式的对象存储,性能要求往往不是首要的,除了可靠性就是成本。根据上图,磁盘在今天是最低成本的存储(包括购置、使用和维护),因为磁带还需要磁带机、带库等相对昂贵的自动化设备。使用消费级还是企业级硬盘可以由用户来选择。企业级(7200rpm近线)硬盘大约以(消费级)200%的成本提供133%的性能(数字仅供参考),经过Google和CMU的评估它们的可靠性都能胜任。

我们可以使用简单的“手机”级别处理器吗?每个ARM芯片只负责一块硬盘的数据接口以及元数据处理,所以性能应该不成问题,这种情况下内存和闪存(ROM)也就分布在每个SoD节点上了。

还有严格的1:1可靠性——由于每个硬盘独享ARM CPU和网络接口资源,那么只有单盘存储节点一种失效模式——有效避免了在数据存储节点内部故障的复杂性。

提到对象存储的用途,以该领域的事实优势厂商EMC为例,早期推出的Centera产品家族针对数据归档,而Atmos则用于云存储。华为UDS的对象存储支持Amazon S3接口、赛门铁克NBU和CommVault Simpana备份接口,据了解目前NFS/CIFS文件访问协议还需要另外添加网关,未来计划集成到UDS产品中。

满足CERN功耗要求,ARM综合成本暂胜Atom

如上图,华为UDS海量存储从20节点的原形开始,到2010年底实现192节点的原形产品,今年一月交付给欧洲核子研究组织CERN 384节点的系统,并于7月通过了OpenLAB的性能测试。在本次云计算大会上该产品正式发布。

CERN以前使用了大量的磁带,因为磁带不像磁盘旋转介质——在没有数据读写时是不耗电的。华为IT存储产品线总裁范瑞琦先生表示,瑞士发电的成本较高,该组织还曾表示想把数据中心迁移到电费相对低廉的东欧。而功耗和成本正是UDS使用ARM而不是Intel Atom等处理器的原因,据了解华为此前在这一系列的产品中使用过Atom。

对于360这家公司,笔者在这里也不想对发表任何看法。只是在去年的HCC大会上,他们获悉华为基于ARM芯片的云存储解决方案,更低功耗、更高部署密度,以及数据可靠性基础之上更少的数据冗余——擦除编码。如此说来,UDS也能像Amplistor那样选择实现较高的硬盘利用率而不是三副本?

今年9月将在奇虎360上海IDC部署第一套试验系统。我觉得在华为UDS产品的背后,硬件选择和设计显出了一定的实力,软件和系统原理看上去尽管不算太复杂,但要做到相对完善也不算容易。我们等待着更多国内外用户的使用反馈,毕竟产品不断地卖出去才是硬道理。

加深合作:元数据处理、硬盘接口变成以太网?

笔者在昨天的报道中使用了“与硬盘厂商合作:按碟片失效不只是XIO专有”这样的小标题,但当范瑞琦在采访中谈到未来可能会和硬盘厂商合作,将磁盘自身的接口变成以太网时,还是大大出乎了我的预料。当您看到这里,如此做的原因应该不难解释了——提高集成度,将UDS的(Hash/纠删码)ARM元数据处理单元和以太网接口放到硬盘的电路板上,进一步提高空间利用率、减少故障点和成本。

记得我们在《纪录中国——企业存储的自主之路》一文中曾经谈到:“采购量越大的“甲方”对于上游供应商的控制能力也越强,这个不仅体现在议价方面… 希捷(占有一半以上的企业级硬盘市场)等出货给大OEM客户与分销渠道/采购量较小厂商的硬盘品质也有等级之分”。以华为今天的硬盘采购量无法与惠普等厂商相比,那他们提出定制化合作的理由是什么呢?我觉得应该是技术和需求两方面的因素,首先是真的可以做到联合开发,其次既然客户有这样的需要,OEM厂商又有利可图,怎么就不行呢?