SQL Server: 12 ドライブの RAID-10 アレイ 1 つ、または 8 ドライブと 4 ドライブのアレイ 2 つ

SQL Server: 12 ドライブの RAID-10 アレイ 1 つ、または 8 ドライブと 4 ドライブのアレイ 2 つ

SQL Server 2008 用のボックスをセットアップすると、どのボックスが最高のパフォーマンス (負荷の高い OLTP) を実現しますか? RAID-10 アレイのドライブ数が多いほどパフォーマンスは向上しますが、4 つのドライブをトランザクション ログ専用にするとパフォーマンスは向上しますか。

RAID-10 の 12 台のドライブと 1 台のホット スペア。

または

データベース用に 8 台のドライブ (RAID-10)、トランザクション ログ用に 4 台のドライブ (RAID-10)、さらに 2 台のホット スペア (アレイごとに 1 台)。

使用できるドライブ スロットは 14 個あり、グローバル ホット スペアをサポートしていない古い PowerVault です。

答え1

私なら 10/2 にします。ログは通常小さくて連続しているので、RAID コントローラは、残りのディスクに支障をきたすことなく、RAID 1 の 2 つのディスクにログを書き込むのに十分な効率でキューに入れることができるはずです。RAID コントローラがこれを実行できない場合は、分割は諦めて、急いでいる場合は 12 にしてください。時間があれば、テストを実行して、何が機能するかを確認してください。グローバル ホット スペアがないのは残念ですが、とにかく、試してみるには十分なボックスを手に入れたようです。

答え2

私の限られた知識では、考慮すべき主な要素が2つあります。

  1. データベースファイルの操作は一般的にランダムなので、そのディスクのIOPSを最大化する必要がありますが、トランザクションログファイルの操作は一般的にシーケンシャルなので、良好な生のスループットが必要です。

  2. メイン データベースとトランザクション ログを別々に保存すると、メイン データベース ディスクが失われた場合でも、バックアップとトランザクション ログから DB を再生成でき、トランザクション ログだけが失われた場合は、メイン DB がまだ残ります。

もちろん、上記の概要よりもはるかに複雑ですが、これが基本です。したがって、2 つの別々のアレイを使用し、両方に RAID10 を使用できる容量があれば、それは素晴らしいことです。

答え3

RAID-10 で 12 台のドライブがあれば、かなり良い結果が得られるはずですが、サーバーに十分なメモリがあることを確認してください。十分なメモリがあれば、ほとんどのデータ書き込みがキャッシュされ、ディスクにデータを書き込む際に、多くの書き込みが単一の IO トランザクションに統合されるからです。これは、OLTP データベースに特に当てはまります。キャッシュにより、同じドライブへのトランザクション ログ書き込みに十分な帯域幅が確保されます。ライトバック モードで BBU によって保護された組み込みキャッシュを備えたハードウェア RAID コントローラーを使用すると、書き込みパフォーマンスをさらに向上できます。

また、8+4 または 10+2 を使用するのも良いオプションです。これに関して私が見つけた唯一の欠点は、ストレージの使用効率が悪いことです。それ以外は安定しています。

答え4

あなたしなければならないまず作業負荷を決定します。そしてテスト、テスト、テストを繰り返します (強調しすぎることはありません):

まず、「RAID 10 のディスク数が多いほど、速度が速くなる」という記述は正しくありません。これは、RAID システムがこの RAID レベルをどのように実装するか (書き込み/読み取り/ストライピング/バッファの分散など) によって大きく異なります。

次に、トランザクション ログを DB とは別の場所 (ディスク) に保存することは常に良いアイデアですが、効果的な利点はワークロード、書き込みは多いが小さいか、書き込みは少ないが大量か、書き込み/読み取り比率はどれくらいか、読み取りサイズはどれくらいかなどによって異なります。

OLTPを多く行っているとおっしゃっています。この用語の私の理解では、これは書き込みではなく読み取りが多いことを意味します(...そうですか?まずこれを確認してください)。この場合、トランザクションログを同じ場所に保存しても問題ありません。そのため、12ドライブ

関連情報