华为Dorado V6:四川热火


老实说,今年莫斯科的夏天不是很好。 它开始得太早,太快,并不是所有人都对此做出了反应,并且它已经在6月底结束了。 因此,当华为建议我去中国,到他们的RnD中心所在的成都市,看着阴凉处+34度的天气预报时,我立即同意了。 不过,我的年龄不一样,我的骨骼需要稍微热身。 但我想指出的是,不仅可以加热骨头,还可以加热内部,因为四川省实际上以其对辛辣食物的热爱而闻名。 但是,此博客仍然与旅行无关,因此回到我们旅行的主要目标-新存储系统产品线-华为Dorado V6。 这篇文章会让您对过去有所感触,因为 它是在正式声明之前编写的,但仅在发布后发布。 因此,今天我们来看一下华为为我们准备的所有有趣和美味的东西。



新生产线将有5种型号。 除3000V6外,所有型号都可以采用两种版本-SAS和NVMe。 您可以在此系统中使用的磁盘接口,后端端口以及可以在系统中安装的磁盘驱动器的数量取决于选择。 NVMe使用Palm大小的SSD,比传统的2.5英寸SAS SSD薄,可容纳多达36个单元。 新行是“全闪存”,没有磁盘配置。



Palm NVMe固态硬盘


在我看来,Dorado 8000和18000似乎是最有趣的型号,华为将它们定位为高端系统,并且由于华为的定价政策,将这些中端机型与竞争对手细分了。 今天,我将集中讨论这些模型。 立即,我注意到由于其设计特点,较年轻的双控制器系统的体系结构与Dorado 8000和18000略有不同,因此,我今天要讨论的内容并非都适用于较年轻的模型。


新系统的主要特点之一是使用了自己设计的几个芯片,每个芯片都可以承载来自控制器中央处理器的逻辑负载,并为不同的组件添加功能。


新系统的核心是基于ARM技术开发并由华为独立生产的Kunpeng 920处理器。 根据型号的不同,内核的数量,频率和每个控制器中已安装的处理器的数量也会有所不同:
华为Dorado V6 8000-2CPU,64核
华为Dorado V6 18000-4CPU,48核


华为是在ARM架构上开发此处理器的,据我所知,它最初计划仅将其用于某些V5型号的旧式Dorado 8000和18000型号,但制裁措施对该想法进行了调整。 当然,ARM也曾在制裁期间谈到过拒绝与华为合作,但是这里的情况与英特尔不同。 华为自行生产这些芯片,任何制裁都不能阻止这一进程。 与ARM的关系断绝只会威胁到无法获得新开发成果。 至于性能-只有在进行独立测试后才能进行判断。 尽管我看到如何从Dorado 18000系统中毫无问题地删除1M IOPS,但是直到我亲手将其安装在机架上时,我才会相信这一点。 但是那里的控制器的容量确实不够。 较旧的型号配备4个控制器,每个控制器都安装了4个处理器,总共提供768个内核。


但是,当我们研究新系统的体系结构时,我什至会在以后告诉您有关内核的信息,但是现在让我们回到安装在系统中的另一芯片。 Ascend 310芯片看起来是一个非常有趣的解决方案(据我了解,Ascend 910弟弟最近才向公众推出)。 它的任务是分析到达系统的数据块,以增加读取命中率。 仍然很难说他将如何表现自己,因为 如今,它只能按照给定的模式工作,而没有以智力模式学习的能力。 智能模式有望在未来的固件中出现,最有可能在明年年初。


让我们继续进行架构。 华为继续开发自己的Smart Matrix技术,该技术采用全网格方法连接组件。 但是,如果在V5中仅用于从控制器访问磁盘,则现在所有控制器都可以访问后端和前端上的所有端口。


借助新的微服务架构,即使只有一个lun,它也可以平衡所有控制器之间的负载。 这一系列阵列的OS是从头开始开发的,而不仅仅是针对闪存驱动器的使用进行了优化。 由于所有控制器都可以访问相同的端口,因此在发生控制器故障或重新启动时,主机不会丢失通往存储系统的单个路径,并且路径切换是在数据存储系统级别执行的。 同时,并非严格要求在主机上使用UltraPath。 系统安装的另一个“节省”是减少了必要的链接数量。 如果采用“经典”方法处理4个控制器,我们需要2个工厂的8条链路,那么在华为的情况下,甚至2条就足够了(我现在不是在谈论一条链路的带宽是否足够)。


