SQL Server 2008インスタンスのRAIDレベルの組み合わせを選択する


11

1つのIBM 3400サーバーを最初から再構築します。このサーバーは、Windows 2008 R2で実行されているSQL Server 2008インスタンス専用です。

新しいRAID構成を作成します。マシン内部に6つのSCSI 73 GBドライブとIBM ServerRAID 8Kコントローラーがあります。RAIDレベルを設定する良い方法は何でしょうか?コントローラーに2つ、3つ、または1つのフィールドを配置する必要がありますか?

次のいずれかの解決策を検討しています。

  1. すべてのディスクを使用して、RAID 10プールを作成します。
  2. RAID 1eプールに4つのディスクを使用し、それを使用してデータベースデータとOSを格納し、他の2つのディスクをRAID 0プールに使用して、それを使用してデータベースログを格納します。
  3. 他のいくつかの組み合わせ。

ストライプユニットサイズが大きいほど良いですか?

このサーバーは、複製されたデータベースのサブスクライバーになります。その主なタスクは、レプリケーションエージェントのみが書き込みを行う、レポートとデータの取得です。データベースのサイズは約90 GBです。


RAID1ERAID10を同じ意味で使用していますか?
ジャックはtopanswers.xyzを

また、3x73〜220GB-90GB DBが毎年どれくらい成長すると予想していますか?
ジャックはtopanswers.xyzを

@JackDouglasこの90 GBのデータベースは2006年から現在までです。今後2年間で最大で約30%成長する可能性があると思います
adopilot

サーバーを最初から構築するときは、可能な限りストレージを過剰にプロビジョニングしたいと思います。第2層のストレージ(SATAなど)もありますか?かなりの量の呼吸室には非常に便利です。特にDRの状況に陥った場合は特にそうです。
ジャックはtopanswers.xyzを

回答:


6

オプション1に投票します。RAID0は「保護なし」を意味することに注意してください-ログは重要ですか?(はい、彼らはやる)。

シンプルさという利点もあります

SQL Serverのドキュメントは言います:

I / O並列処理を最適化するには、64 KBまたは256 KBのストライプサイズを使用します。

ただし、通常はコントローラのデフォルトのIMOを使用することをお勧めします


5

ノート:

  • OS +バイナリは40GBになります
  • 6つのディスクはあなたに多くのオプションを残しません
  • バックアップはどこに欲しいですか?
  • RAIDコントローラにストライプサイズを選択させます(RAIDレベルによって異なります)。これはマイクロ最適化であり、競合するデータが表示されます
  • ログファイルの書き込み速度がスループットを決定する
  • インデックスの再構築のために、MDF内の最大領域の1.2倍の空き領域を確保する必要があります。
  • RAID 0 =任意の値のデータを持つサーバーでばかばかしい

私は1つのRAID 10アレイに行きます


4

それぞれ3つのミラーを持つ2つのRAID1ボリューム、または3つのミラーの2つのセットにまたがるストライピングを持つRAID10のどちらかを選びます。

理論的根拠:2つのミラーが短すぎる、期間。サーバーは適切な整合性チェックを月に1回以上行うことができないため、いくつかの不良ブロックがある可能性が非常に高くなります。これらは、他のミラーがそのままである限り問題ではありませんが、1つのディスクに障害が発生すると、他のミラーから回復できない可能性があります。したがって、3つのミラー。

RAID6は、書き込みが小さい傾向にあり、バックグラウンドで読み取り-変更-書き込み操作に変わるため、データベース設定では悪い考えです。

2つのRAID1ボリュームと1つのRAID10のどちらが適しているかは、アプリケーションによって異なります。スペース全体が必要になる可能性がある場合は、RAID10を使用します。それ以外の場合は、システムとインデックス用に1つのボリューム、データページ用に1つのボリュームをお勧めします。2つのボリュームを使用する場合、拡張する必要がある場合に備えて、コントローラーがRAID1をRAID10に拡張できることを確認してください。


ミラーリングが解決しない問題について言及するための+1 (少なくともそれ自体では)。Linuxでスクラブをより定期的に実行するように構成することは可能ですが、Windowsでも同じですか?ただし、インデックスとデータを分離するのが理想的であるという神話を繰り返します。ログを別々に保つことには議論がありますが、インデックスとデータは(できるだけ多くのスピンドルで)ストライプするのが最適です
ジャックはtopanswers.xyzを

もっと頻繁にチェックを構成することは可能だと思いますが、データベースのパフォーマンスは一般的に大幅に低下するため、追加のドライブを使用してチェックを少なくしたいと思います。
Simon Richter

私は通常、インデックスを別々にして、別のキャッシュと先読みの動作を使用できるようにします。通常、フルテーブルスキャンでは先読みの利点が得られますが、インデックススキャンではそれほど効果がありません。
Simon Richter

私のDebianシステムでは、/ usr / share / mdadm / checkarrayはデフォルトで--idleフラグを指定して実行されるため、目立ったパフォーマンスヒットは期待できません。OPの場合、これはRAIDコントローラーによって処理され、ミラーが2つまたは3つあるかどうかに関係なく処理されるため、ヒット(存在する場合)はとにかく存在します。
ジャックはtopanswers.xyzを試してみる

インデックス・スキャン、公正なポイントが、私は、これはマイクロ最適化の一般的ではないチューニング・アドバイス:)私は周りに依頼するつもりであることをお勧めしたいの再チャットでチップに自由に感じています... -他の人が何を考えて見て
ジャックは言いますtopanswers.xyzを

3

ダグラスに同意します。一般的なraid-10の1つは、ディスク領域が不足しない限り、良いスタートです。ストライプサイズが小さいほど、DBアクセスに適しています。異なるパーティションを使用しても、1つのパーティションのスペースが不足するだけです。

raid-0の問題は、データをバックアップから取得したり、削除したりできることだけでなく、ディスクが故障するたびにダウンタイムが発生することも意味します。お使いのマシンは、数日のダウンタイムが問題にならないようなデータ処理を行っていますか?NBDサポート上であっても、新しいディスクを取得するには6日程度かかる場合があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.