Microsoft Clustering Service

MSCS(MicroSoft Clustering Service)とはマイクロソフトにより開発された、Windowsのサーバ用オペレーティングシステム (OS) にて構築するフェイルオーバー型クラスタリング技術を言う。Windows Server 2008以降では「Windows Server Failover Cluster (WSFC)」という名称に変更されている。
概要.
（追加インストールの形で）Windows NT 4.0 Enterprise Editionで実装された。その後Windows 2000 Advanced Server及びDatacenter Serverより標準実装された。Windows Server 2003ではEnterprise Edition、Datacenter Editionで利用できる。一般にクラスタリングサービスは別売のクラスタリング専用のソフトを必要としていたが、OSにクラスタリング機能を標準的に実装していることから普及した。
構成.
ここではWindows Server 2003シリーズにおけるMSCSの挙動について説明する。
構成図は2台のサーバ、SCSI又はファイバーチャネルを用いたSAN (Storage Area Network) での共有ディスクを用いた一般的なクラスタの構成を示している。2台のサーバ間には他ノードの生死確認を含むハートビート通信が行われる。この通信は本来のサービス用とは別のネットワークを用いることが推奨されている。共有ディスクには構成情報を含むクォーラムと呼ばれる情報が置かれており、障害時はこのクォーラムへの接続を持たないノードのサービスを終了することでスプリットブレインシンドロームに陥ることを防ぐ。
最小構成は1台のサーバで構成するローカルクォーラムクラスタだが、これはフェイルオーバーが行えず、ソフトウェアのテスト等に用いる。
Windows Server 2003のMSCSより、サーバ2台以上で共有ディスクを用いないマジョリティセットノード構成がサポートされた。これは障害で生き残ったサーバのうち過半数（クラスタを構成する全サーバ数/2+1台以上）のサーバを含むパーティション（ネットワーク接続を保ったサーバ群）がサービスを継続する仕組みとなっている。特徴としては、過半数の判定部分からわかるように、サーバ2台（=2ノード）で構成すると1ノードの障害で残る1サーバもサービス継続を行えなくなることがあげられる。SANがコスト的な問題等で用意できない場合や、ノードが遠隔地にありSANに接続できない場合に主に用いられる。
性能.
Windows NT 4.0にて実装された時は、待機系はフェイルオーバーが発生しない限り待機しか行えず（片方向スタンバイ）、ハードウェア、ソフトウェアともにリソースに無駄が多かった。また、平常時に利用しない為、パッチ適用等の運用コストも重かった。更に設定が難しく、Windows NT 4.0の保守性の低さに起因する問題も多かった。
Windows 2000において双方向スタンバイとなり、平常時においてそれぞれ別の業務アプリケーションを実行させることが可能となった。
一般的なクラスタの特徴だが、障害発生からその認識、フェイルオーバーの完了までの間サービスは停止する。アプリケーション側ではこのサービス停止を意識した設計と実装が必要となる。