web-dev-qa-db-ja.com

IIS7 Webファーム-ローカルまたは共有コンテンツ?

2台のサーバーでIIS7Webファームをセットアップしています。各サーバーはコンテンツの独自のローカルコピーを持っている必要がありますか、それともUNC共有から直接コンテンツをプルする必要がありますか?各アプローチの長所と短所は何ですか?


現在、単一のライブサーバーWEB1があり、コンテンツは別のパーティションにローカルに保存されています。ジョブは、コンテンツにrobocopyを使用し、構成にmsdeployを使用して、WEB1をスタンバイサーバーWEB2に定期的に同期します。 WEB1がダウンした場合、Nagiosは通知し、手動でスクリプトを実行してIPアドレスをWEB2のネットワークインターフェイスに移動します。両方のサーバーは、実際には別々のVMWare ESX4ホストで実行されているVMです。サーバーはドメインに参加しています。

WEB1には約50〜60のライブサイトがあります。ほとんどがASP.NETで、静的HTMLだけのサイトもいくつかあります。ほとんどがトラフィックの少ない「マイクロサイト」です。中程度のトラフィックを持つものもありますが、大規模なものはありません。


これを変更して、WEB1とWEB2の両方がアクティブにコンテンツを提供するようにします。これは主に信頼性のためです。WEB1がダウンした場合、フェイルオーバーのために手動で介入する必要はありません。負荷を分散することも素晴らしいですが、負荷は今のところ私たちがこれを必要とするほど高くはありません。

2つのサーバー間でトラフィックのバランスをとるようにファイアウォールを構成することを計画しています。サーバーがダウンしたことを検出し、残りのライブサーバーにすべてのトラフィックを送信します。今のところスティッキーセッションを使用することを計画しています...最終的にはSQLServerセッション状態とステートレス負荷分散に移行する可能性があります。

しかし、サーバーがコンテンツを共有する方法が必要です。当初は、すべてのコンテンツをUNC共有に移動することを計画していました。私たちのストレージプロバイダーは、可用性の高いSMB共有を設定できると言っています。したがって、UNCルートを使用する場合、ストレージが単一障害点になることはありません。しかし、疑問に思っています。このアプローチの欠点について:

  • 各サイトと仮想ディレクトリの物理パスを変更する必要があります。 web.configファイルに絶対パスがあるプロジェクトもいくつかあります。それらも更新する必要があります。

  • Webサーバーが共有にアクセスするためのドメインユーザーを作成し、そのユーザーに適切なアクセス許可を付与する必要があります。これについてはまだ調べていません-アプリケーションプールIDをこのユーザーに変更する必要があるかどうか、または接続時にこのアカウントを使用するようにIIS)に指示する別の方法があるかどうかはわかりませんシェアに。

  • Active Directoryに問題が発生した場合、サイトはコンテンツにアクセスできなくなります。

  • 一般的に、それははるかに複雑に見え、破損する可能性のある可動部品が多くなります。私たちのストレージプロバイダーは、冗長SAN上にボリュームを作成します。私が正しく理解していれば、このSANボリュームは冗長VMWare環境で実行されているVMにマウントされます; this VM次に、SMB共有をWebサーバーに公開します。


一方、共有コンテンツアプローチの利点は、コードを1つの場所にデプロイするだけで済み、コンテンツの複数のコピー間で一時的な不整合が発生しないことです。

このスレッド はかなり興味深いものですが、これらの人々の中にははるかに大規模に作業している人もいます。

これまでコンテンツについて説明してきましたが、構成についても考慮する必要があります。 applicationHost.configやその他のファイルにDFSレプリケーションを使用できるのか、それともUNC共有の構成で 共有構成 機能を使用するのが最善かどうかはわかりません。

どう思いますか?

5
Richard Beier

あなたの懸念は有効であり、一日の終わりにあなたはその継承リスクで各報酬を評価する必要があります。

共有コンテンツは素晴らしいです。しかし、ご指摘のとおり、リモートホストに依存しているため、ストレージテクノロジーのクラスタリングは安価でも単純でもありません。このタイプのセットアップにはその場所があり、現在のソリューションを考えると、99.999%の稼働率のソリューションを探しているのではないと思います。

Web1> Web2からコンテンツを同期するときに、(ファイアウォールで)負荷分散されたノードを無効にするようにスクリプトを拡張することを考えましたか?

Shared Configは優れていますが、UNC共有が利用できない場合はローカルキャッシュコピーを使用し、Webアプリが正しい構成になっていることを確認するための優れた方法です。

私の2c

4
commandbreak

SANの共有ディスクが最善の解決策ですが、ほうきで飛ぶよりも少し現実的です。Melioのような一部のベンダーはそれを提供していますが、いくつかの大きな欠点があります(高価な場合はSANが必要ですVMwareでは、共有コントローラーを使用してスナップショットを作成する機能が失われます)

1
Duane

UNC共有を使用してクラスター化(NLB)Webヘッドを提供してきましたが、最近64ビットOS Win 2008R2に移行しました。違いは大きく、SMB接続の枯渇について心配する必要はありません。制限はありますが、高いです。別のファイルサーバーとの組み合わせにDFSを追加したばかりですが、信頼性についてはまだ話せません。

1
penra

共有ディスクファイルシステムでiSCSIを使用する... UNC共有が遅すぎる

0
Brandon