计算ZFS RAIDZ的IOPS是否不同于计算RAID5和RAID6的IOPS?


13

在计算传统RAID阵列的IOPS时,可以使用以下公式(取自Symantec Connect上的IOPS v1.3入门):

Ieffective = (n * Isingle) / (READ% + (F * WRITE%))

哪里:

  • 有效是IOPS的有效数量
  • Isingle是单个驱动器的平均IOPS
  • n是阵列中的磁盘数
  • READ%是从磁盘配置文件读取的分数
  • WRITE%是从磁盘性能分析获取的写入次数的一部分
  • F是RAID写惩罚

    RAID Level      Write Penalty
    RAID-0          1
    RAID-1          2
    RAID-5          4
    RAID-6          6
    RAID-10         2
    RAID-DP         2
    

该公式实质上是以下功能的函数:

  • 阵列中每个驱动器的IOPS
  • 磁盘数。更多的磁盘意味着更多的IOPS
  • 每个写入操作的RAID损失。
    • RAID5和RAID6每次写入都需要4个以上的磁盘操作。控制器必须先读取该块,然后读取奇偶校验数据(两次操作),计算新的奇偶校验数据,然后更新奇偶校验块并更新数据块(再执行两次操作)。RAID6具有两个奇偶校验块,因此需要三个读取和三个写入。因此,RAID5和RAID6阵列的IOPS比RAID1少。
    • RAID1和RAID10仅需要2次写入,一次写入镜像中的每个磁盘。

而且要明确的是,所有这些都提供了对理论性能的估计。各种控制器和RAID方法都有一些技巧来加快其中的一些速度。

ZFS相当于RAID5和RAID6的是RAIDZ和RAIDZ2。在为RAIDZ阵列计算IOPS时,我可以使用与RAID5和RAID6相同的公式,还是ZFS具有特殊的技巧来减少写操作所需的操作数量。

在为RAIDZ阵列计算IOPS时,可以使用其他公式吗?


1
问题。我期待阅读答案...
EEAA 2013年

1
iops是神话,但是此文档可能会提供一些见解。info.nexenta.com/rs/nexenta/images/…–
托尼·

IOPS可能是理论上的,但它可以提供一个解释,说明在给定相同驱动器的情况下,为什么RAID10阵列通常会胜过RAID5阵列。
Stefan Lasiewski

Nexenta文档中的一个引人注目的引述是: “在RAIDZ-2配置中,需要分解进入VDEV的单个IO,并将其跨所有数据磁盘写入。然后,必须计算奇偶校验并将其写入磁盘。 IO可以完成,如果所有磁盘都具有相同的延迟,则对磁盘的所有操作都将同时完成,从而以一个磁盘的速度完成对VDEV的IO。 RAIDZ-2 VDEV,直到最慢驱动器上的IO完成,VDEV的IO才完成。”
Stefan Lasiewski

Answers:


13

这更容易回答...

此处全部进行了提炼:ZFS RAID建议:空间,性能和MTTDL,并进一步了解ZFS,Vdev和性能

  • 带有一个奇偶校验驱动器的RAIDZ将为您提供单个磁盘的IOPS性能,但是单个磁盘的总带宽为n-1倍。

因此,如果需要扩展,可以根据RAIDZ vdev的数量进行扩展...例如,具有16个磁盘的磁盘,4组4磁盘RAIDZ的IOPS潜力要大于2组8磁盘RAIDZ。

令人惊讶,对不对?

我通常在ZFS安装中使用条纹镜像(RAID 1 + 0)。相同的概念适用。更多的镜像对==更好的性能。

在ZFS中,只能以完整vdev为单位进行扩展。因此,尽管扩展RAID 1 + 0集意味着添加更多对,但对RAIDZ集执行相同操作意味着添加更多等组成的RAIDZ组。


不错的文章,但是它太旧了,以至于ZFS RAID1与RAID5的链接比较(缺少“单奇偶校验模型结果”和“双奇偶校验模型结果”)。老鼠!
Stefan Lasiewski

带有一个奇偶校验驱动器的RAIDZ将为您提供单个磁盘的IOPS性能。这很有趣,无论读取百分比还是写入百分比,该值都是恒定的吗?例如,RAID5的性能根据读和写的百分比变化很大。一个3磁盘的15K阵列可以在130IOPS和500IOPS之间变化,具体取决于读/写比率。50%的读取和50%的写入将产生单个磁盘更高的IOPS性能。与3个主轴相比,使用3个以上的主轴可以提高性能,对吗?
Stefan Lasiewski

我只是想到了vdev的扩展性,无论该vdev的组成如何,写入性能都等于1个磁盘。镜像,RAIDZ,RAIDZ2等。vdev内的磁盘在那里可以提高容量。vdev的数量用于构建条带化性能。从vdev读取的内容将随驱动器的数量扩展。
ewwhite

1
我对此有丰富的经验,可以为您确认,在大多数情况下,RAIDZ不会超过传统RAID5 / 6等效阵列中扔出的相同数量的磁盘。当您将磁盘添加到RAID集中时,大多数传统的RAID5 / 6阵列都会获得IOPS性能(几乎每个人都关心的阵列,即使他们不认为这样做),而ZFS则不会。作为回报,ZFS不会丢失您的数据,并且不会遭受“ RAID写入孔”问题的困扰。加上整个快照,克隆,压缩等。还有ARC。而且..你明白了。
Nex7

2
我只想明确一点-ZFS的设计本身不会赢得任何性能大战。您可以找到在相同硬件(例如,ext4和Adaptec RAID卡)上性能优于ZFS的备用文件系统和卷管理器(或组合)。我知道的唯一例外是易于缓存的读取,ARC通常使ZFS在大多数替代方法上都有优势。但是说到写呢?不会。ZFS在数据完整性以及如何处理写入上花费的精力几乎永远不会赢得速度竞赛。权衡是完整性和功能集。
Nex7
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.