审查并测试华为Dorado 5000V6


六个月前,我已经开始谈论更新华为存储系列-Dorado V6。实际上,我在正式宣布之前就设法认识了他们,并且合乎逻辑的是,当时我没有机会亲手触摸它们。在我的文章《华为Dorado V6:四川热》中,我重点介绍了较旧的Dorado 8000和18000 V6型号,因为从体系结构的角度来看,它们当时对我来说最有趣。最后,我有机会在我们的实验室中测试了5000V6系统,并更多地讨论了这些系统的技术方面。


一方面,这是对5000V6系统的审查和测试,另一方面,这是上一篇文章的逻辑延续,因为 在过去的六个月中,出现了有关系统各个组件,工作逻辑和已实现功能的更多详细信息。

但是,让我们说清楚。由于这个系统更加熟悉-一个双控制器系统,因此失去了它的姊妹姐妹的一些优势。

  1. 缺少共享的前端和后端。

  2. 同样,在5000V6和6000V6系统中,每个控制器上仅安装了两个Kunpeng 920处理器,而在3000V6中安装了一个。
  3. 如果为5000V6和6000V6提供的机架与为通过8000p6和18000V6提供的昆鹏芯片而设计的机架是为了加快重建过程而设计的,并且这些机架通过100Gb RDMA连接,则对于年轻的3000V6型仅提供SAS机架。

  4. 5000V6和6000V6设计为安装36个PALM SSD或25个2.5“”普通“ SAS SSD(在订购时配置系统时选择),最年轻的3000V6仅支持25个SAS SSD。
  5. 3000V6支持在控制器上最多安装三个热插拔接口卡,而5000V6和6000V6支持六个卡。

与上一篇文章一样,有一个关于端到端NVMe的脚注:计划在不久的将来支持通过RoCE v2的NVMe和基于TCP / IP的NVMe。

在架构上,双控制器系统当然也有所不同。


OceanStor Dorado V6采用双活架构,具有以下技术。

  • 负载平衡算法:平衡每个控制器接收的读写请求。 
  • 全局缓存:允许LUN没有所有者。每个控制器处理接收到的读写请求,从而在控制器之间提供负载平衡。
  • RAID 2.0+:在存储池中的所有磁盘之间平均分配数据,以平衡磁盘上的负载。

RAID 2.0以上


如果没有将数据均匀地存储在SSD上,则某些负载较重的SSD可能会成为系统瓶颈。OceanStor Dorado V6使用RAID 2.0+在每个SSD上的所有LUN之间平均分配数据,以平衡驱动器之间的负载。OceanStor Dorado V6如下实现RAID 2.0+:

  • 多个SSD组成一个存储池
  • 每个SSD分为固定大小的块(每个块通常4 MB)以简化逻辑空间管理
  • 来自不同SSD的块组成基于用户定义的RAID策略的块组
  • 块组分为“颗粒”(通常为8 KB),这是卷的最小单位


ROW全条写


SSD上的闪存芯片可以擦除有限次。在传统的RAID重写模式(即写)中,SSD上的热数据会不断被覆盖,其闪存芯片会很快磨损。OceanStor Dorado V6使用新数据和旧数据的全重定向写入(ROW)记录。他为每条记录分配一个新的闪存芯片,以平衡擦除所有闪存芯片的次数。这样可以大大减少控制器本身的处理器负载以及写过程中SSD上的读/写负载,从而提高了不同RAID级别的系统性能。


端到端I / O优先级


为了确保某些I / O类型的一致延迟,OceanStor Dorado V6控制器会根据其类型将每个I / O操作标记为优先级。这使系统可以计划CPU和其他资源并对其进行优先级排序,从而确保基于I / O优先级的延迟。特别是,在收到多个I / O SSD之后,请检查其优先级并主要处理具有较高优先级的操作。

OceanStor Dorado V6将I / O操作分为以下五种类型,并按降序排列优先级,从而提供最佳的内部和外部I / O响应:

  • 读/写操作
  • 先进的I / O功能
  • 收拾
  • 刷新缓存
  • 垃圾收集


