2014-3-10 12:02

和谐与平衡——高端存储的可用性哲学

一、难题

存储系统承载着用户的业务数据,一旦重要的数据不可访问或者丢失,就会对企业日常运营产生重大影响。因此,存储系统是否可靠直接决定了业务系统的可用性。

我们常用“系统能达到几个9”来衡量一个系统的可用度。如果是5个9的可用度,就是指在一定时间内,系统有99.999%的时间正常工作。换算到1年,平均每系统的业务中断时间应小于317秒,这就是可靠性常说的“每年中断5分钟”的由来。如果是6个9,即在一定时间内,系统有99.9999%的时间可以正常工作,也就意味着平均每系统的年业务中断时间小于31.7秒。

我们一直在对华为存储数万台设备的运行数据进行统计。自2011年起,华为存储的平均可用性已经达到了5个9的水平。这已经是传统存储的可用性极限。能否再上一个台阶呢?

最大的挑战来自于硬盘。单硬盘的容量呈摩尔定律上升,企业级SAS硬盘容量从2008年的147GB提升到600-900GB,NL SAS或SATA硬盘从2008年的500GB提升到了4TB,硬盘容量平均提升了4至8倍。但是由于工艺和功耗的限制,SAS硬盘的转速一直维持在 15000转/秒,NL-SAS 或SATA在7200转/秒。因此,虽然硬盘高速接口的速率已经从3Gb/s提升到了6Gb/s,但实际的数据带宽没有变化,只有100MB/s左右。

这就意味着,如果一张900GB的硬盘坏掉,即使全速进行数据重构,也需要900GB/100MB/s=9000秒,2.5小时。如果是NL-SAS盘,这个数据更加惨不忍睹,需要11小时。但全速重构几无可能,数据重构时不能让正在运行的业务停下来。一般情况下,硬盘只能有1/3甚或1/4的带宽能用于重构,相应的数据重构时间就会乘以2到4倍,SAS盘会达到10小时,NL-SAS盘甚至会达到40-50小时。如果在重构的时间内再发生硬盘故障,超出系统的冗余保护能力,就会导致数据丢失和业务中断。重构的时间越长,硬盘在数据重构期间失效的概率就会越大。

非磁介质的SSD硬盘也有致命的寿命问题。SSD采用的Flash芯片,有一定的读写次数限制。价格最高的SLC芯片,每bit最大擦写次数也只有10万次;性价比很高的eMLC芯片,每bit的最大擦写次数为1至3万次。这直接限制了SSD的寿命只有2-5年。

在这样的态势下,即使维持当前的可用性水平已属超难,何谈再上一个台阶?

作为产品的开发者,我们意识到,传统阵列的数据保护机制已经无法适应单盘容量的线性增长。要解决这个问题,必须打破传统的束缚,在设计的源头上就要进行突破。

中华民族自古以来就深受老庄的影响,讲求万物调和,大道至简;也讲求阴阳平衡,刚柔相济。老祖宗的智慧能不能用到现代的IT技术上呢?我们将高端存储的设计美学主题,确定为“内求平衡,外在和谐”。所有的设计,都围绕这个主题开展。

二、平衡

1、平衡式物理架构:

我们首先承认了一个设计者不愿承认的现实:这世上没有金刚不坏之身,绝顶高手反而更会有一击致命的命门。

顶尖的云服务提供商Amazon(亚马逊),内部系统采用全分布式架构,号称11个9的可靠性,却在2012年6月因机房电力系统故障、7月因雷击、10月因内存泄漏三次全网式宕机。同样是12年,12月15日,集中式架构的标杆产品Mainframe (大机),在国内某银行宕机4小时,打破了金刚不坏的神话。

过犹不及。绝对的分散和绝对的集中,都会因专于追求某一个方向,而导致优点和缺点都过于突出。我们意识到,真正优秀的设计,应该在分散和集中之间寻求一种动态的平衡。

