ブロックサイズに関して、Microsoft SQLサーバーにとってRAID10のディスクの量は重要ですか?


0

Microsoft SQL Serverを展開し、データベースをRAID10(RAID1 + 0)ブロックレベルストレージに保存することを計画しています。

ソース:ウィキペディア

最適な動作のためにアレイに何台のドライブを入れるかは重要ですか?上の図のように4つですか、それとも6つ、8つ、または10ですか。

MSSQLのブロックサイズを最適化するには、適切な量のドライブが必要だと言われました。

例では、6台のドライブ(D1〜D6)を備えたRAID10を使用しています。

RAID
0├RAID1(D1; D2)
├RAID1(D3; D4)
└RAID1(D5; D6)

…64 kBのブロックが3つに分割され、その結果、0.33%のサイズのブロックが各RAID1サブアレイに書き込まれる必要があるため、問題が発生します。

これは私の質問をさらに明確にするための単なる例です。それで、最適な動作のためにアレイに全部でいくつのドライブを入れるかは重要ですか?

参照と説明とともに回答をバックアップしてください。

回答:


2

簡単なGoogle検索で説明されているように、最適なパフォーマンスを得るには、MSSql Serverのブロックサイズは64kbでなければなりません。

ドライブに関しては、RAID 10には絶対に最低4台のドライブが必要です(自分でリンクしたイメージを見てください)。次に、2組で心のコンテンツに拡張できます(もう一度リンクしたイメージを見てください)。しかし、システムが使用されると、より多くのディスクでアップグレードするのは非常に面倒なので、ストレージを必要とするだけの数のディスクを入れてください。

添加:

あなたの質問はそれでも同じ答えになります、あなたのレイドで64kBのブロックサイズを持っていると、それは64kBのチャンクを書き込むことを意味します。64kBサイズのファイルで実行されるMSSqlは、ブロックを再帰的に保存することを意味します。したがって、2つのブロックを書き込むとすると、64kBはD1に保存され、D2にミラーリングされます。次に、別のブロックをD3に書き込み、D4にミラーリングします。ブロックを分割しようとすることは決してありません。これを実現するのは、ブロックサイズを8kBにした場合です。次に、ブロックを8つのピースに分割し、ピース1、4、7はD1に、ピース2、5、8はD3に、3、6はD5に進みます。これはもちろん、それに応じてミラーリングされます。


返信ありがとう、クリス。悲しいかな、それは私の質問に対する答えではありません。
ダニエル

追加で入れます。

クリス、ありがとう。答えは同じかもしれませんが、技術的な詳細を理解するにはあなたの追加が重要でした。
ダニエル

だから、あなたの言っていることを理解するために:重要な部分は、ストレージレベルでMSSQLレベルと同じブロックサイズを持つことです(ストレージレベルではチャンクサイズと呼ばれます)?私が理解しているように、有効なRAIDアレイである限り、アレイ内にいくつのディスクがあるかは問題ではありませんか?
ダニエル

1
チャンクサイズが複数のボリュームに分散している場合、1つのエントリにアクセスする場合でもほぼすべての単一ドライブから読み取る必要があるため、パフォーマンスが制限される可能性があります。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.