华为存储的“内幕”:专有技术以及其他不具备的技术

市场上可用的大多数存储系统彼此之间并没有太大区别,因为许多供应商从几乎相同的ODM制造商那里订购设备。 从机箱到控制器,我们几乎拥有所有东西,包括RAID 2.0+等技术和软件。



削减部分后,将提供一些有关数据存储系统每个节点中异常之处的详细信息。

在模块级别有趣的是


从结构上讲,任何制造商提供的所有现代存储系统都外观相同:控制器安装在钢制机箱的前部,接口模块安装在后部。 也有电源和通风。 似乎一切都是熟悉且标准的。 但是实际上,我们已经在此范例中引入了很多有趣的东西。



让我们开始将存储系统元素安装在机箱中。 存储系统中的3.5英寸磁性驱动器越来越少;混合系统和全闪存开始占主导地位。 但是,即使是几个转速高达每分钟1.5万转的磁盘驱动器,也会产生无法忽略的振动。 我们针对这种情况提出了一套完整的建议-如何在磁盘架之间分配具有各种参数的磁驱动器。

即使只占百分之一,它也会影响可靠性。 在大型数据中心的规模上,每个驱动器所占的百分比变成了故障和故障的有形指标。 为确保单个磁盘的振动较少通过刚性机架结构传递,我们在磁盘下方的磁盘上配备了橡胶或金属阻尼器。 为了消除存储系统中的另一个振动源-通风模块-我们安装了双向风扇,并将所有旋转元件与机箱隔离。

对于主轴驱动器,最小的摇晃已经成为问题:磁头开始误入歧途,性能大幅下降。 SSD是另一回事;它们不怕振动。 但是安全地固定组件仍然很重要。 请按照交货流程进行操作:可以将盒子放下或随意扔掉,放在一边或倒置。 因此,我们将存储系统的所有组件严格固定在三个维度上。 这样就消除了它们在运输过程中移位的可能性,防止了连接器在意外撞击时从插座中弹出。



曾几何时,我们开始为电信行业开发计算机技术,在该行业中,传统上对温度和湿度的操作性要求很高。 而且我们将它们移到了其他方向:由于使用了镀镍和镀锌,即使在高湿度下,存储系统的金属部件也不会氧化。

我们存储系统的热设计是着重于机箱上温度的均匀分布而开发的,以防止磁盘架任何角落的过热或过度冷却。 否则,就无法避免物理变形-即使微不足道,但仍然违反了几何形状并能够缩短设备的使用寿命。 因此,赢得了百分之几的分数,但这仍然会影响系统的整体可靠性。

半导体微妙之处


我们复制了存储系统的重要组件:如果发生故障,总会有一个安全网。 例如,较年轻型号的电源模块根据1 +1方案工作,对于更坚固的电源模块-2 +1甚至3 +1。



还保留了控制器,其中存储系统中至少有两个(我们不提供单控制器系统)。 在6800th及更高版本的存储系统中,冗余模式是根据3 + 1方案(在较年轻的型号1 + 1中)执行的。

甚至保留了一块管理板,它不会直接影响系统的运行,但仅在配置更改和监视时才需要。 此外,用于存储系统的任何接口扩展卡都只能成对出售,以便客户保留。

所有组件-PSU,风扇,控制器,管理模块等 -配备了能够响应特定情况的微控制器。 例如,如果风扇自身开始减速,则会向控制模块发送警报。 因此,客户可以全面了解存储系统的状态-如有必要,可以自行更换某些组件,而无需等待我们的服务工程师的到来。 而且,如果客户的安全策略允许,我们将配置控制器,以便它们将有关熨斗状态的信息传输给我们的技术支持。

它的芯片更好,更容易理解。


我们是唯一一家为其存储系统开发自己的处理器,芯片和固态驱动器控制器的公司。



因此,在某些型号中,作为存储系统的主处理器(存储控制器芯片),我们不使用经典的Intel x86,而是使用我们子公司HiSilicon的ARM处理器。 事实是,存储中的ARM体系结构(用于计算相同的RAID和重复数据删除)表现出比标准x86更好的性能。

我们特别引以为豪的是SSD控制器芯片。 而且,如果我们的服务器可以配备第三方半导体驱动器(英特尔,三星,东芝等),则在数据存储系统中,我们仅安装我们自己设计的SSD。



存储系统中输入输出模块(智能I / O芯片)的微控制器也是HiSilicon开发的,也是用于远程存储管理的智能管理芯片。 使用我们自己的微芯片可以帮助我们更好地了解每个存储单元在每时每刻发生的情况。 这就是我们最大程度地减少了在同一Dorado存储系统中访问数据时的延迟的原因。