在每个驱动器上,除了优先输入/输出操作外,OceanStor Dorado V6还允许高优先级的读取请求来中断当前的写入和擦除操作。在这种情况下,磁盘读取延迟(如果缓存中没有数据)将直接影响主机读取延迟。通常,SSD闪存驱动器执行三种操作:读取,写入和擦除。擦除延迟为5毫秒至15毫秒,写入延迟为2毫秒至4毫秒,读取延迟为数十微秒至100微秒。当闪存芯片执行写入或擦除操作时,读取操作必须等待,直到当前操作完成为止,这导致读取延迟显着增加。

智能磁盘盒


正如我在上一篇文章中所写的那样,新磁盘架配备了自己的处理器和RAM。这使您可以传输任务,例如从控制器从磁盘故障中恢复。如果由于磁盘故障而导致数据恢复,这将大大减少控制器上的负载。下图以RAID 6(21 + 2)为例,显示了单个磁盘架中的数据恢复过程。如果驱动器D1有故障,则控制器必须读取D2-D21和P,然后重新计数D1。总共应该从磁盘读取21个数据块。读取和还原操作会消耗大量处理器资源。


Smart Disk Enclosure磁盘架接收还原请求并读取数据以本地计算奇偶校验数据。然后,她仅需要将奇偶校验数据传输到控制器。下图显示了控制器和磁盘架之间仅需要传输四个奇偶校验数据块。通过将网络带宽减少五倍来节省恢复操作的性能。


结果,将该负载转移到机架中的处理器上,可以将控制器上的负载从重建任务减少到小于10%。

SmartDedupe和SmartCompression


OceanStor Dorado V6根据用户数据的特性自动执行自适应重复数据删除和压缩,从而最大限度地提高了效率。重复数据删除和压缩的自适应过程如下。

  1. , , . , . .
  2. , «» (SFP) «». , .
  3. 当“功能”表中累积了几个相同的SFP时,在处理后会从重复数据删除磁盘中读取与这些SFP对应的数据。重复数据删除完成后,指纹表将更新。

在压缩数据之前,OceanStor Dorado V6使用其自己的预处理算法,根据数据格式确定难以压缩在数据块中的部分。 

OceanStor重新排序数据,将其分为两部分:

  • 对于难以压缩的部分,系统使用专门开发的华为压缩算法进行压缩
  • 对于另一部分,系统使用通用的压缩算法

一些存储供应商已经在其武器库中使用数据压缩。但是他们通常使用4K或1K块来压缩数据。华为已经走得更远,并使用字节对齐。我认为插图很清楚。


因此,我们在不到5KB的空间内容纳了32KB的用户数据。

从安装适当的Storage Ecency许可证开始,压缩和重复数据删除现在始终可以正常工作。不能从Device Mabager禁用它,但是如果您确实需要,可以通过CLI来完成。根据供应商的逻辑,节省空间的技术应始终在SSD上运行。

整个生产线的重要一点。尽管只有五个模型,但是它们之间的区别尤其在于每个控制器的缓存量:

  • OceanStor Dorado 3000 V6:192 GB
  • OceanStor Dorado 5000 V6:256 GB / 512 GB
  • OceanStor Dorado 6000 V6:1024 GB
  • OceanStor Dorado 8000 V6:512 GB / 1024 GB / 2048 GB
  • OceanStor Dorado 18000 V6:512 GB / 1024 GB / 2048 GB

如您所见,旧型号的总容量没有变化,但是驱动器的数量却发生了变化。根据华为工程师的说法,他们根本没有机会测试比2Pb大的系统。从理论上讲,他们支持更多。

最大驱动器数/最大容量: 

  • OceanStor Dorado 3000 V6-1000 / 500TiB
  • OceanStor Dorado 5000 V6-1200 / 1024TiB
  • OceanStor Dorado 6000 V6-1500 / 2048TiB
  • OceanStor Dorado 8000 V6-3200 / 2048TiB
  • OceanStor Dorado 18000 V6-6400 / 2048TiB

在上一篇文章中,我忘了提到通常可用的接口卡:


我已经说过(在上一篇文章和上一篇文章中),华为提供了自己设计的固态硬盘-Palm Size,或者他们称之为华为开发的固态硬盘(HSSD)作为存储设备。

