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つあります。
データベースファイルの操作は一般的にランダムなので、そのディスクのIOPSを最大化する必要がありますが、トランザクションログファイルの操作は一般的にシーケンシャルなので、良好な生のスループットが必要です。
メイン データベースとトランザクション ログを別々に保存すると、メイン データベース ディスクが失われた場合でも、バックアップとトランザクション ログから DB を再生成でき、トランザクション ログだけが失われた場合は、メイン DB がまだ残ります。
もちろん、上記の概要よりもはるかに複雑ですが、これが基本です。したがって、2 つの別々のアレイを使用し、両方に RAID10 を使用できる容量があれば、それは素晴らしいことです。
答え3
RAID-10 で 12 台のドライブがあれば、かなり良い結果が得られるはずですが、サーバーに十分なメモリがあることを確認してください。十分なメモリがあれば、ほとんどのデータ書き込みがキャッシュされ、ディスクにデータを書き込む際に、多くの書き込みが単一の IO トランザクションに統合されるからです。これは、OLTP データベースに特に当てはまります。キャッシュにより、同じドライブへのトランザクション ログ書き込みに十分な帯域幅が確保されます。ライトバック モードで BBU によって保護された組み込みキャッシュを備えたハードウェア RAID コントローラーを使用すると、書き込みパフォーマンスをさらに向上できます。
また、8+4 または 10+2 を使用するのも良いオプションです。これに関して私が見つけた唯一の欠点は、ストレージの使用効率が悪いことです。それ以外は安定しています。
答え4
あなたしなければならないまず作業負荷を決定します。そしてテスト、テスト、テストを繰り返します (強調しすぎることはありません):
まず、「RAID 10 のディスク数が多いほど、速度が速くなる」という記述は正しくありません。これは、RAID システムがこの RAID レベルをどのように実装するか (書き込み/読み取り/ストライピング/バッファの分散など) によって大きく異なります。
次に、トランザクション ログを DB とは別の場所 (ディスク) に保存することは常に良いアイデアですが、効果的な利点はワークロード、書き込みは多いが小さいか、書き込みは少ないが大量か、書き込み/読み取り比率はどれくらいか、読み取りサイズはどれくらいかなどによって異なります。
OLTPを多く行っているとおっしゃっています。この用語の私の理解では、これは書き込みではなく読み取りが多いことを意味します(...そうですか?まずこれを確認してください)。この場合、トランザクションログを同じ場所に保存しても問題ありません。そのため、12ドライブ。