クラスタ


オペレーティングシステムクラスタの仕組み
Domino で採用しているクラスタリング手法は、「アプリケーションクラスタリング」と呼ばれます。アプリケーションクラスタリングである Domino ではクラスタをモニターし、管理者が設定したパラメータを基にフェイルオーバーとワークロードの均衡を実行する時期を判断します。

これとは別のクラスタリング手法に、「オペレーティングシステムクラスタリング」があります。この形態のクラスタリングでは、クラスタをモニターし、フェイルオーバーの実行を判断するのはオペレーティングシステムです。フェイルオーバーが発生すると、障害発生元のサーバー (ノード) のリソースをフェイルオーバー先のサーバーが引き継ぎ、障害発生元ノードがアクセスしていた記憶領域にアクセスします。そして、障害発生元ノードが実行していたアプリケーションを実行します。

オペレーティングシステムクラスタの基本的な実行方法には、アクティブ - パッシブとアクティブ - アクティブの 2 種類があります。アクティブ - パッシブクラスタの場合、パッシブノードは自身のアプリケーションを実行せず、アクティブノードに障害が発生したときにその実行を引き継ぐために待機しています。アクティブ - アクティブクラスタの場合、すべてのノードはそれぞれのアプリケーションを実行する一方、他のノードに障害が発生したときはその実行を引き継ぐことができるようになっています。さらに、ハードウェアの障害についてのみフェイルオーバーが発生するようにオペレーティングシステムクラスタを設定することもできれば、ソフトウェアの障害とハードウェアの障害のどちらでもフェイルオーバーするように設定することもできます。

Domino ではアプリケーションクラスタリングを採用しているので、この節ではオペレーティングシステムクラスタで使用するさまざまな手法と設定について詳しくは説明しません。しかし、いくつかのオペレーティングシステムクラスタと組み合わせて Domino を実行することはできるので、基本的な内容については説明します。このようなオペレーティングシステムクラスタには、IBM High Availability Cluster Multi-Processing (HACMP)、Microsoft(R) Cluster Server (MSCS)、Sun(TM) Cluster などがあります。

メモ Domino で実行するオペレーティングシステムクラスタソフトウェアの設定について詳しくは、使用するオペレーティングシステムクラスタ付属のドキュメントを参照してください。

オペレーティングシステムクラスタが提供するフェイルオーバーは、発生してもユーザーには分かりません。フェイルオーバー先のノードは障害発生元ノードのリソースをそのまま引き継ぐので、ユーザーには元のサーバーと同じサーバー名と同じネットワークアドレスが引き続き表示されます。多くのオペレーティングシステムクラスタとは異なり、Domino のクラスタリングではインテリジェントなフェイルオーバーを採用しています。あるサーバーに障害が発生すると、Domino はそのクラスタキャッシュを調べてクラスタの中で使用できる可能性が最も高いサーバーを検索します。また、Domino ではワークロードの均衡をユーザーの手で積極的に制御できます。これはオペレーティングシステムクラスタにはない機能です。さらに、Domino によるクラスタリングでは、互いに異なるオペレーティングシステムが稼働しているサーバーから成るクラスタを設定できます。一方、オペレーティングシステムクラスタでは、すべてのノードで同じオペレーティングシステムが稼働している必要があります。

以下に、アクティブ - パッシブのオペレーティングシステムクラスタリングの基本的な設定例を示します。ノード 1 で Domino Server が稼働しています。ノード 2 はノード 1 をモニターして、フェイルオーバーの発生を待機しています。

ノード 1 に障害が発生すると、ノード 2 はノード 1 のリソースを取り込み、Domino Server の実行を引き継ぎます。ノード 2 は、ノード 1 が使用していた Domino Server のものと同じディスクセットと IP アドレスを使用します。

アクティブ - アクティブのクラスタで Domino を実行するには、ノードに Domino パーティションサーバーを使用する必要があります。これによって、各ノードはそれぞれのタスク実行を維持しつつ、他のノードのタスクを引き継ぐことができるようになります。

以下に、アクティブ - アクティブのオペレーティングシステムクラスタリングの基本的な設定例を示します。ノード 1 とノード 2 では、それそれ 1 番目のパーティションで Domino を実行しています。各ノードの 2 番目のパーティションには、互いに相手のノードにある 1 番目のパーティションのリソースが複製されています。各ノードはそれぞれのディスクセットを持っていますが、フェイルオーバーが発生すると、障害発生側のディスクセットにアクセスできます。また、互いに相手のノードをモニターしています。

ノード 1 に障害が発生すると、ノード 2 はノード 1 のリソースを取り込み、両方のノードの Domino Server を実行します。

アクティブ - アクティブ設定を使用するには、フェイルオーバーが発生したときに他のノードの負荷を処理できるだけの容量を各ノードが持っている必要があります。

Domino クラスタで OS クラスタを使用することの利点
Domino クラスタと組み合わせてオペレーティングシステムクラスタを使用すると、Domino クラスタではフェイルオーバーしない状況でも、オペレーティングシステムクラスタの方でフェイルオーバーできるようになります。以下にその例をいくつか示します。


こういった機能を活用するために、Domino クラスタとの組み合わせで動作するようにアクティブ - パッシブのオペレーティングシステムクラスタを設定することをお勧めします。