web-dev-qa-db-ja.com

SQL ServerのRAID 10アレイ構成

RAID 10とSQL Serverについて質問があります。私の計画は、24ドライブ構成のHP DL380 G9を購入することです。問題は、アレイを分割する方法です。

ドライブは3つのベイに分割され、コントローラー上のトラフィックを均等にします。ランダムIOPはアレイにドライブを追加した方がよいことに留意してください。

  1. ログ、tempdb、およびデータを別々の論理ドライブに分割した1つの大きなRAID 10アレイを作成します。これは8〜12台のドライブになります。

  2. 2〜3個の小さいRAID 10アレイを作成し、ログ、tempdb、およびデータファイルをアレイごとに分割します。このセットアップは、各RAID 10アレイに4つのドライブになります。

8-12ドライブは全体的にパフォーマンスが優れています(読み取り/書き込みはおそらく50/50です)。シナリオ2では、3つの異なる論理ドライブを提供するコントローラーがパフォーマンスに影響しますか?

最大メモリ(64GB + RAM))でMS SQL Standard 2012を使用します。エンタープライズはコストのためにおそらくオプションではありません。

2

あなたが説明したことに基づいて、私はあなたの2番目のオプションを使います、そしてここに理由があります。

1つのアレイを作成し、それをいくつかの論理ボリュームにスライスすることは、I/Oに関しては1つの大きな論理ボリュームを持つことと何の違いもありません。これは、アレイを構成する同じ基本ドライブを共有しているためです。

SQLサーバーは、I/Oタイプ(シーケンシャル/ランダム)を分離できる場合に最適に実行されます。ログファイルは順次書き込まれ、それらに複数のデータベースログがあると、順次パターンがランダムに変更され、データベースへの書き込み操作がランダムに遅くなります。データファイルはランダムに書き込まれるため、同じドライブアレイ上で複数のデータベースデータファイルを混在させることができます。

オプション2では、tempdbのログファイルを1つのアレイに配置し、データベースのログファイルを別のアレイに配置し、データベースとtempdbのデータファイルを最後のアレイに配置します。

ハードウェアでいくつかの追加のドルを振ることができる場合、ここにいくつかのI/Oをオフロードするのに役立ついくつかの提案があります。

FusionのようないくつかのPCIドライブを追加することにより、ストレージアレイからtempdbをオフロードできますIOデータとログファイルを配置します。データベースが提供しない限り、それらが提供する最小サイズを購入できるはずです。 tempdbの使用量が多くなるようなことをしている場合は、それらのドライブを3番目のアレイからデータアレイに追加して、利用可能なIOPSを増やすことができます。

サーバーのメモリを追加購入します。 64 GBの制限は、バッファープールにのみ適用されます。 SQLサーバーは、OSが他のすべてのことをサポートできるだけのメモリを使用します。 Kendra Little Brent Ozar Unlimitedが彼女の詳細について議論しています ブログ投稿

最後の項目は、HPが提供するトップエンドのRAIDコントローラーを使用することです。ディスクへの書き込みキャッシュに役立つ1GBのオンボードメモリを取得します。また、読み取りキャッシュと書き込みキャッシュに使用されるそのメモリの割合を制御できる必要もあります。 SQLサーバーはコントローラーの読み取りキャッシュを実際には利用できないため、100%書き込みに設定する必要があります。

2
Aaron