Performance

計算 ZFS RAIDZ 的 IOPS 與計算 RAID5 和 RAID6 的 IOPS 是否不同?

  • August 21, 2013

在計算傳統 RAID 陣列的 IOPS 時,可以使用以下公式(借自Getting The Hang Of IOPS v1.3 on Symantec Connect):

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

在哪裡:

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 時是否有不同的公式可以使用?

這個比較容易回答…

這一切都在這裡提煉:ZFS RAID 建議:空間、性能和 MTTDL更深入地了解 ZFS、Vdevs 和性能

  • 帶有一個奇偶校驗驅動器的 RAIDZ 將為您提供單個磁碟的 IOPS 性能,但總頻寬是單個磁碟的 n-1 倍。

因此,如果您需要擴展,您可以根據 RAIDZ vdev 的數量進行擴展…例如,對於 16 個磁碟,4 組 4 磁碟 RAIDZ 將比 2 組 8 磁碟 RAIDZ 具有更大的 IOPS 潛力。

令人驚訝,對吧?

我通常在 ZFS 安裝中使用條帶鏡像 (RAID 1+0)。同樣的概念也適用。更多鏡像對 == 更好的性能。

在 ZFS 中,您只能以完整 vdev 為單位進行擴展。因此,雖然擴展 RAID 1+0 集意味著添加更多對,但對 RAIDZ 集執行相同操作意味著添加更多組成相同的 RAIDZ 組。

引用自:https://serverfault.com/questions/531319