Sun Cluster データサービス開発ガイド (Solaris OS 版)

リソースタイプのアップグレード例

以下では、リソースタイプのインストールとアップグレードの例をいくつか紹介します。Tunable 属性とパッケージ情報は、リソースタイプ実装の変更に基づいて選択されています。Tunable 属性は、リソースを新しいリソースタイプに移行するときに適用されます。

すべての例は、次の条件に従うものとします。

場合によっては、リソースタイプ開発者は、例で使用されているものより制限の厳しい Tunable 属性の値を指定する必要があります。Tunable 属性の値は、リソースタイプ実装の変更内容によって決定します。リソースタイプ開発者は、例で使用されている Solaris パッケージ以外のパッケージスキーマを選択することもできます。

表 3–1 リソースタイプのアップグレード例

変更の種類 

Tunable 属性 

パッケージ処理 

手続き 

プロパティの変更は、RTR ファイルのみに加えられました。 

ANYTIME

新しい RTR ファイルを配布するだけです。 

新しい RTR ファイルの pkgadd をすべてのノード上で実行します。

新しいリソースタイプを登録します。 

リソースを移行します。 

メソッドが更新されました。 

ANYTIME

更新されたメソッドを古いメソッドとは異なったパスに配置します。 

更新されたメソッドの pkgadd をすべてのノード上で実行します。

新しいリソースタイプを登録します。 

リソースを移行します。 

新しいモニタープログラムです。 

WHEN_UNMONITORED

以前のバージョンのモニターを上書きするだけです。 

監視を無効化します。 

新しい監視プログラムの pkgadd をすべてのノード上で実行します。

新しいリソースタイプを登録します。 

リソースを移行します。 

監視を有効化します。 

メソッドが更新されました。新しい Update/ Stop メソッドと古い Start メソッドには互換性がありません。

WHEN_OFFLINE

更新されたメソッドを古いメソッドとは異なったパスに配置します。 

更新されたメソッドの pkgadd をすべてのノード上で実行します。

新しいリソースタイプを登録します。 

リソースをオフラインにします。 

リソースを移行します。 

リソースをオンラインにします。 

メソッドが更新され、RTR ファイルに新しいプロパティが追加されました。新しいメソッドには新しいプロパティが必要です。リソースの所属リソースグループをオンラインのまま保持しながらリソースがオンラインになることを防ぐ必要があります。このためには、リソースグループをノード上でオフラインの状態からオンラインの状態に変更します。 

WHEN_DISABLED

以前のバージョンのメソッドを上書きします。 

リソースを無効にします。 

各ノード上で次の処理を行います。

  • クラスタからノードを削除

  • 更新されたメソッドの

    pkgrm/pkgadd の実行

  • クラスタにノードを戻す

新しいリソースタイプを登録します。 

リソースを移行します。 

リソースを有効にします。 

メソッドが更新され、RTR ファイルに新しいプロパティが追加されました。新しいメソッドは新しいプロパティを必要としません。 

ANYTIME

以前のバージョンのメソッドを上書きします。 

各ノード上で次の処理を行います。

  • クラスタからノードを削除

  • 更新されたメソッドの pkgrm/pkgadd の実行

  • クラスタにノードを戻す

この手続きの間に、RGM は新しいメソッドを呼び出します。これは、まだ移行が完了しておらず、新しいプロパティが構成されていない場合でも変わりません。新しいメソッドは、新しいプロパティなしで正常に機能しなければなりません。 

新しいリソースタイプを登録します。 

リソースを移行します。 

メソッドが更新されました。新しい Fini メソッドと古い Init メソッドには互換性がありません。

WHEN_UNMANAGED

更新されたメソッドを古いメソッドとは異なったパスに配置します。 

リソースの所属リソースグループを管理対象外にします。 

更新されたメソッドの pkgadd をすべてのノード上で実行します。

リソースタイプを登録します。 

リソースを移行します。 

リソースの所属リソースグループを管理対象にします。 

メソッドが更新されました。RTR ファイルは変更されていません。 

該当しません。RTR ファイルは変更されていません。 

以前のバージョンのメソッドを上書きします。 

各ノード上で次の処理を行います。

  • クラスタからノードを削除

  • 更新されたメソッドの pkgadd を実行

  • クラスタにノードを戻す

RTR ファイルが変更されなかったので、リソースを登録または移行する必要はありません。