クラスタとは、アプリケーションの高可用性を確保するため、何らかの方法で連携するノードの一群である。クラスタは需要の増加に対応する必要に応じてノードを追加できるため、アプリケーションにスケーラビリティも提供する。Windows NT 4.0 の時代から、Windowsは2 種類のクラスタリング技術をサポートしている。それは、サーバークラスタとNLB(Network Load Balancing :ネットワーク負荷分散)である。

 サーバークラスタを見てみよう。この技術は、開発当初は「Wolfpack」というコードネームで呼ばれていた。サーバークラスタは、長期間稼働するアプリケーションや他のネットワークサービス(ファイル、印刷、データベース、メッセージングサービス)のフェールオーバー(障害が発生しても他のサーバーに引き継ぐ障害迂回機能)をサポートしている。クラスタの中のあるノードが機能しなくなっても、他のノードが障害の発生したノードのワークロードを引き継ぎ、アプリケーションを実行したいクライアント要求に対するサービスを継続し、これらのサービスの高可用性を確保する。この技術は、Windows NT 4.0 ではMicrosoft Cluster Services(MSCS)と呼ばれていたが、Windows 2000 Server で、サーバークラスタと名前が変更された。Windows Server 2008 では現在、この技術をWSFC(Windows Server Failover Clustering)、または単にフェールオーバークラスタリング(Failover Clustering)と呼んでいる。この方式のクラスタリングの目的としくみがわかりやすい名前である。

 もう1 つのNLB も、見てみよう。この方式のクラスタリング技術は、Windows NT 4.0 ではWLBS(Windows Load Balancing Service : Windows 負荷分散サービス)と呼ばれていたが、Windows Server 2003 でNLB と名前が変更され、Windows Server 2008 でも同じ名前を採用している。NLB はクライアント接続を複数のサーバーに分散することによって、TCP/IP サービスおよびアプリケーションに高い可用性とスケーラビリティを持つ環境を提供する。言い換えると、NLB はクライアント接続を一連のサーバーに分散して、ネットワーク化されたクライアント/サーバーアプリケーションの負荷をバランスさせるネットワークドライバである。クライアント数の増加に伴ってWeb サーバー上で実行されるステートレスアプリケーションをスケールアウトするために、NLB は最適である。またNLB を使用して、ターミナルサーバー、メディアサーバー、VPN サーバーの可用性を確保することもできる。

フェールオーバークラスタリングの機能強化

 フェールオーバークラスタリングに関しては最も重要な変更が行われているので、この技術の改良点から見てみよう。次のような機能強化がなされている。

  • クォーラム(クラスタ情報)ディスクの損失を回避できる新しいクォーラムモデル。
  • SAN(ストレージエリアネットワーク)など、ストレージ技術のサポートの強化。
  • クラスタをよりセキュアで保守しやすくする、ネットワーキングおよびセキュリティ 機能強化。
  • クラスタを展開する前にハードウェア構成を検証するツールの改良。
  • クラスタリングを、役割ではなく機能と考える新しいサーバーパラダイム。
  • クラスタのセットアップと管理を簡単にする新しい管理コンソール。
  • その他の管理ツールの改良(cluster.exe コマンドやWMI プロバイダなど)。
  • 以前のcluster.log ではなく、イベントログの使用によるトラブルシューティングの簡 略化。

 これらの機能強化の詳細を確認する前に、マイクロソフトがWindows Server 2008 でこれらの機能を実装した理由を考えてみよう。