クラスタについて

OSS

OSSのクラスタ管理ソフト「corosync」

corosyncは、正式には「The corosync Cluster Engine」と呼ばれています。C言語で作られた高可用性を実現するためのソフトウェアです。もともとは、OpenAISプロジェクトの中で作られたソフトウェアの機能が分離されたものです。

corosyncも、Pacemakerと連携してクラスタシステムを構成することができます。Pacemakerから見ると、Heartbeatとほぼ同等の機能を提供するクラスタ基盤ソフトという位置づけのソフトウェアです。

corosyncと、corosyncと連携できるPacemakerは、CentOS6のレポジトリに標準的に組み込まれています。そのため、パッケージの入手などが容易であることが特徴です。ただし、日本語の文献が極めて少ないというデメリットがあります。

図:OSSのクラスタソフト「corosync」

ノードとプロセスグループの管理

corosyncは、クラスタに必要な通信機能を提供します。corosyncでは、Extended virtual syncronyと呼ばれている形式で、マルチキャストやブロードキャストを使ったノード間のメッセージング機能を提供します。また、クラスタ全体でプロセスグループを管理するための管理機能、基礎的なアプリケーションの監視などの機能を提供します。corosyncは、より分散環境を意識した構成になっています。

Fence

Fenceは、相手ノードが異常状態に陥った時に、強制的に切り離す機能です。一般的には、相手ノードの電源を切断します。何らかの異常に陥った時には、どんな副作用があるかわからないため、こうした強制機能が用意されているのです。

Fenceを使う場合には、一般的には何らかのハードウェアサポートが必要になります。よく使われる装置としては、サーバハードウェアに付属しているマネージメントボードや、電源管理装置などがあります。

ハードウェアのサポートが必要ですので、Fenceの利用は必須ではありません。ただし、Fenceを使わないと、システムが中途半端な異常状態になった時には適切に切り替わらない可能性があります。そのため、システムに求めるリスクに応じて、Fenceを利用するかを選択します。

Fenceは、Heartbeatが採用しているSTONITHと機能的にはあまり違いがありません。ただし、STONITHに比べると、サポート可能なハードウェアが若干少ないようです。

参考情報