于是,我们选择了一种平衡的架构,既有全局性的分散,又有局部性的集中。我们采用业内最高规格的16个控制器,控制器间通过高速交换矩阵实现全互联。同时,在局部上复制了经典的集中双控制器架构,每两个控制器组成一个存储引擎,引擎下再挂接硬盘框;引擎及其下挂的硬盘框就形成一个物理故障域单元。我们将这种架构命名为Smart Matrix---智能矩阵架构。

图1 Smart Matrix 架构图

我们对器件的选择有严格的标准,所有器件的电气指标都必须超过20%的冗余。并且确保所有部件都实现1+1保护,这样两个相同部件中损坏了任意1个,系统仍然可以正常工作。

下图为一个引擎的可靠性模型:

图2:存储引擎的可靠性模型

以华为所选择的器件质量水准,通过统计数据和可靠性模型计算可以得出,一个引擎配备192块 SAS硬盘时,其可用性可以达到99.99985%,接近6个9。

2、水流式数据组织

我们想象数据就是水,那么日益膨胀的社会和企业数据就好似大江大河。传统的RAID组意在将数据有序组织,限定在几个或十几个硬盘内,这就好比只有几个“水桶”,如何能挡住大江大河的冲击?数据能不能在系统内部,也像水一样,随意流动起来,随机分布在系统内部的所有资源上呢?

我们打破了传统以盘为单位的RAID组织方式,采用完全的虚拟化方式,提出两层虚拟化的理念:通过底层虚拟化实现硬盘读写与基础数据保护;通过上层虚拟化实现融合的存储资源池、智能资源调度,以及高级数据保护功能。

简单介绍下存储底层虚拟化技术的实现。我们将系统内部的物理硬盘按介质性能的不同分为三个存储层,将接入系统的第三方存储作为外部存储层,整体对外呈现为一个大的资源池。

在系统内部,我们首先将硬盘的内部空间切分成64MB大小的逻辑块(Chunk),再将来自不同硬盘上的逻辑块(Chunk)组成RAID组,形成逻辑块组(CKG);然后,再将逻辑块组(CKG)切分成细粒度逻辑块(Extent);最后,将多个细粒度逻辑块(Extent)组成卷(Volume)或者文件(File)。通过这样几个步骤,就实现了数据块全打散,数据在系统内实现了随机性分布。

这样,创建RAID组时,就不再是基于固定的硬盘,而是基于64MB的逻辑块(Chunk)。当一个逻辑块故障时,重构的仅是64MB的逻辑块(Chunk)数据,1–3秒即可完成重构。当一个物理硬盘故障时,重构的仅是多个有实际数据的逻辑块(Chunk),而且同时会有更多的目标硬盘参与重构。根据IDC实际测评结果, 每TB数据的重构时间小于30分钟,数据重构速度相对传统RAID提高了20倍。由于重构是分布进行的,对每块硬盘的压力都极小,大大降低了重构过程对业务的影响。

图3  RAID 2.0+

3、融合均衡——SSD

如果Flash芯片某一区域的擦写次数过多,就会成为SSD寿命的短板,因此SSD需要不断地将热点数据块搬移到冷数据区域,进行磨损均衡。而我们采用了华为自研的SSD盘片,因此得以打破系统和盘片的界限以及盘片和盘片之间的界限,实现系统与SSD盘内Flash芯片的深度对话。这样,我们就可以针对SSD的特性进行融合性的动态均衡算法设计。这完全不同于友商将SSD当作普通盘片进行可靠性设计的做法。

我们让系统控制器直接访问SSD盘内Flash芯片的物理空间,从而可以从系统全局进行Flash资源的集中管理和调度,并实现了系统全局的Flash坏页管理,以及全局空间冗余备份。我们在系统和盘片两个层级进行综合磨损均衡,更有力地确保了SSD不会出现磨损过热的区域。

