web-dev-qa-db-ja.com

ZFS RAIDZのIOPSの計算とRAID5およびRAID6のIOPSの計算は異なりますか?

従来のRAIDアレイのIOPSを計算する場合、次の式を使用できます(Symantec Connectで Getting The Hang Of IOPS v1. から借用):

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

どこ:

  • Ieffectiveは有効な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つ以上のディスク操作が必要です。コントローラはブロックを読み取ってから、パリティデータを読み取り(2つの操作)、新しいパリティデータを計算してから、パリティブロックを更新し、データブロックを更新します(2つの操作)。 RAID6には2つのパリティブロックがあるため、3回の読み取りと3回の書き込みが必要です。したがって、RAID5およびRAID6アレイは、RAID1よりも少ないIOPSに対応できます。
    • RAID1とRAID10は、ミラー内の各ディスクに1つずつ、2つの書き込みのみを必要とします。

明確にするために、これはすべて理論的パフォーマンスの見積もりを提供します。さまざまなコントローラとRAIDの方法には、これを高速化するためのコツがあります。

ZFSでRAID5およびRAID6に相当するものは、RAIDZおよびRAIDZ2です。 RAIDZアレイのIOPSを計算するとき、RAID5とRAID6に使用するのと同じ式を使用できますか、またはZFSに書き込み操作に必要な操作の数を減らす特別なトリックがありますか?.

RAIDZアレイのIOPSを計算するときに使用する別の式はありますか?

13

これは答えやすいです...

すべてがここで蒸留されています: ZFS RAIDの推奨事項:スペース、パフォーマンス、およびMTTDL および ZFS、Vdevs、およびパフォーマンスの詳細

  • 1つのパリティドライブを備えたRAIDZは、単一ディスクのIOPSパフォーマンスを提供しますが、単一ディスクの合計帯域幅のn-1倍です。

したがって、スケーリングが必要な場合は、RAIDZ vdevの数に応じてスケーリングします。 16ディスクの場合、4ディスクRAIDZの4グループは、8ディスクRAIDZの2グループよりもIOPSの可能性が高くなります。

意外ですね。

私は通常、ZFSインストールでストライプミラー(RAID 1 + 0)を使用します。同じ概念が適用されます。より多くのミラーリングされたペア==より良いパフォーマンス。

ZFSでは、完全なvdev単位でのみ拡張できます。したがって、RAID 1 + 0セットの拡張はペアを追加することを意味しますが、RAIDZセットに対して同じことを行うことは、同じ構成のRAIDZグループを追加することを意味します。

13
ewwhite