web-dev-qa-db-ja.com

SQL ServerファイルローカルまたはNASまたはSAN?

SQL Server 2008がインストールされた新しいサーバーをインストールする必要があります。RAID10またはNAS内のファイルを備えた1つのサーバーをお勧めします。

ISCSIについてはどうすればよいですか?

SANについてはどうですか?

サーバーには4 GBのRAM=があり、そのデータベースファイルは約2GBです。

今日、サーバーにRAIDがないことを明確にするために、私は何らかの戦略を実装する必要があります。何かが起こった場合、ファイルを安全にすることができます。ローカルファイル、NAS、SANは何を選択すればよいですか。最もパフォーマンスが高いオプションはどれですか。より安全なものはどれですか。

15

[〜#〜] nas [〜#〜]

間違いなくNAS。SMB/CIFSは、DBMSをサポートするためのファイルロックを適切にサポートしていません(少なくとも数年前、2002年から2003年にかけてはサポートされていませんでした)。 NFSは実行し、NFSサーバー上のOracleで実際にこれを実行できることに注意してください。ただし、CIFS共有上のSQL Serverは、プロトコルの制限により信頼できません。 CIFSでマウントされた共有にファイルを配置することもできます。

[〜#〜]さん[〜#〜]

RAIDコントローラーのキャッシュが非常に大きなワーキングセットを吸収できるため、これはトランザクションアプリケーションに適しています。 SAN RAIDコントローラーは、通常、ホストベースのRAIDコントローラーよりも多くのキャッシュをサポートします。特に、RAIDコントローラーがサーバーと同じくらい強力なマルチプロセッサーボックスであるハイエンドキットの場合です。

デュアルコントローラーを備えたSANにも、単一障害点のないアーキテクチャがあり、ホットバックアップの多くのオプションを提供します。これは、管理性と信頼性の観点から彼らに勝利をもたらします。ただし、これらは高価であり、ストリーミングデータボリュームには制約がありますが、後者はトランザクションシステムでは問題になることはほとんどありません。

運用システムの場合、SANはほとんどの場合、可能な場合は最良の選択です。低中容量システムを実行している複数のサーバー間で共有することもできます。ただし、それらには、テクノロジを使用できる最小のシステムにかなりの下限を課す値札が付いています。

直接接続

場合によっては、直接接続ストレージが最適です。 1つの可能性は、帯域幅が制限されたストリーミングアプリケーションです。限られた数のファイバーチャネル接続により、利用可能な帯域幅がハイエンドのSASコントローラーで可能な場合よりも少なく制限されます。ただし、これらは shared-nothing アーキテクチャが最高のスループットを提供する可能性がある非常に大規模なデータウェアハウスなどのかなり専門的なアプリケーションであること。

実際、ダイレクトアタッチストレージは多くの場合、データウェアハウスシステムのSANよりも優れています。

  • データウェアハウスは、ディスクサブシステムに大きな一時的な負荷スパイクを発生させます。これは、SAN上の他のシステムのパフォーマンスに影響を与える可能性があるため、SANに対して非常に反社会的です。

  • 前述のストリーミングのボトルネック。

  • 直接接続ストレージは、SANストレージよりもはるかに安価です。

直接接続型ストレージのもう1つの市場は、SANに十分なお金を払わない市場に販売する場合です。これは、多くの場合、SMBの顧客に販売されたアプリケーションに当てはまります。6人のユーザーを持つPOSシステムまたは業務管理システムの場合、SANはおそらくこのタイプの状況では、内部ディスクがいくつかある小さなスタンドアロンタワーサーバーがはるかに適切なソリューションです。

ローカルまたはSANは、パフォーマンスを維持する唯一の方法です。場合によっては、SANは、書き込みキャッシュが大きく、ディスクの並列スループット構成により、ローカルディスクよりも高速になる場合があります。 。

Windows共有で高パフォーマンスのファイルI/Oを実行しないでください。スループットを劇的に低下させる大量のプロトコルオーバーヘッドがあります。たとえば、何年も前に、WANを介して大きなファイル転送を測定したところ、Windows共有でFTPを使用すると、約50%高速でした。

2
spoulson

NASを使用しないでください。

ローカル(良好なRAIDコントローラーで中期的には問題ありません)を使用しますが、予算が許せば、まともなSANを使用してください。運が良ければ、SANを他のシステムと「共有」し始め、初期費用の多くを取り戻すことができます。

4GB RAMは、専用SQLサーバーである限り、ほとんどのシステムで問題ありません(常にそうである必要があります)。まだ考慮していない場合は、64ビットOSとSQLサーバーを使用して、 PAE/AWEをいじくり回すことなく、より多くのRAMを簡単に投入できます。

また、仮想化についても検討してください。テストサーバーが必要ですか?開発サーバー? SP1のインストールをテストしますか? (以前の投稿の恥知らずなプラス: sql-server-in-vmware

1
Guy

2Gbのデータベースサイズでは、SANを検討する理由すらありません。 A NASは機能しません。バックアップにはNASを使用することを考えてください。データと同じマシンにバックアップを保存しないので、 NASオフサイトストレージ用のコピーを簡単に作成できます。

小さなデータベースでは、RAID 1またはRAID 10でローカルディスクを使用するだけです。データベースがRAMに収まる場合は、IOパフォーマンスについてそれほど心配する必要はありません。64を使用してください。ビットウィンドウと8ギグを配置すると、OSに十分な余裕が生まれ、成長の余地が生まれます。

1
Eric Z Beard

ローカルRAIDディスクとファイバー接続SANの両方を使用するシステムを使用しています。 SANは、前者がより新しく高速なマシンであっても、パフォーマンスが向上しているように見えます。重要な要素は、ローカルディスクの配置が単一のドライブであるため、SQLがディスクI/Oを共有していることですOSとスワップファイル。これはおそらくドラッグに大きく貢献しています。

@spoulsonが述べたように、SANは、はるかに優れたディスクパフォ​​ーマンスを提供できます。独立したドライブであるだけでなく、はるかに高速なディスクハードウェアでも可能性があります。

この例では、SANを使用しています。これは、自動フェイルオーバーVERITAS SQL Serverサービスグル​​ープ用の集中ストレージ領域を提供するためです。プライマリマシンに障害が発生すると、WindowsドライブがSANをホットバックアップマシンに再マウントすると、サーバーはすぐに復旧しますが、サービスグル​​ープの管理には、VERITASに似たシステムが必要ですが、範囲外となる場合があります。

SANディスク領域の割り当ては控えめに処理されます。コストが高いため、気まぐれにそれを放棄しないことです。EMCがSANを使用している場合、LUN全体をダンプしないと、割り当てられたスペースを再利用できません。したがって、割り当てられたスペースが必要以上であり、そのスペースの一部を別のLUNに使用したい場合は、特大のサイズを縮小するだけです。ドロップして再割り当てする必要があります。これは、運用環境ではうまく機能しません。

他の人が提案したように、NASは避けてください。データファイルをUSB外付けハードドライブに置くこともできます。

0
Peter

小さな2GBデータベースの場合、SANはやりすぎです。

一般的に言って、SQLドライブを他のアプリケーションと共有したくない。同様に、ファイルを分散できるスピンドル(ディスク)の数が多いほど、優れています。繰り返しになりますが、説明したような小さなデータベースを使用すると、必要なすべてのものをRAMに収めることができるため、ディスクのパフォーマンスはそれほど重要ではありません。

とは言っても、単一のRAID-10ボリュームを作成して、その上にすべてのデータベースファイルを配置しないでください。次のような単純なものから始めることができます。データ-2x 73GB 15K RPM、RAID1ログ-2x 73GB 15K RPM、RAID1バックアップ-単一の大きな7200 RPMまたはRAID1のペア

アップグレードする予算がある場合は、TempDBに別の別のボリュームを追加するか(複雑なレポート/分析クエリを実行する場合)、ログボリュームにより多くのディスクを割り当て、システムが大量のトランザクションを持つ場合はRAID10として構成します。更新の。

A SANは、同数のドライブの直接接続ストレージの3〜4倍のコストがかかる可能性があります。SANは、バックアップ/スナップショット、クラスタリングサポート、およびLUNの移行と拡張のための多くの高度な機能を提供します。これらがあなたにとって重要である場合、それは追加費用の価値があるかもしれません。

0
Chris B

免責事項:NASへのSQL Serverデータベースファイルの保存には、多くの深刻な問題があります。他のすべてのオプションは等しいので、SANオプションを選択します。関連する問題の詳細な説明は MS KB304261 にあります。しかし、このスレッドは問題になっていますネットワーク共有上のSQL Serverに関する他のすべての質問については、むしろSQL ServerバージョンでのNASサポートの状態への参照を投稿します。

かなりの数の人がNASを使用して実験しています。

これは以前はデフォルトで禁止されていましたが、MS SQL 2008およびMS SQL 2005の制限を解除することができます。MSSQL 2008 R2以降、そのような制限はありません。

MS SQL 2005および2008では、キーはネットワーク共有の使用を禁止するトレースフラグです。発行できる

 DBCC TRACEON(1807, -1)
 CREATE DATABASE [test] ON  PRIMARY 
 ( NAME = N'test', FILENAME = N'\\storage\mssql_db\test.mdf' )

詳細については、MSDNブログのVarun Dhawanの 2010年9月の投稿 を参照してください。

少なくとも技術的には、SQL ServerをNAS=で実行することは可能です。選択は多くの要因に依存し、データベースのストレージがNASですぐに利用できる状況を想像するのは難しくありません。

0
Dmitri Chubarov