系统对SSD盘片和盘内Flash芯片的数据读写有完整的统计,可以准确地探知SSD的使用期限。我们针对纯SSD系统、以及SSD与机械硬盘的混合系统设计了自适应算法,系统可以根据SSD和机械硬盘处于生命周期的具体时期,根据盘体的健康状况,与RAID2.0+相结合,自动进行全局资源调节,以延长盘体寿命。在SSD寿命即将耗尽时,我们还会实施双层反磨损均衡,防止多个Flash块同时失效。这样,通过系统的深度参与,高端存储的SSD寿命就由常规的2至5年延长到了7.5年。

Smart Matrix智能矩阵式系统架构、RAID 2.0+磁盘管理算法以及针对SSD的可靠性设计等综合措施,有力确保了华为OceanStor 18000系列高端存储系统在设备层面达到6个9(99.9999%)的可靠性。 

三、和谐

前文提到,5个9的可用性代表着设备的年平均故障中断时间为317秒,6个9代表年平均故障中断时间为31.7秒。这不仅要求设备出故障的概率要尽量低,而且要求故障后的业务恢复要尽量快。系统的可用性,是设备可靠性和可服务性综合作用的结果。

我们的视野也不再局限在设备内部。我们将一个完整的系统看作一个有机体,由4类要素构成:硬件、软件、人、环境。系统运行实质上是这4类要素间的相互作用,以及同类型要素间的相互作用。

图4:存储系统可用性模型

这样,4类要素一共就有10种作用存在。如果每种作用的故障发生概率都相同,那么系统的整体故障率就是纯硬件故障率的10倍,这也就是存储在系统层面很难达到6个9的原因所在。就我们所统计的存储设备故障原因数据来看,硬件、软件、第三方(与设备对接的软硬环境和机房环境)、人为4因素几乎相等,很好地印证了这个观点。

理解了这一点,也让我们找到了高端存储系统可用性的进一步提升点:系统与环境的和谐,人与机器的和谐,系统内部的软硬相谐。

我们在系统内部加强了故障自愈能力的建设,对各硬件部件、软件模块、系统资源、IO传输路径等进行多层级的实时监控,当检测到异常时,会自动启动修复机制。这样,在故障发生前,就可以通过自愈处理,将隐患消除在萌芽状态,防患于未然。

针对设备外部,我们也花费了大量的精力进行整体化的细节考量,在多因素间寻找平衡设计和平衡算法,确保系统和部件的生态环境最佳化,向存储系统整体6个9的可靠性方向不断逼近。下面仅举几例说明我们在系统可靠性方面不断的努力。

1. 专用而不特殊---高端机柜:

我们在高端上采用了一体式整柜交付,意在给设备提供一个良好的生态子系统。

业界其他所有厂商的高端存储机柜,长宽高尺寸都比较特殊,有的甚至在重量、功耗上有超高的要求,这样会对机房的机柜布放造成非常大的障碍。这与我们的设计理念不符。不能让外部环境来适应系统,而应该让系统适应环境。因此,我们从一开始就摒弃了特殊机柜的方案。我们采用了标准的1.1m*0.6m*42U机柜,整柜的重量低于650Kg,运行功率低于6000W,满足普通数据中心的承重、散热和供电条件。

但这并不意味着机柜没有进行精心设计。高端机柜具备极好的接地和散热性能。柜内每个框体的摆放都经过精心的计算和设计。我们并不追求设备或硬盘的密度最高,而是追求给设备和硬盘一个更良好的供电、散热环境,线缆布放简洁,设备易于观察和维护,系统防震更可以抗击9级烈度。

“有节骨乃坚,无心品自端”。“竹”一直是中国文化的象征。我们将竹节的概念也应用到了机柜上,希望客户看到我们的高端存储,就象看到一片翠竹。这个设计,还因此获得了世界工业设计的“奥斯卡”奖---红点奖(RED DOT)。

图5:获得红点奖的机柜

2. 延年益寿---娇贵的机械硬盘:

