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 は、リストアしたリソースに依存する各リソースもリストアします。これは、バックアップサーバ上の階層全体がサービス中になるまで続行されます。
このトピックへフィードバック