华为Dorado V6:川热

华为Dorado V6:川热
说实话,今年莫斯科的夏天不太好。 开始得太早太快,大家都没有时间反应,六月底就结束了。 所以,当华为邀请我去中国,去他们的研发中心所在的成都,看了阴凉+34度的天气预报后,我立刻就答应了。 毕竟我已经不是同龄人了,我的骨头需要稍微暖和一下。 但我要指出的是,不仅可以温暖骨头,还可以温暖内部,因为成都所在的四川省以爱吃辣而闻名。 不过,这不是一个关于旅行的博客,所以让我们回到我们旅行的主要目标 - 存储系统的新系列 - 华为 Dorado V6。 这篇文章会让你对过去有所了解,因为…… 它是在正式发布之前写的,但在发布之后才发布。 那么,今天我们就来仔细看看华为为我们准备的一切有趣又好吃的东西。

华为Dorado V6:川热
新系列将有 5 款车型。 除 3000V6 之外的所有型号都有两个版本 - SAS 和 NVMe。 该选择决定了您可以在此系统中使用的磁盘接口、后端端口以及您可以在系统中安装的磁盘驱动器的数量。 NVMe则采用掌上型SSD,比经典2.5英寸SAS SSD更薄,最多可安装36块。 新产品线是全闪存,没有磁盘配置。

华为Dorado V6:川热
掌上 NVMe 固态硬盘

在我看来,Dorado 8000和18000看起来是最有趣的型号。华为将它们定位为高端系统,并且由于华为的定价政策,它将这些中端型号与竞争对手细分市场进行了对比。 我今天的评论将重点关注这些模型。 我马上要指出的是,由于其设计特点,初级双控制器系统的架构略有不同,与 Dorado 8000 和 18000 不同,所以我今天要讨论的所有内容并不适用于初级型号。

新系统的主要特点之一是使用了内部开发的多个芯片,每个芯片都允许您分配来自控制器中央处理器的逻辑负载并向不同组件添加功能。
华为Dorado V6:川热

新系统的核心是基于ARM技术开发、华为自主制造的鲲鹏920处理器。 根据型号的不同,每个控制器中的核心数量、频率和安装的处理器数量也有所不同:
华为Dorado V6 8000 – 2CPU,64核
华为Dorado V6 18000 – 4CPU,48核
华为Dorado V6:川热

华为在ARM架构上开发了这款处理器,据我所知,最初计划仅将其安装在较旧的Dorado 8000和18000型号上,某些V5型号已经如此,但制裁对这一想法进行了调整。 当然,ARM在制裁期间也谈到了拒绝与华为合作,但这里的情况与英特尔不同。 华为独立生产这些芯片,任何制裁都无法阻止这一进程。 与 ARM 断绝关系只会导致无法获得新开发成果。 至于性能,只有进行独立测试后才能判断。 虽然我亲眼目睹了如何从 Dorado 18000 系统中毫无问题地移除 1M IOPS,但直到我亲手在机架上重复一遍之前,我都不会相信。 但控制器确实有很大的力量。 较旧的型号配备 4 个控制器,每个控制器有 4 个处理器,总共有 768 个内核。
华为Dorado V6:川热

但当我们查看新系统的架构时,我会在稍后讨论内核,但现在让我们回到系统中安装的另一个芯片。 该芯片看起来是一个非常有趣的解决方案 登高310 (据我了解,是最近向公众展示的 Ascend 910 的弟弟)。 它的任务是分析进入系统的数据块,以提高读取命中率。 很难说它在工作中的表现如何,因为…… 如今它只能按照给定的模板进行工作,不具备智能模式学习的能力。 未来的固件中有望出现智能模式,很可能是明年初。

让我们继续讨论架构。 华为继续开发自己的智能矩阵技术,该技术采用全网状方法来连接组件。 但如果在 V5 中这仅适用于从控制器到磁盘的访问,那么现在所有控制器都可以访问后端和前端上的所有端口。
华为Dorado V6:川热

得益于新的微服务架构,即使只有一个 lun,也可以在所有控制器之间实现负载平衡。 该系列阵列的操作系统是从头开始开发的,并非简单地针对闪存驱动器的使用进行了优化。 由于我们所有的控制器都可以访问相同的端口,因此在控制器发生故障或重新启动时,主机不会丢失通往存储系统的单个路径,并且路径切换是在存储系统级别进行的。 然而,在主机上使用UltraPath并不是绝对必要的。 安装系统时的另一个“节省”是必要的链接数量较少。 如果采用 4 个控制器的“经典”方法,我们需要来自 8 个工厂的 2 个链路,那么在华为的情况下,甚至 2 个就足够了(我现在不是在谈论一个链路的吞吐量是否足够)。
华为Dorado V6:川热

