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

インストール要件とパッケージの決定

リソースタイプパッケージのインストール要件とパッケージを決定する際には、次の 2 つの要件を考慮します。

使用すべき適切なパッケージを決定するには、次の点を考慮する必要があります。

これらの点を確認しておくと、新しいリソースタイプに使用する適切なパッケージの決定に役立ちます。

RTR ファイルを変更する前に

リソースタイプを変更する場合、必ずしも新しいメソッドやモニターコードを作成する必要はありません。たとえば、リソースプロパティーのデフォルト値や Tunable 属性のみを変更する場合があります。この場合、メソッドコードを変更していないため、読み取り可能な RTR ファイルへの新しい有効なパス名のみが必要になります。

古いリソースタイプを再登録する必要がない場合、新しい RTR ファイルは以前のバージョンを上書きできます。再登録する必要がある場合、新しいパスに新しい RTR ファイルを配置します。

アップグレードによりプロパティーのデフォルト値または Tunable 属性が変更された場合、リソースタイプの新しいバージョンに対して Validate メソッドを使用し、既存のプロパティー属性が新しいリソースタイプに対して有効であることを確認します。有効でない場合、クラスタ管理者は既存のリソースのプロパティーを正しい値に変更できます。アップグレードによりプロパティーの min 属性、max 属性、または type 属性が変更された場合は、クラスタ管理者がリソースタイプを更新したときに clresourcetype(1CL) コマンドによりこれらの制約が自動的に検査されます。

アップグレードにより新しいプロパティーが追加された場合や古いプロパティーが削除された場合、通常、コールバックメソッドまたはモニターコードを変更する必要があります。

モニターコードの変更

リソースタイプのモニターコードのみを変更した場合、パッケージのインストールではモニターのバイナリを上書きできます。

メソッドコードの変更

リソースタイプでメソッドコードのみを変更した場合、新しいメソッドコードが古いメソッドコードと互換性があるかどうかを判断する必要があります。この判断により、新しいメソッドコードを新しいパス名で格納する必要があるかどうか、または古いメソッドを上書きできるかどうかが決定します。

古いバージョンの StartPrenet_stopInit メソッドにより初期化または起動されたリソースに対して、新しい StopPostnet_stopFini メソッド (宣言されている場合) を適用できる場合は、新しいメソッドで古いメソッドを上書きできます。

プロパティーに新しいデフォルト値を適用することで、StopPostnet_stopFini などのメソッドが失敗する場合、リソースタイプのアップグレード時に、クラスタ管理者はそれに従ってリソースの状態を制限する必要があります。

Type_version プロパティーの Tunable 属性を制限することにより、クラスタ管理者が、アップグレード時のリソースの状態を制限できるようにすることができます。

パッケージの 1 つの方法としては、引き続きサポートされている以前のバージョンのリソースタイプをすべてパッケージに含めるという方法もあります。この方法では、メソッドへの古いパスを上書きまたは削除することなく、新しいパッケージのバージョンで古いバージョンのパッケージを置き換えることができます。サポートする以前のバージョンの数は、リソースタイプ開発者が決定する必要があります。

使用するパッケージスキーマの決定

次の表に、新しいリソースタイプに使用すべきパッケージスキーマの概要を示します。

表 4–1 使用するパッケージスキーマの決定

変更のタイプ 

Tunable 属性の値 

パッケージスキーマ 

RTR ファイルのみでプロパティーを変更します。 

ANYTIME

新しい RTR ファイルのみを提供します。 

メソッドを更新します。 

ANYTIME

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

新しい監視プログラムをインストールします。 

WHEN_UNMONITORED

モニターの直前のバージョンのみを上書きします。 

メソッドを更新します。 

新しい Update および Stop メソッドと古い Start メソッドの間には互換性がありません。

WHEN_OFFLINE

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

メソッドを更新し、RTR ファイルに新しいプロパティーを追加します。新しいメソッドには新しいプロパティーが必要です。 

目的は、ノード上でリソースグループがオフライン状態からオンライン状態に移行した場合に、リソースの所属リソースグループをオンラインのまま保持しながらリソースがオンラインになるのを防ぐことです。 

WHEN_DISABLED

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

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

ANYTIME

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

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

WHEN_UNMANAGED

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

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

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

以前のバージョンのメソッドを上書きします。RTR ファイルには変更を加えていないため、リソースを登録またはアップグレードする必要はありません。