オペレーティングシステムクラスタの仕組み

HCL Domino® で採用しているクラスタリング手法は、「アプリケーションクラスタリング Domino®」と呼ばれます。これはアプリケーションであり、クラスタをモニターして、管理者が設定したパラメーターを基にフェイルオーバーとワークロード均衡を実行する時期を判断します。これとは別のクラスタリング手法に、オペレーティングシステムクラスタリング があります。この手法のクラスタリングでは、クラスタを監視し、フェイルオーバーの実行を判断するのはオペレーティングシステムです。フェイルオーバーが発生すると、障害発生元のサーバー (ノード) のリソースをフェイルオーバー先のノードが引き継ぎ、障害発生元ノードがアクセスしていた記憶領域にアクセスします。そして、障害発生元ノードが実行していたアプリケーションを実行します。

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

Domino® ではアプリケーションクラスタリングを採用しているため、ここではオペレーティングシステムクラスタで使用するさまざまな手法と設定の詳細については説明しません。ただし、Domino® を High Availability Cluster Multi-Processing (HACMP) や Microsoft Cluster Server (MSCS) などのオペレーティングシステムクラスタと組み合わせて実行することは可能なため、オペレーティングシステムクラスタの基本的な情報については説明します。

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

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

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

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

Domino® クラスタで OS クラスタを使用することの利点

Domino® クラスタと組み合わせてオペレーティングシステムクラスタを使用すると、Domino® クラスタではフェイルオーバーしない状況でも、オペレーティングシステムクラスタのほうでフェイルオーバーできるようになります。以下にその例をいくつか示します。
注: こういった機能を活用するために、Domino® クラスタとの組み合わせで動作するようにアクティブ - パッシブのオペレーティングシステムクラスタを設定することをお勧めします。
  • フェイルオーバーに対応した Domino® エージェントはほとんどないため、Domino® クラスタでサーバーがフェイルオーバーすると、新しいサーバーではエージェントの実行を継続できません。特定のサーバーでこれらのエージェントを実行するように設定していると、Domino® がフェイルオーバーした後の他のサーバーでは実行できなくなります。しかし、オペレーティングシステムクラスタであれば、フェイルオーバーが発生してもサーバー名は変わりません。したがって、フェイルオーバー先のサーバーでもこれらのエージェントは実行可能です。オペレーティングシステムクラスタでは、スケジュールに従って実行されていたエージェントは、フェイルオーバーが発生すると、次の実行スケジュール時に再起動します。
  • ハードコードされたサーバー名を使用するアプリケーションは、名前が異なる Domino® サーバーにフェイルオーバーされると稼働しなくなります。しかし、オペレーティングシステムクラスタであればサーバー名が変わらないため、フェイルオーバーが発生してもこれらのアプリケーションは実行できます。
  • 文書の編集中にサーバーに障害が発生すると、その文書を Domino® クラスタに保存することはできません。この場合は、新しいサーバーにあるレプリカにその文書を貼り付ける必要があります。しかし、オペレーティングシステムクラスタであれば、サーバーに障害が発生してもそれまで編集していた文書を保存できます。
  • Domino® では、システム管理プロセスはフェイルオーバーしません。したがって、管理サーバーに対してオペレーティングシステムクラスタを設定しておくと役に立ちます。