与之前的版本一样,使用带有镜像的全局缓存。 这允许您同时丢失最多两个控制器或连续丢失三个控制器,而不会影响可用性。 但值得注意的是,在演示台出现一个故障时,我们并没有看到其余 3 个控制器之间实现完全的负载平衡。 发生故障的控制器的负载完全由其余控制器之一接管。 为此,可能需要让系统在此配置下工作更长时间。 无论如何,我将使用我自己的测试更详细地检查这一点。
华为将新系统定位为端到端NVMe系统,但目前前端尚不支持NVMeOF,仅支持FC、iSCSI或NFS。 在此结束或下一个开始时,与其他功能一样,我们承诺支持 RoCE。
华为Dorado V6:川热

机架还使用 RoCE 连接到控制器,但与此相关的一个缺点是机架缺乏“环回”连接,就像 SAS 的情况一样。 在我看来,如果您正在规划一个相当大的系统,这仍然是一个相当大的缺点。 事实是,所有架子都是串联的,其中一个架子发生故障会导致其后的所有其他架子完全无法访问。 在这种情况下,为了确保容错,我们必须将所有机架连接到控制器,这需要增加系统中所需的后端端口数量。

还有一件事值得一提,那就是无中断更新(NDU)。 正如我上面所说,华为为新的 Dorado 系列实施了一种容器方法来操作操作系统,这允许您更新和重新启动服务,而无需完全重新启动控制器。 值得一提的是,某些更新将包含内核更新,在这种情况下,有时在更新期间仍然需要重新启动控制器,但并非总是如此。 这将减少此操作对生产系统的影响。

在我们的武器库中,绝大多数阵列都来自 NetApp。 因此,我认为如果我与我经常使用的系统进行一些比较,那将是非常合乎逻辑的。 这并不是要确定谁更好、谁​​更差或者谁的架构更有利。 我将尝试冷静且不狂热地比较不同供应商解决同一问题的两种不同方法。 是的,当然,在这种情况下,我们将在“理论上”考虑华为系统,我还将单独指出计划在未来固件版本中实现的那些要点。 目前我认为有哪些优势:

  1. 支持的 NVMe 驱动器数量。 NetApp 目前有 288 个,而华为有 1600-6400 个,具体取决于型号。 同时,华为的最大可用容量为32PBe,就像NetApp系统一样(更准确地说,他们有31.64PBe)。 尽管事实上支持相同卷的驱动器(高达 15Tb)。 华为对此的解释是:他们没有机会搭建更大的展台。 理论上,他们没有数量限制,但他们还无法测试这一事实。 但值得注意的是,当今闪存驱动器的功能非常高,对于 NVMe 系统,我们面临的事实是 24 个驱动器足以使用高端 2 控制器系统。 因此,系统中磁盘数量的进一步增加不仅不会带来性能的提升,还会对IOPS/Tb比产生不良影响。 当然,值得看看 4 控制器系统 8000 和 16000 可以处理多少个驱动器,因为…… 鲲鹏920的能力和潜力仍不完全清楚。
  2. Lun 作为 NetApp 系统所有者的存在。 那些。 只有一个控制器可以对月球进行操作,而第二个控制器只能通过自身传递 IO。 相反,华为系统没有任何所有者,数据块的操作(压缩、重复数据删除)可以由任何控制器执行,也可以写入磁盘。
  3. 当其中一个控制器发生故障时,不会出现端口丢失的情况。 对于一些人来说,这一刻显得极其关键。 最重要的是,存储系统内部的切换应该比主机端更快。 而如果在同一个NetApp的情况下,在实践中我们发现拔出控制器和切换路径时有大约5秒的卡顿,那么切换到华为我们仍然需要练习。
  4. 更新时无需重启控制器。 尤其是 NetApps 相当频繁地发布新版本和固件分支,这让我开始担心。 是的,华为的某些更新仍然需要重新启动,但不是全部。
  5. 4 个华为控制器的价格相当于两个 NetApp 控制器的价格。 正如我上面所说,得益于华为的定价政策,它可以用其高端机型与中端机型竞争。
  6. 机架控制器和端口卡中存在额外的芯片,这可能是为了提高系统效率。

一般的缺点和担忧:

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

大多数担忧和恐惧可以通过对新产品线的个人测试来消除。 我希望它们在发布后不久就会出现在莫斯科,并且会有足够的数量来快速获得一个用于您自己的测试。 到目前为止,我们可以说,总的来说,该公司的方法看起来很有趣,而且与竞争对手相比,新产品线看起来非常好。 最终的实施引发了很多问题,因为很多事情我们要到年底才能看到,也许只有到2020年才能看到。

来源: habr.com

添加评论