web-dev-qa-db-ja.com

XenServerのRAID10ストライプサイズ

以下は、現在のサーバー構成です。数週間以内に、5つの新しいディスク(1つのホットスペア)をインストールし、バックアップからすべてのVMを復元することにより、ディザスタリカバリをシミュレートします。

RAIDストライプサイズを64KB以外に変更することで何かが得られますか? RAIDコントローラーには、8KB、16KB、32KB、64KB、128KB、256KB、512KB、1MBのオプションがあります。

以下の仕様に基づく推奨事項は大歓迎です-ありがとう。

Hardware:

Dell PowerEdge 2900 III
Dell PERC 6/i
Intel Xeon 2.5GHz (x2)
32GB RAM
Seagate ST32000645SS ES.2 2TB Near-Line SAS 7.2K (x4)

Software:

Citrix XenServer 6.2 SP1
VM - Windows SBS 2008 x64 - Exchange & multiple SQL express instances
VM - Windows Server 2003 R2 x86 - single SQL express instance
VM - CentOS 6.6 x64 (x2) - cPanel & video transcoding and streaming
VM - CentOS 6.3 x86 - Trixbox (VoIP)
VM - PHD Virtual Backup 6.5.3 (running Ubuntu 12.04.1 LTS)

Configuration:

RAID 10, 64k Stripe Size
2
Reado

コメントをまとめて答えにしようと思います。基本的な行は次のとおりです。

ワークロードに役立つという十分な証拠がない限り、ストリップサイズをいじってはいけません。

理由:

  • ストライピングの場合は、someストリップサイズを選択する必要があり、64KBがメーカーが選択したデフォルトです。製造元(この場合はLSI、Dellによってブランド変更)には、さまざまなRAIDレベルとワークロードで膨大な数のセットアップを実行した経験が豊富にあるため、賢明に選択したと信じていただけるかもしれません。
  • 64 KBは、仮想化環境でのリクエストの平均サイズ(少なくとも、256KBまたは1MBよりはるかに大きい)とほぼ一致する可能性が高いため、レイテンシとシーク時間の最適化の間の適切なトレードオフになります。1
  • ワークロードの非常に多様な性質と、さまざまなレイヤーでのさまざまな先読みアルゴリズムとキャッシュアルゴリズムを考慮したモデルの複雑さのため、さまざまなストリップサイズでのアプリケーションパフォーマンスに関する正確なモデル駆動型予測はほぼ不可能です。

この証拠を入手できるのであれば、通常の負荷と、さまざまなストリップサイズ構成でいくつかの非典型的な負荷シナリオを実行し、データを収集することでこれを行うことができます(Xenサーバー層でのI/Oサブシステムのパフォーマンス、バックエンドサーバーのパフォーマンスアプリケーション層での回答時間)、統計的評価を実行します。ただし、これは非常に時間がかかり、"最終的にデフォルト値のままにした可能性があります"を除いて、画期的な結果が得られない可能性が高いため、リソースの浪費と見なします。 。


1 単一ディスクの転送速度を100MB /秒と仮定すると、キロバイトの読み取りに約0.01ミリ秒かかることがわかります。したがって、64KBの読み取りレイテンシは0.64ミリ秒になります。ランダムI/O要求の平均「サービス時間」は通常5〜10ミリ秒の範囲であることを考慮すると、読み取り遅延は合計待機時間のごく一部にすぎません。一方、512 KBの読み取りには約5ミリ秒かかります。これは、「ランダムスモールリード」タイプのワークロードにとって重要であり、この特定のケースでアレイが提供できるIOPSの数を1.5分の1に削減します。 2.ランダムな大規模な読み取り操作が同時に行われるシナリオは、ブロックの読み取りが大きいほど時間のかかるシークが少なくなるためメリットがありますが、仮想化環境でこのシナリオが発生する可能性はほとんどありません。

5
the-wabbit

RAID10の一般的な経験則では、チャンクサイズが小さいほど、幅広いケースで高速のシーケンシャル転送が可能になり、チャンクが大きいほど、選択したシナリオでIOPが高くなりますおよびシーケンシャル速度が速くなります。

予想されるワークロード(仮想マシン)はすべて、中小規模(<256KB)の疑似ランダム要求の発行に関するものです。つまり、応答時間を最小化し、疑似ランダムIOPを最大化するRAIDストライプ構成が必要です。

64Kは安全なデフォルト値ですが、予想されるワークロードに対しては少し小さいと思います。たとえば、a VMが128KBのデータチャンクの読み取り/書き込みを行う場合を考えてみます。コントローラーが読み取り要求を処理する方法に基づいて、128KBのチャンクは書き込み中に2つまたは4つのディスクを使用します。そのサイズのリクエストは常に4つのディスクすべてに影響します。同時に、読み取り/書き込みチャンクのサイズが小さいため(128KB)、I/Oパフォーマンスはシーク時間によって支配され、シーケンシャル転送ではないため、実際の転送速度は、単一のディスクが提供できる速度よりもわずかに速くなります。これは、他のVMがディスクを使用する機会がほとんどないことを意味しますが、同時に、アレイは単一のディスクのようなパフォーマンスを提供します。 VMそれを積極的に使用しています。

VMを使用する場合は、256Kまたは512Kのチャンクサイズでアレイを構成します。これにより、小さい(<256KB)読み取り要求が単一のディスク(書き込み用に2つのディスク)で処理され、他のVMで使用できるようになります。同時に、大規模な順次転送(> 256/512K)は、複数のディスクを使用するため、非常に高速になります。

2
shodanshok