クラスタ対応のアプリケーションとして必要とされる機能
HULFTクラスタ対応機能は、クラスタ構成システム下で動作するアプリケーションとして、以下の機能を提供します。
(1) 耐障害性(管理情報および履歴の耐障害強化機能)
クラスタ環境では、フェールオーバーが発生した場合、処理が待機系サーバに引き継がれます。このとき、アプリケーションには以下の機能が求められます。
-
共有ディスクへ必要なデータを保存した後にアプリケーションが終了
-
定期的にデータをディスクに保存
-
破損したファイルを自動的に復旧(*1)
*1 |
: |
フェールオーバーの発生要因やタイミングによって、アプリケーションが更新していたファイルの一部を破損した場合 |
HULFTクラスタ対応機能では、このような耐障害性機能を追加した管理情報ファイルおよび履歴ファイルを提供します。
(2) 起動のしくみ(起動同期機能)
クラスタ構成システムを管理するクラスタソフトウェア上でアプリケーションは動作します。したがって、クラスタソフトウェアがアプリケーションを起動できるしくみが必要です。アプリケーションの起動のしくみとして以下の機能が求められます。
-
監視対象プロセスが正常に起動するまで待機(起動同期の実施)
-
アプリケーションが終了するまで起動プロセスの生存を持続(*1)
*1 |
: |
起動プロセスの生存そのものを監視条件とするタイプのクラスタソフトウェアの場合 |
HULFTクラスタ対応機能は、クラスタソフトウェアからでもHULFTを確実に起動できるしくみを提供します。
(3) 監視のしくみ(生存確認機能)
クラスタソフトウェアがアプリケーションの生存を監視するためのしくみが必要です。
プロセスIDに対して単にプロセスの生存を確認する方法もありますが、HULFTクラスタ対応機能では、HULFTに直接問い合わせて、動作可能な状態のプロセスが確実に生存していることがわかるしくみを提供します。
(4) 停止のしくみ(終了同期機能)
監視対象アプリケーションに異常が発生した場合、運用系サーバの処理を中断後、フェールオーバーを行い待機系サーバへ処理を引き継ぎます。
運用系サーバの処理を正常に中断できなかった場合は、強制的な手段でアプリケーションを終了させることになります。この場合、アプリケーションが管理しているデータが破壊される可能性があるので、瞬時にすべての処理を正常に停止させるしくみが必要です。
また、監視対象プロセスの終了を待たない(同期がとれていない)しくみの場合、共有ディスクにアクセス中に、強制的にディスクがアンマウントされてしまう可能性もあります。
HULFTクラスタ対応機能では、監視対象プロセスと同期をとってHULFTを停止するしくみを提供します。