我们知道,机械硬盘是个很精细的玩意儿,非常娇贵,温度、湿度、腐蚀、电压、震动、读写频率都会影响硬盘的寿命,因此硬盘应用中的的故障率相当高。存储业界几个TOP厂商的SAS硬盘年故障率为1~2%,NL-SAS和SATA硬盘的年故障率为2~5%。

我们在各个环节的设计上都进行了充分的考虑。仅以腐蚀为例:硫是最大的腐蚀杀手,日渐加重的大气污染或者机房装修的材料不慎,都会致使机房中的硫元素剧烈增加,导致硬盘腐蚀。

我们向硬盘原始制造商提出了严格的防腐蚀要求,从进货到出厂,层层严格测试。不仅如此,我们采用独有的专利技术,在机柜、机框、硬盘拉手条上进行了多层次的腐蚀防护。您可能不相信,我们的设计团队中还有流体力学专家和化学专家,因为温度和风速也会对器件腐蚀的速度造成影响,我们会根据监测到的腐蚀状况和部件温度,调整风扇的风速,确保影响最小化。

正是这种细致入微的设计,才最大化地延长了硬盘的使用寿命,降低了硬盘故障率。据我们对华为在网应用的百万片硬盘的统计,SSD硬盘的年故障率已低于0.3%,SAS硬盘低于0.5%,NL-SAS和SATA硬盘低于0.7%,均大大低于业界水平。

3. 简单和愉悦---管理界面:

有这么一句话:如果只有一条路,走错路的概率就是0;路的分支越多,出错的可能性就会越多。操作的简化可以消灭50%以上的人为错误。

科学观察还表明,人在焦躁情况下的出错概率是愉快情况下的10倍。

因此,在系统管理界面的人机交互上,我们追求“极致的简单”和“愉悦的体验”。我们希望通过管理界面,使存储设备成为用户的”朋友”。

我们进行了扁平化的信息架构设计,确保每一个操作入口都不超过3层,用户能很容易地进行每一项操作。我们严格规定页面中必须去除一切不必要的元素,留白不能低于40%。我们将端到端的业务操作展现到一个流中,力求用户在进行配置时有一种行云流水的感觉。我们力求通过柔化的设计,使用户和管理界面之间、和设备之间不再是简单的操作者和被操作者的关系,而代之以相互对话和交流,甚至相互学习、相互愉悦。

图6:简单的管理页面

4. 健康守护使---Cloud Service:

针对高端存储,我们还专门配备了一个健康守护卫士:Cloud Service。Cloud Service基于管理界面,并进行了大幅简化,仅实现单一式功能---故障监控。

在客户机房本地,Cloud Service除了可以对设备进行即时的告警监控,还可以进行主动的定时健康检查,通过综合因素进行判断,在系统告警之前及时发现质量隐患,及时通知,防患于未然。

如果您配置了华为云服务邮箱或者短信平台号码,您还可以享受到华为的云服务。设备的故障或潜在故障信息可以自动通知到华为的服务后台,后台会立即开启问题处理流程,通知服务人员在第一时间联系现场,并自动提供处理建议。如果发现有重大问题,会立即通知专家会诊,甚至可以远程诊断。

Cloud Service的设计也是一种平衡的体现。在设备之外进行第三方看护,既不影响设备的运行,也避免了设备发生通讯类故障时无法发出故障通知。Cloud Service将系统运行的空间距离延伸到了华为服务中心,从而将故障对业务影响的时间缩减到了最小。

-----------------------------

从可用性的观点看,故障就有如洪水猛兽。和谐与平衡是高端存储的灵丹妙药,将洪水猛兽轻柔地层层化解。我们所知尚浅,将老祖宗的智慧之光与现代科技稍一碰撞,就造就了高端存储质的提升。当前IT技术的发展,面临着云、大数据、虚拟化等诸多课题。也许,当我们艰难跋涉走出泥潭的时候才会发现,老祖宗早已在那里等了很久了……

来源:C114中国通信网

相关

华为融合测试监测短信
本评论 更新于:2025-12-14 5:47:35
在C114 APP中与业内人士畅聊通信行业热点话题!