与以前的版本一样,使用带有镜像的全局缓存。 这使您可以同时丢失多达两个控制器或串联丢失三个控制器,而不会影响可用性。 但值得注意的是,在演示台上,如果一个控制器出现故障,我们将看不到其余三个控制器之间的完全负载平衡。 发生故障的控制器的负载完全由其余控制器之一接管。 为此,有必要使系统在此配置下工作更长的时间。 无论如何,在我自己的测试中,我将对此进行更详细的检查。
华为将新系统定位为端到端NVMe系统,但目前尚不支持NVMeOF前端,仅支持FC,iSCSI或NFS。 像其他芯片一样,在此结束时或在下一个开始时,我们将向RoCE提供支持。


机架使用RoCE以相同的方式连接到控制器,这有一个缺点-机架缺少与SAS一样的“环路”连接。 我认为,虽然这是一个很大的缺点,但是如果您计划了一个相当大的系统。 事实是所有架子都串联连接,其中一个架子的故障使跟随它的所有其他架子完全无法接近。 在这种情况下,为了确保容错能力,我们必须将所有机架都连接到控制器,这会增加系统中所需的后端端口数量。


值得一提的是无中断更新(NDU)。 就像我在上面说的那样,华为已经在新的Dorado系列的操作系统中采用了一种容器方法,这允许更新和重新启动服务,而无需完全重新启动控制器。 值得一提的是,某些更新将包含内核更新,在这种情况下,有时在更新时有时仍需要经典的控制器重启,但并非总是如此。 这将减少此操作对生产系统的影响程度。


在我们的武器库中,来自NetApp公司的绝大多数阵列。 因此,如果我与必须经常使用的系统进行较小的比较,那将是非常合乎逻辑的。 这并不是试图确定谁更好,谁更坏或者谁的体系结构更有利。 我将不加狂热地尝试清醒地比较来自不同供应商的两种解决同一问题的不同方法。 是的,当然,在这种情况下,我们将在“理论”中考虑华为系统,我还将分别指出那些计划仅在将来的固件版本中实现的时刻。 我目前看到的优点是:


  1. 支持的NVMe驱动器数。 今天的NetApp数量为288,而华为则取决于型号-1600-6400。 同时,与NetApp系统一样,华为的最大可用容量为32PBe(更准确地说,它们为31.64PBe)。 尽管支持相同容量的驱动器(最高15Tb),但这仍然可行。 华为对这一事实的解释如下-他们没有机会组装更大的架子。 从理论上讲,它们没有数量限制,但是他们根本无法检验这一事实。 但是,值得注意的是,如今闪存驱动器的功能非常强大,就NVMe系统而言,我们面临这样一个事实,即24个驱动器足以利用高端2控制器系统。 因此,系统中磁盘数量的进一步增加不仅将不带来性能提升,而且还将对IOPS / Tb比率产生不利影响。 当然,值得一看的是4控制器系统8000和16000可以拉出多少驱动器,因为 Kunpeng 920的功能和潜力仍未完全清楚。
  2. 伦拥有NetApp系统的所有者。 即 只有一个控制器可以执行与月球的操作,而第二个控制器只能通过自身传递IO。 相反,华为系统没有所有者,并且数据块的操作(压缩,重复数据删除)可以由任何控制器执行,也可以写入磁盘。
  3. 如果其中一个控制器发生故障,则端口不会丢失。 对于某些人来说,这一刻看起来非常关键。 最重要的是,存储系统内部的切换应比主机端更快。 如果在同一个NetApp的情况下,在实践中我们发现拔出控制器和切换路径时出现了大约5秒的混乱,那么切换到华为仍然需要实践。
  4. 升级期间无需重新启动控制器。 对于NetApp的新版本和固件分支发布频繁,我尤其为此感到担忧。 是的,华为的某些更新仍需要重启,但不是全部。
  5. 两个NetApp控制器的价格为4个华为控制器。 如上所述,由于华为的定价政策,它可以通过高端机型与中端机型竞争。
  6. 机架控制器和端口卡中存在其他芯片,这可能会提高系统效率。

一般的缺点和恐惧:


  1. 将机架直接连接到控制器,或者需要大量后端端口将所有机架连接到控制器。
  2. ARM体系结构和大量芯片的存在-它的工作效率如何,以及是否有足够的性能。

大多数恐惧和恐惧将能够消除对新生产线的测试。 我希望这些版本发布后不久就会出现在莫斯科,并且有足够的人迅速获得一份用于自己的测试。 到目前为止,我们可以说公司的整体方法看起来很有趣,而且新产品线对竞争对手来说非常好。 最终的实现提出了很多问题,因为 我们只会在年底或2020年看到很多事情。

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


All Articles