web-dev-qa-db-ja.com

仮想マシンにRAIDが必要ですか?

Active Directory、Hosted Exchange、およびHyperV VM上のWebサーバーを実行しているRAID 10上のWindows 2008 Enterpriseがあります。 Exchange用の仮想RAIDが必要ですか?もしそうなら、なぜですか?

編集:答えてくれてありがとう。非常に役立ちます!

6
Iternity

一般的に、これは良いことではありません。

説得力のあるEdgeケースがない限り、基盤となるストレージでRAIDを実行し、ソフトウェアRAIDを追加しないでください。その場合でも、設計を再検討する必要があります。オーバーヘッドが増加し、パフォーマンスが低下しますが、多くのメリットはありません。

ソフトウェアRAIDがその場所です。その場所はハードウェアRAIDの上にありません。

31
MDMarra

ソフトウェアRAIDは、RAID対応のHDDコントローラーが付属していない複数の物理ディスクがある場合に使用することを目的としています。ハードウェアRAIDを使用している場合、ハードウェアRAIDに加えてソフトウェアRAIDがどこにメリットをもたらすのかを知るのは難しいです。逆に、ハードウェアRAIDの上にソフトウェアRAIDを配置すると、ディスクサブシステムのパフォーマンスが低下する可能性があります。

ハードウェアRAIDに加えてソフトウェアRAIDがいくつかの利点を提供するいくつかのEdgeケースがあるかもしれませんが、現時点では何も考えられません。さらに、VMでソフトウェアRAIDを使用することで、基盤となるハードウェアRAIDの有無にかかわらず、あらゆる利点が得られるシナリオを想定することは特に困難です。

VMにソフトウェアRAIDを実装し、基盤となる非RAID物理ディスクに障害が発生した場合、このシナリオでソフトウェアRAIDがどのように役立つかを理解するのは困難です。

10
joeqwerty

VM内のソフトウェアRAIDは、一般的に悪い考えです。

  • ホストシステムが処理する必要のある書き込み要求の数が2倍になります
  • ホストの読み取りキャッシュ効率が低下します(クライアントが別のディスクから同じデータを要求した場合、ホストはデータがすでにキャッシュされていることをどのように知ることができますか)
  • 構成はより複雑です(たとえば、VMを別のホストに転送する場合、両方の仮想ディスクをコピーして再接続する必要があります)

VMは、できるだけデフォルトで動作しないように動作する必要があります。I/ Oスケジューラを無効にして、すべてのデータを仮想ディスクにできるだけ早く書き込みます。偽のジオメトリを使用して仮想ディスクのヘッドの動きを最適化しても、良い結果は得られません。これにより、「実際の」I/Oスケジューラがシステム全体を最適化する機会が増えます。

理想的には、ハードウェアRAIDソリューションを使用します。ハードウェアRAIDカードの方が優れているからではなく(そうではない)、バッテリーでバックアップされたドライブキャッシュがあるため、ジャーナルエントリが転送されるとすぐに、ジャーナルファイルシステムでのトランザクションを実行できます。ディスクに書き込まれるのではなく、コントローラーに書き込まれます。これにより、速度が大幅に向上します。

6
Simon Richter

RAIDの目的は、ストレージハードウェアを管理することです。ホストシステムは、ローカルRAID10、SAN上のRAID 5/6/Zなど、何らかの形式の冗長ストレージを使用する必要があります。VMは、実際のデータを保存しないためハードウェアの場合、同じことを繰り返し実行するだけの処理にCPUを倍にするストレージを費やすと、リソースが無駄になります。

もちろん、すべてはあなたが達成しようとしていることに依存します。 OS開発者でカーネルでRAIDソフトウェアをテストする必要がある場合は、VMでRAIDを使用することをお勧めします。:)

しかし、ほとんどの人にとって、VMをできるだけ小さく、無駄のない状態に保つことをお勧めします。不要なソフトウェアを削除し(または、そもそもインストールしないでください)、ストレージにスパースファイルシステムを使用し、障害が発生した場合に備えて、ホストシステムに予備のドライブがあることを常に確認してください。 (RAID10を構築しています。4つのディスクは必要ありません。少なくとも5つは必要です。)

5
ghoti