Microsoft Clustering Service
ここでは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において双方向スタンバイとなり、平常時においてそれぞれ別の業務アプリケーションを実行させることが可能となった。
一般的なクラスタの特徴だが、障害発生からその認識、フェイルオーバーの完了までの間サービスは停止する。アプリケーション側ではこのサービス停止を意識した設計と実装が必要となる。
表示
編集