除了公司认为他们的发展更快之外,它还提供了一些关键功能。



  • SSD / - NAND. - NAND.

    HSSD . SSD , /. SSD / , , , , .
  • (Bad Block)

    - NAND. HSSD /, - NAND. , SSD (XOR) . HSSD , .
  • 背景检查

    在NAND闪存中长期存储数据后,由于读取干扰,写入干扰或意外故障可能会导致数据错误。HSSD定期从NAND闪存中读取数据,检查是否有位更改,并将具有位更改的数据写入新页。此过程可以预先检测和处理风险,从而有效地防止数据丢失并提高数据安全性和可靠性。

因此,让我们直接进行测试。我们测试了具有256 GB和512 GB缓存的5000V6控制器的两种变体。

可以说,第一个测试是预热。


我们可以看到,在8k 50r / 50rw的负载曲线上,差异约为7%(220 kIOP与205 kIOP),并且仅影响最终的IOPS数量,响应时间保持在0.9 ms的相同水平。

顺便说一句,很容易确定我们开始依赖控制器,系统本身报告控制器控制器的利用率很高。


我们对SSD上的所有系统使用的第二项测试是评估它们并将其与更复杂的配置文件进行比较。

轮廓
[global]
direct=1
thread=1
iodepth=16
filename=/dev/sdb
ioengine=libaio
runtime=3600000
group_reptorting
time_based
[8r]
rw=randread
numjobs=24
bs=8k

[8w]
rw=randwrite
numjobs=24
bs=8k

[32r]
rw=randread
bs=32k
numjobs=1

[32w]
rw=randwrite
numjobs=1
bs=32k

[128r]
rw=read
bs=128k
numjobs=1

[128w]
rw=write
bs=128k
numjobs=1

[512r]
rw=read
bs=512k
numjobs=1

[512w]
rw=write
bs=512k
numjobs=1


这里的图片完全不同。如果两千次IOPS的数量差异(172 kIOP与170 kIOP)根本不显着,则延迟增加了五倍(从0.4 ms到2.1 ms),这说明在使用大块的高速缓存时给系统带来了好处。

去年,我和同事已经对Huawei Dorado 5000 V3进行了测试,因此现在我们可以比较这两个系统。


脸上进步。两种情况下的负载曲线和测试过程都相同。

当然,与竞争对手进行比较也很好,就我个人而言,与不久前出现的NetApp AFF A400完整NVMe系统相比,我的手非常抓挠。不幸的是,她还没有去过我们的测试实验室,即使将华为以前的Dorado 5000 V3定位为竞争对手,与AFF A300进行比较也不是完全合乎逻辑的。

在21世纪的院子里,许多公司提供各种程序来增加其系统的吸引力。华为已决定朝这个方向发展。

有效容量保证


借助新的V6存储系统,您可以安全地依赖具有压缩和重复数据删除功能的高效数据存储。通常,市场上的许多供应商已经提供了类似的程序,由于存储效率更高,因此可以保证在所获取的数据存储系统的有用卷上存储更多数据。

每个TB的SSD的成本仍然很高,因此压缩和重复数据删除技术非常有用,并且在许多类型的数据上显示出很高的效率。如果您的数据是视频,音频,图像,科学数据,PDF,XML或加密数据,则重复数据删除将无效,否则保证有效。即使您购买的系统中安装了最大数量的驱动器,但连同该程序下的驱动器,您还将收到一个扩展架。

闪光器



如果与阵列一起购买了华为Hi-Care Onsite或Co-Care或更高版本的程序,则可以指望将控制器免费更新为同一系列的新型号。这样一来,您无需购买新系统或进行数据迁移,即可拥有最先进,最高效的系统。更换控制器的过程也不会中断服务。

如果您是界面爱好者并且希望查看更新的设备管理器,那么Huawei Portal上已经可以使用OceanStor Dorado 18000 V6 6.0.0 DeviceManager

不幸的是,该系统仅在我们的测试中进行了几天,因此我们仅能衡量性能。但是我也想进行功能测试,我们最喜欢的故障测试,并检查在执行某些操作时对先前的V3产品线的性能投诉-了解新产品线(以及相应的软件)中发生了什么变化以及他们带来了什么效果。

我想指出,我为文章进行的大多数测试都是团队合作。我对与我合作的“ Onlanta”公司整合小组的同事表示感谢。 

顺便说一下,我们正在团队中寻找系统架构师

All Articles