web-dev-qa-db-ja.com

RAID10がRAID1よりも遅い場合、なぜですか?

PERC 6/eと14台の外付けSAS 15K73GBドライブを備えた新しいDell2950があります。ドライブをハードウェアRAID10として設定してOracle11gデータベースジョブを実行するには3時間かかります(7つにストライプ化)ミラーリングされたペア)。データベースのサイズは約26GBです。RAID1の2台のドライブで実行される同じジョブは1時間しかかかりません。OSはWin 2008R2です。

本番ボックスのRAIDレベルを(かなりのダウンタイムで)変更する前に、なぜこの奇妙な結果が表示されるのか、そしてそれを修正するためのより良い方法があるかどうかを誰かが知っていますか?

追加情報

PERC 6/eは、最新のファームウェアを実行し、バッテリーをキャッシュしているはずです。

ついに、実話

DBAと話した後、私の顔は赤くなっています。 RAID 1は、それぞれ2台のドライブからなる7つのRAID1ボリュームであることがわかります。競合を最小限に抑えるために、データテーブルとインデックスが各ボリュームに割り当てられました。明らかに、優れたDBAは、ファイルアクセスパターンに関係なく、RAID10コントローラーがそれらを盲目的にストライピングするよりも14台のドライブからより多くのパフォーマンスを得ることができます。一部のSANは、パフォーマンスを向上させるためにファイルをインテリジェントに移行すると主張していますが、すぐにベイクオフが発生した場合、私のお金はDBAにあります。

3
Paul

User71281は、RAIDコントローラー(またはドライバー)が混乱していることを意味していると思います。コントローラ(またはドライバ)のRAIDセットアップを実行する場合、RAID10セットアップは単純なRAID1よりも遅くなることはありません。

RAIDソリューションにより、非常に非効率的なRAID10アレイをセットアップできるか、バグが発見されました。たぶん、8番目のペアでパフォーマンスが向上しますか?それとも、セットアップを4ペアに減らしたときですか?この最後のオプションは、146GBディスクにアップグレードする必要があることを意味する場合があります。

ただし、最初にファームウェアの更新を確認し、RAIDカードにあるRAMの量を確認します。BBU(バッテリーバックアップユニット)が停止しているため、キャッシュ機能がオフになりませんでした。それをやった?

3
DutchUncle

ちなみに、移行時間は一時的なソフトウェアraid1を実行することで、オンラインで移行を実行できます。これは、もう1つのセットアップストレージが必要であることを意味します。今日では、SSDの束を借りて、それらを大きなiSCSIボリュームとして接続し、ダウンタイムなしですべてを実行できます。一般に、ストレージを移行する場合、正しい方法は、冗長性を追加してから古い部分を削除することです。したがって、移行中のリスクが最も高いのは、開始前と完了後です。意図した冗長性で実行するだけだからです。

0
Florian Heigl

実際、RAID1はRAID10よりも高速であり、もちろんRAID0は両方よりも高速です。その理由は、パリティと計算のオーバーヘッドが7-RAID1ボリュームよりもRAID10の方が高いためです。 DBAが述べたように、ディスクの競合が少なくなり、スピンドルの分離が多くなります。

欠点は、各RAID1ペアのディスク容量が不足する可能性が高くなることです。多くの異なるトランザクションを実行する場合、分離は優れていますが、多くのスピンドルが並行して動作するようになったため、RAID1で複数のドライブをストライピングすることでパフォーマンス上のメリットがあります。

考慮すべきことの1つは、小さいディスクを作成するときのクラスターサイズが小さくなることです。 DISKPARTを使用して、クラスターサイズをログ用に8K、データ用に64Kに設定し、同じraid1oでログとデータを混在させないようにすることをお勧めします。これは、DBAがセットアップした方法である可能性が高く、同じRAID10で両方を組み合わせると、ディスクの競合が増加します。

0
NTGHURU