LifeKeeper Communications Manager (LCM) には、2 つの機能があります。
- メッセージング。LCM は、LifeKeeper がリカバリ、設定、または監査の実行を行うときに送信するメッセージの経路として機能します。
- 障害検出。また、LCM には、サーバに障害が発生しているかどうかを検出する役割もあります。
LifeKeeper には、構成内の各サーバに、ペアのサーバが動作していることを定期的に通知する組み込みのハートビート信号があります。あるサーバが、いずれかのコミュニケーションパス経由でハートビートメッセージを受信しなかった場合、LifeKeeper はそのパスを DEAD としてマークします。
以下の図に、LCM ハートビートメカニズムがサーバの障害を検出したときのリカバリ作業を示します。
以下の手順では、上の図で、LifeKeeper があるサーバのすべての通信接続を DEAD としてマークした場合のリカバリシナリオを説明します。
- LCM が eventslcm を起動します。LifeKeeper がすべてのコミュニケーションパスを DEAD としてマークすると、LCM は eventslcm プロセスを開始します。
eventslcm プロセスを停止する活動は 1 つのみです。
- コミュニケーションパスが、アクティブである。いずれかのコミュニケーションパスがハートビート信号の送信を再開した場合、LCM は eventslcm プロセスを停止します。
- コミュニケーションパスが、アクティブである。いずれかのコミュニケーションパスがハートビート信号の送信を再開した場合、LCM は eventslcm プロセスを停止します。
通信障害に起因するフェイルオーバやシステムの障害を防止するために、各ペアのサーバ間に、物理的に独立した冗長なコミュニケーションパスを 2 つ以上設定することが重要です。
- sendevent へのメッセージ送信。 eventslcm は、 sendevent をイベントタイプ machfail で呼び出してシステム障害アラームを送信します。
- sendevent がフェイルオーバリカバリを開始します。sendevent プログラムが、LifeKeeper がシステム障害イベントを処理できることを判断し、LifeKeeper フェイルオーバリカバリプロセス lcdmachfail を実行します。
- lcdmachfail のチェック。 lcdmachfail プロセスがはじめに、応答していないサーバがシャットダウンしていないことを確認します。システム障害の発生前に、他のシステムが正常にシャットダウンしている場合、フェイルオーバは禁止されます。次に、 lcdmachfail は、障害が発生したシステムと同等の共有を持つリソースをすべて特定します。これが、リカバリの関与ポイントです。
- lcdmachfail がリソースをリストアします。 lcdmachfail が、障害が発生したシステムと同等のイクイバレンシ情報を持つ、バックアップサーバ上のリソースをすべて特定します。また、バックアップサーバが該当するリソースが構成されている、優先順位が最高のアクティブなサーバであるかどうかを判断します。すべてのバックアップサーバがこのチェックを実行するので、1 台のサーバのみが階層のリカバリを試行します。このチェックに合格した個々の同等リソースについて、 lcdmachfail が、関連付けられたリストアプログラムを呼び出します。次に、 lcdmachfail は、リストアしたリソースに依存する各リソースもリストアします。これは、バックアップサーバ上の階層全体がサービス中になるまで続行されます。
このトピックへフィードバック