Microsoft Clustering Service

MSCS(Microsoft Clustering Service)とは



MSCS(Microsoft Clustering Service)は、マイクロソフトが開発したWindows Serverオペレーティングシステム上で、高可用性を実現するためのフェイルオーバークラスタリング技術です。この技術は、Windows NT 4.0 Enterprise Editionで初めて導入され、その後Windows 2000 Advanced Server以降のバージョンで標準機能として実装されました。Windows Server 2008からは「Windows Server Failover Cluster (WSFC)」という名称に変更されていますが、基本的な概念はMSCSのものを引き継いでいます。

MSCSの概要



初期のクラスタリングサービスは、専用のソフトウェアを別途購入する必要がありましたが、MSCSはOSに標準でクラスタリング機能が組み込まれているため、より手軽に高可用性システムを構築できるようになりました。Windows Server 2003では、Enterprise EditionとDatacenter Editionで利用可能です。これにより、多くの企業が比較的低コストで冗長化システムを導入できるようになり、システムの信頼性向上に貢献しました。

構成



MSCSの基本的な構成は、2台以上のサーバーと、共有ストレージ(SAN: Storage Area Network)で構成されます。サーバー間では、ハートビートと呼ばれる通信を行い、他ノードの生存状況を監視します。このハートビート通信は、サービス用のネットワークとは別の専用ネットワークを使用することが推奨されています。共有ストレージには、クラスタの構成情報や、クォーラムと呼ばれる情報が格納されており、障害発生時には、このクォーラムへのアクセス権を基に、サービスを停止させるノードを決定し、スプリットブレインシンドロームを防ぎます。

ローカルクォーラムクラスタ


最小構成としては、1台のサーバーのみで構成するローカルクォーラムクラスタがありますが、この構成ではフェイルオーバーは行われず、ソフトウェアのテストなどに利用されます。この構成は、実際の運用環境での高可用性確保を目的としていないことに注意が必要です。

マジョリティセットノード構成


Windows Server 2003のMSCSでは、2台以上のサーバーで共有ディスクを使用しないマジョリティセットノード構成もサポートされています。この構成では、障害発生時に、過半数(クラスタを構成する全サーバー数の半分+1台)のサーバーを含むパーティションがサービスを継続します。例えば、3台のサーバーで構成されたクラスタの場合、2台以上のサーバーが正常に動作していれば、サービスを継続できます。しかし、2台構成の場合、1台に障害が発生すると残りの1台では過半数を満たせないためサービスを継続できません。この構成は、SANがコスト面や地理的な制約で使用できない場合に有効な選択肢となります。

性能と課題



Windows NT 4.0でMSCSが導入された当初は、待機系サーバーはフェイルオーバーが発生するまで待機状態のままで、リソースの無駄が多いという問題がありました。また、待機系サーバーを平常時に活用できないため、パッチ適用などの運用コストもかさみました。さらに、設定が複雑で、Windows NT 4.0自体の保守性の低さもあいまって、運用上の課題が多かったと言えます。しかし、Windows 2000以降では、双方向スタンバイが可能となり、平常時にそれぞれのサーバーで別のアプリケーションを実行できるようになり、リソースの有効活用が進みました。

一般的なクラスタリングシステムと同様に、MSCSにおいても障害発生からフェイルオーバー完了までの間、サービスは一時的に停止します。そのため、アプリケーション側では、このサービス停止を考慮した設計と実装が必要となります。具体的には、トランザクション処理のロールバックや、セッション情報の保持など、フェイルオーバーを意識した開発が不可欠です。

MSCSは、可用性の高いシステム構築において重要な役割を果たしますが、その構成や動作を理解し、適切な設計と運用を行うことが、システムの安定稼働には不可欠です。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。