web-dev-qa-db-ja.com

SQL Server-SANでデータ、ログ、TempDBファイルを分離する

SQL ServerをSANに接続しています。新しいストレージベンダーは、すべてのLUNがディスクアレイ全体(RAID5)にまたがることを推奨しています。通常、SAN=管理者に3つの個別のLUN(データ、ログ、TempDB)を要求しますが、新しいベンダーの推奨により、個別のLUNを作成することに意味はありますか?または、とにかくすべてのディスクにまたがるので、すべてが1つのLUNにある場合と同じパフォーマンスですか?

ここには素晴らしい記事がありますが、私の正確な状況には完全には対応していません: http://www.brentozar.com/archive/2008/08/sql-server-on-a-san-dedicated-or-shared-ドライブ/

8
SomeGuy

考慮すべきことの1つは、ログファイルはシーケンシャル書き込みであり、データファイルはシーケンシャルではないことです。これが、LUNが分離している理由の1つです。スピンドルがスキップする必要がないため、ログファイルが独自のLUN上にある場合、ログファイルはより速く書き込みます。シーケンシャルに書き込むだけです。データファイルを追加すると、スピンドルはスキップする必要があり、パフォーマンスが低下します。 SAN自体にあまり詳しくないので、適切な用語が得られたことを願っています。しかし、その背後にある考えはそうあるべきです。

SQL Serverに関しては、ベンダーの推奨事項が間違っていることがよくあります。 SQL Serverには、SANを使用するほとんどのアプリケーションとは異なるニーズがあるからです。

6
Kenneth Fisher

多くはSANに依存します。通常、異なるキャッシュ、圧縮、暗号化、先読み、ライトスルー/バックポリシー、優先度などで異なるLUNを構成する必要があります。SQLデータファイルは、tempdbまたはログとは異なる動作を示すことがよくあります。ファイル。アクセス方法/ネットワークは、アクセス方法(FC、iSCSI、..)とインフラストラクチャに応じて、トランキング、マルチパス、およびその他のテクノロジーが機能する場合と機能しない場合があります。待機時間とスループットが重要であるため、SQL Serverを使用してネットワークを最大限に活用できるようにする必要があります。ネットワーキングチーミングセットアップのケースを見てきましたが、クライアントが認識していなかった他の制約のため、1Gbpsしか使用できませんでした。私はケネスに同意し、大量の塩を含むベンダーの推奨事項を採用します。それらはかなり頻繁に間違っています。 SQL Serverは気まぐれな獣であり、絶対的なものはほとんどなく、通常はさらに多くの質問があります。 (テストを通じて)適切な質問をすることが本当に重要です。

4
AceCTO

LUNを分離する意味はありますか?ほとんどいつも。そうしないと、WindowsサーバーのLUNキューが過負荷になります。また、OS、仮想化、ストレージプラットフォームに関係なく、qfull状態を経験することは困難です

2
sql_handle

販売またはマーケティング部門の出身者でない限り、「塩を多く含むベンダーの推奨事項を採用」しないでください。まったく逆ですが、技術的な実装担当者にアクセスできる場合は、友達を作りましょう。

おそらくこれは、ストレージプールを仮想化し、自動階層機能を含む新しい種類のアプライアンスの1つです。 1つの例は Compellent です。彼らはSANブードゥーのすべての方法を実行します:

  • RAID 10などのパフォーマンスが最適化されたRAIDレベルを使用して、アクティブなデータブロックをTier 1ストレージに書き込みます。
  • オーバーヘッドの大きい高保護RAID 5または6を使用して、非アクティブなデータブロックを下位層のストレージに自動的に移行します。

Compellentの場合、ストレージは3層に分割され、Tier1が最速(SSDまたはRAID 10)から7k SASディスクで構成される低速なTier3までです。これらのディスクの1つは、まだ本番環境にアクセスできますが、いくつかのテストを実行できるようにしたいと思っています。

私は、自動ティア機能に興味をそそられ、恐れていることを告白します。自動ティアの機能は紙の上では素晴らしいように聞こえますが、本番環境では問題があるかもしれません。自動層メカニズムを潜在的に混乱させるものとして発生した最初の例は、データベースのバックアップでした。そこには、階層化メカニズムをだましてブロックを高性能プールに移動させ、そこにあるはずのデータを潜在的に押し出す可能性のある繰り返し高い書き込みターゲットがあります。

元の質問へ:

...別のLUNを作成する意味はありますか?

おそらく違います。ベンダーにユースケースを明確に伝えますが、それがCompellentタイプのデバイスである場合は、LUNを分割しても何も得られないと思います。

2