Open棟梁Project - マイクロソフト系技術情報 Wiki
IISと
を筐体の数を抑えるため、
これらを1つの筐体に詰めてクラスタ化したい場合にこの要件が上がる。
できません(実現不可能)。
クラスタ サービスとネットワーク負荷分散の両方をインストールしたコンピュータを
サポートする必要がある場合、いずれか一方のコンポーネントを削除する必要があります。
これらのコンポーネントのいずれかをアンインストールするには、以下のうち適切な方法を実行します。
この問題をクリアするために、L7負荷分散を実現する
Application Request Routing (ARR)という
モジュールがIIS7.0から導入されているようです。
高い可用性とスケーラビリティの実現 - ARR および NLB
http://technet.microsoft.com/ja-jp/library/ee886284.aspx
ARR では、コンテンツ サーバーに対して
高い可用性とスケーラビリティを提供していますが、
展開全体の可用性とスケーラビリティは高くありません。
これには、次の理由があります。
- ARR は単一障害点である。
- コンテンツ サーバーのスケーラビリティが、
単一の ARR サーバーの最大容量によって制限されている。
上記の課題を克服するために、管理者はNLBと組み合わせた
複数の ARR サーバーの使用を検討することができます。
ARR は、
- アクティブ/パッシブ モードで展開して、高可用性のみ実現できます。
- または、アクティブ/アクティブ モードで展開して、
高い可用性とスケーラビリティの両方を実現できます。
このホワイトペーパーでは、ARR と NLB を一緒に展開して、
- ARR のコア シナリオを有効にし、
- かつ、全体的に高い可用性とスケーラビリティを実現する
方法について説明しています。
NLB は、Windows Server 2008 のすべてのSKU(製品ラインアップ)で使用できます。
ステートレスなIISは、一般的にはNLBクラスタを選択するべきです。
Webアプリケーションが
Session状態を
に退避するようにする事で、NLBクラスタに対応させることができます。
ただし、NLBとMSCS/WSFCの同居ができないので、
IISを負荷分散クラスタ化せず、
フェイル・オーバー・クラスタ化する場合に限って、
KB970759のスクリプトを使用してMSCS/WSFCクラスタ化します。
Windows Server 2008 R2 からはスクリプトが標準で付属しないようなので、
以下のURL(KB970759)にあるスクリプトの内容を理解して、
Microsoft Windows Server 2008 フェールオーバー クラスターで
IIS 7.0 World Wide Web 発行サービスを構成する
http://support.microsoft.com/kb/970759/ja
必要に応じて書き替えて構成・検証するしかなさそうです。
Windows Server 2008 以降でクラスター化された IIS を作成 « SE の雑記
http://engineermemo.wordpress.com/2011/05/15/windows-server-2008-%e4%bb%a5%e9%99%8d%e3%81%a7%e3%82%af%e3%83%a9%e3%82%b9%e3%82%bf%e3%83%bc%e5%8c%96%e3%81%95%e3%82%8c%e3%81%9f-iis-%e3%82%92%e4%bd%9c%e6%88%90/
2008 R2 では含まれなくなっています。
以下の様な不具合が報告されています。
Windows Server TechCenter? > Windows Server フォーラム > Windows Server 2008 全般
> Windows2008 IIS7.0のクラスタ(WSFC)環境で、新しく作成した仮想ディレクトリにアクセスするとHTTP 404エラーが表示される。
http://social.technet.microsoft.com/Forums/ja/windowsserver2008ja/thread/2b8aa4b0-e8ac-49c0-a267-1a01d1f248f6
http://support.microsoft.com/kb/970759
の情報を元に、IISをクラスタのリソースとして登録しました。セットアップは問題なく完了し、動作も良好でした。しかし、後からIISの仮想ディレクトリを作成したところ、作成は問題なく行えるのですが、クライアントからアクセスすると「サーバーエラー 404 ファイルまたはディレクトリが見つかりません」となってしまう場合があります。「場合」について切り分けができていません。ある日は問題なくアクセスできたのに、数日後は404エラーが表示される、といった具体で、一旦ダメになると、サーバを再起動するまでアクセスできないままになります。原因が分かりましたらご教示頂けますでしょうか。
KB970759の手順に共有構成をエクスポートして共有ディスクに入れる手順があるが、
JITコンパイルで生成されるアセンブリなどが、何処にどう格納されるのか?
など動き(のディティール)が良く解らない所がある。
通常、JITコンパイルされるものは以下に格納される。
%windir%\system32\inetsrv\ASP Compiled Templates
フェールオーバー後、
これは、特定のIPをListeningする場合は、
Listeningする仮想IPがフェイル・オーバーしないとIISが起動しないため。
全てのIPをListeningする場合は、起動・停止の制御は不要であるものと思われる。
フロントNICのみを監視しているため。
上記ではフェイル・オーバーのトリガにならない。