Sun Cluster 2.2 API 開発ガイド

データサービスと Sun Cluster ソフトウェア間の対話

データサービスを初めて Sun Cluster に登録するとき、データサービスはコールバックプログラムのセット (つまり、メソッド) を登録します。重要なイベントがクラスタ内で発生すると、Sun Cluster はデータサービスのメソッドに対してコールバックを行います。この節では、任意のデータサービスを Sun Cluster 環境で実行するために必要な 3 つの基本的なメソッド、startstopabort について説明します。

あるホストで障害が発生すると、Sun Cluster は論理ホスト (ディスクセットと論理ネットワーク IP アドレスの両方) を正常に動作しているホストに移動します。この時点で、データサービスのソフトウェアをその正常に動作しているホスト上で再起動しなければなりません。Sun Cluster 自身はデータサービスを再起動できません。その代わりに、データサービスに自分自身を再起動するように伝える呼び出しを行います。つまり、データサービスの start メソッドまたは start_net メソッドに対して呼び出しを行います。

Sun Cluster の haswitch(1M) コマンドは、ある物理サーバー上の論理ホストを正常に停止し、別の物理サーバーに論理ホストを移動する準備を行います。Sun Cluster がこの停止作業を階層化データサービスで行うために、各データサービスは stop メソッドも登録します。scadmin switch または haswitch(1M) の操作中、および scadmin stopnode で Sun Cluster を停止したとき、Sun Cluster はデータサービスの stop メソッドを呼び出します。この stop メソッドはデータサービスを正常かつ安全に停止します。時間がかかる可能性があるため、stop メソッドはネットワーク上のクライアントが各自作業を完了するのを待たずにデータベースを停止します。

Sun Cluster はクラスタ内の物理サーバーの動作状況を継続的に監視します。物理サーバーが異常終了したとき、Sun Cluster は、サーバーを停止および再起動する前に、最終手段としてのクリーンアップコードを実行できるかどうかを決定します。実行できると決定した場合、Sun Cluster は、サーバーを停止する前に、最終手段としてのクリーンアップコードを実行するための機会を各データサービスに与えます。最終手段としてのクリーンアップを行う機会が必要ないデータサービスは abort メソッドを登録しなくてもかまいません。