クラスタリングとは

 “クラスタ”とは“群れを成す”とか“房になる”といった意味です。コンピュータ用語でいう,クラスタリングとは,複数のコンピュータを房のようにつなげる,といった意味になります。すなわち,複数のコンピュータを接続し,全体で1台のコンピュータであるかのように振る舞わせる技術です。

 クラスタリングの目的は,大きく2つに分類できます。

 (1) 拡張性,高速性:接続するコンピュータの台数を増やして,性能の向上を図る

 (2) 高可用性:1台が停止してもシステム全体が止まることはなく,処理を継続させる

 (1)を実現する技術としては,「HPC(High Performance Computing)」や「ロードバランサ(負荷分散)」というキーワードが挙げられます。

 本連載では,(2)の高可用性を実現するクラスタリング技術を対象とします。この高可用性を実現するためのソフトは(1)の技術と区別し,「HA (High Availability) クラスタリング・ソフト」と呼ばれます。

HAクラスタリング・ソフト

 HAクラスタリング・ソフトの役割は,コンピュータを使って提供する重要なサービスを止めないことです。そのため,サービスを提供しているサーバーの故障を,発生した時点ですぐに発見します。さらにその直後,別のサーバーで処理するように切り替えます。これをフェイルオーバーといいます。これにより,サービスを継続できます(図1)。ちなみに,システムの保守などの目的で,現用系から待機系に手動で切り替える処理は,「スイッチオーバー」と呼ばれます。

図1●クラスタリングでサーバーの故障に対応
図1●クラスタリングでサーバーの故障に対応
[画像のクリックで拡大表示]

 故障発生からフェイルオーバーまでの流れを,簡略化した動作イメージで説明しましょう。

 (1) 平常時は,2台以上接続されたサーバーのうち,一部のサーバーでサービスを実行しています。例えば,2台でクラスタリングを構成していれば片方の1台です。これを現用系(あるいは本番系)と呼びます。

 このとき,HAクラスタリング・ソフトは表立って活動しません。サーバーが正常に動作しているか,ネットワークやアプリケーションなどさまざまな個所を,裏で監視しています(図2)。

図2●クラスタリング・ソフトの動作(1)
図2●クラスタリング・ソフトの動作(1)
[画像のクリックで拡大表示]