对于磁盘,连续监视在可靠性方面极为重要。 我们的存储系统支持DHA(磁盘运行状况分析器):磁盘本身连续记录发生的事情,感觉。 由于统计信息的积累和智能预测模型的构建,可以在2-3个月内而不是5-10天内预测驱动器到临界状态的转换。 磁盘仍处于“活动状态”,其上的数据是完全安全的-但客户可以在出现故障的第一个迹象时随时更换磁盘。

RAID 2.0以上


我们已经在系统级别考虑了存储系统中的故障安全设计。 我们的Smart Matrix技术是PCIe的附加组件-此总线(基于该总线实现了控制器之间的连接)特别适用于SSD。


Smart Matrix在我们的Ocean Store 6800 v5存储中特别提供了4控制器全网格。 为了使每个控制器都能访问系统中的所有磁盘,我们开发了一个特殊的SAS后端。 当然,缓存是在所有当前活动的控制器之间镜像的。



当控制器崩溃时,来自其的服务会迅速切换到镜像控制器,其余的控制器将恢复关系以相互镜像。 同时,缓存中记录的数据具有镜像保留,以确保系统可靠性。



该系统可以承受三个控制器的故障。 如图所示,如果控件A失败,则控制器B的缓存数据将选择控制器C或D来镜像缓存。 当控制器D发生故障时,控制器B和C会镜像高速缓存。



RAID 2.0数据分发系统是我们存储系统的标准:磁盘级虚拟化已长期取代了将内容从一种介质无间断地逐块复制到另一种介质的过程。 所有磁盘都被分组为块,它们被合并为一个具有两层结构的大型企业集团,并且已经在其上层之上的是构成RAID阵列的逻辑卷。



这种方法的主要优点是减少了阵列的重建时间。 此外,如果发生磁盘故障,将不对一直站立的热备用磁盘执行重建,而是对所有已用磁盘的可用空间进行重建。 下图以九个RAID5硬盘驱动器为例。 当硬盘驱动器1崩溃时,数据CKG0和CKG1损坏。 系统随机选择CK进行重建。



正常的RAID恢复速度为30 MB / s,因此恢复1 TB数据需要10个小时。 RAID 2.0+将此时间减少到30分钟。

我们的开发人员设法在系统中所有主轴驱动器和SSD上实现了均匀的负载分配。 与通常使用固态驱动器作为缓存相比,这使您可以更好地释放混合存储系统的潜力。



在Dorado类的系统中,我们实现了所谓的RAID-TP,即具有三重奇偶校验的阵列。 当任何三个驱动器发生故障时,这样的系统将继续运行。 与RAID 6相比,这将可靠性提高了十进制两位,而RAID 5则使可靠性提高了三倍。



我们建议对特别重要的数据使用RAID-TP,尤其是由于RAID 2.0和高速闪存驱动器,因此不会对性能产生重大影响。 您只需要更多可用空间即可保留。



通常,全闪存系统用于具有小数据块和高IOPS的DBMS。 后者对SSD并不是很好:NAND存储单元很快就没电了。 在我们的实施中,系统首先在驱动器的缓存中收集相对较大的数据块,然后将其完全写入单元中。 这使您可以减少磁盘上的负载,并以更节省的模式减少“垃圾收集”并释放SSD上的空间。

六个九




上面的内容使我们可以在整个解决方案级别上讨论系统的容错能力。 验证是在应用程序级别(例如,Oracle DBMS),操作系统,适配器,存储等(直到磁盘)上实现的。 这种方法可确保将到达外部端口的数据块准确地写入系统的内部磁盘,而不会造成任何损坏或丢失。 这意味着企业级别。



为了可靠地进行数据存储,保护和恢复以及快速访问它们,我们开发了许多专有技术。



双活可能是过去一年半中最有趣的发展。 在控制器级别上正在实施基于我们的存储系统的交钥匙解决方案,以构建故障安全的城域集群;除仲裁器外,它不需要任何其他网关或服务器。 它仅需通过许可证即可实现:两个华为存储系统和一个许可证-并且可以正常工作。



HyperSnap技术可提供连续的数据保护而不会降低性能。 系统支持RoW。 为了防止在任何给定时刻存储数据丢失,使用了许多技术:各种快照,克隆,副本。



基于我们的存储系统,至少已开发了四个灾难恢复解决方案并在实践中进行了测试。



我们还为三个3DC Ring DR Solution数据中心提供了一个解决方案:群集中的两个数据中心,第三个是复制中。 我们可以组织异步复制或从第三方阵列进行迁移。 有一个智能虚拟化许可证,因此您可以使用具有FC访问权限的大多数标准阵列中的卷:Hitachi,DELL EMC,HPE等。 该解决方案确实可行,市场上有类似产品,但价格更高。 在俄罗斯有使用的例子。

结果,在整个解决方案级别上,您可以获得六个9的可靠性,而在本地存储级别上则可以得到五个9。 总的来说,我们尝试过。

俄罗斯华为企业高级IT解决方案经理Vladimir Svinarenko发布

Source: https://habr.com/ru/post/zh-CN436140/


All Articles