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

リソースのプロパティ

この節では、Sun Cluster によって定義されているリソースプロパティについて説明します。プロパティ値は、「カテゴリ」で次のように分類されます。

Tunable 属性では、リソースプロパティを更新できるかどうかや、いつ更新できるかを指定します。

NONE または FALSE

しない 

TRUE または ANYTIME

任意の時点 (Anytime) 

AT_CREATION

リソースをクラスタに追加するとき 

WHEN_DISABLED

リソースが無効なとき 

以下にプロパティ名とその説明を示します。

Affinity_timeout (整数型)

リソース内のサービスのクライアント IP アドレスからの接続は、この時間 (秒数) 内に同じサーバーノードに送信されます。

このプロパティは、Load_balancing_policyLb_sticky または Lb_sticky_wild の場合にかぎり有効です。さらに、Weak_affinityFALSE (デフォルト値) に設定されている必要があります。

このプロパティは、スケーラブルサービス専用です。

カテゴリ:

任意

デフォルト:

デフォルトなし

調整:

ANYTIME

Cheap_probe_interval (整数型)

リソースの即時障害検証の呼び出しの間隔 (秒数)。このプロパティは RGM によって作成されます。RTR ファイルに宣言されている場合にかぎり、管理者は使用を許可されます。

RTR ファイル内でデフォルト値が指定されている場合、このプロパティは任意です。リソース型ファイル内に Tunable 属性が指定されていない場合、このプロパティの Tunable 値は WHEN_DISABLED になります。

このプロパティが RTR ファイルに宣言され、かつ Default 属性が指定されていない場合、このプロパティは必須です。

カテゴリ:

条件付き

デフォルト:

デフォルトなし

調整:

WHEN_DISABLED

拡張プロパティ

そのリソースのタイプの RTR ファイルで宣言される拡張プロパティ。リソースタイプの実装によって、これらのプロパティを定義します。拡張プロパティに設定可能な各属性については、「リソースプロパティの属性」を参照してください。

カテゴリ:

条件付き

デフォルト:

デフォルトなし

調整:

特定のプロパティに依存

Failover_mode (列挙型)

NONESOFTHARD は、起動メソッド ( Prenet_start または Start) が失敗した場合、フェイルオーバー動作だけに影響を与えます。リソースがいったん正常に起動すると、NONESOFT HARD は、その後にリソースモニターが scha_control(1HA)scha_control(3HA) を使って行うリソース再起動やギブオーバー動作に対して何の影響も及ぼしません。NONE (デフォルト) は、メソッドの失敗時に RGM がリソース状態を設定し、ユーザーの介入を待つことを意味します。SOFT は、Start メソッドが失敗した場合、RGM がリソースのグループを別のノードに再配置することを意味します。Stop または Monitor_stop メソッドが失敗した場合、RGM は、リソースを Stop_failed 状態に、リソースグループを Error_stop_failed 状態にそれぞれ設定します。そして、ユーザーの介入を待ちます。Stop または Monitor_stop が失敗した場合の NONESOFT は同じ意味です。HARD は、Start メソッドが失敗した場合、RGM がグループを再配置することを意味します。Stop または Monitor_stop メソッドが失敗した場合、RGM はクラスターノードを放棄することによってリソースを停止します。HARDNONESOFT は、Start または Prenet_start メソッドが失敗した場合、フェイルオーバー動作に影響を与えます。

NONESOFTHARD とは異なり、RESTART_ONLYLOG_ONLY は、すべてのフェイルオーバー動作に影響を与えます。フェイルオーバー動作には、モニター起動 (scha_control) によるリソースやリソースグループの再起動や、リソースモニター (scha_control) によって開始されるギブオーバーなどがあります。 RESTART_ONLY は、モニターが scha_control を使ってリソースを再起動することはできますが、その後に scha_control を使ってリソースグループの再起動やギブオーバーをしようとすると失敗することを意味します。RGM では、Retry_interval の間に Retry_count 回数だけ再起動を試行できます。試行回数が Retry_count を超えると、それ以後、リソース再起動は許可されません。Failover_modeLOG_ONLY を設定すると、リソース再起動は許可されません。Failover_modeLOG_ONLY を設定するのは、 Failover_modeRESTART_ONLY を設定し、Retry_count にゼロを設定するのと同じことです。起動メソッドが失敗した場合、RESTART_ONLY LOG_ONLYNONE と同じことです。つまり、フェイルオーバーは起こりません。リソースは Start_failed 状態になります。

カテゴリ:

任意

デフォルト:

デフォルトなし

調整:

ANYTIME

Load_balancing_policy (文字列型)

使用する負荷均衡ポリシーを定義する文字列。このプロパティは、スケーラブルサービス専用です。RTR ファイルに Scalable プロパティが宣言されている場合、RGM は自動的にこのプロパティを作成します。Load_balancing_policy には次の値を設定できます。

Lb_weighted (デフォルト)。Load_balancing_weights プロパティで設定されているウエイトに従って、さまざまなノードに負荷が分散されます。

Lb_sticky。スケーラブルサービスの指定のクライアント (クライアントの IP アドレスで識別される) は、常に同じクラスタノードに送信されます。

Lb_sticky_wild。ワイルドスティッキーサービスの IP アドレスに接続する Lb_sticky_wild で指定されたクライアントの IP アドレスは、IP アドレスが到着するポート番号とは無関係に、常に同じクラスタノードに送られます。

カテゴリ:

条件付き/任意

デフォルト:

Lb_weighted

調整:

AT_CREATION

Load_balancing_weights (文字配列型)

このプロパティは、スケーラブルサービス専用です。RTR ファイルに Scalable プロパティが宣言されている場合、RGM は自動的にこのプロパティを作成します。形式は、「weight@node,weight@node」になります。ここで、weight は、指定したノード (node) に対する負荷分散の相対的な割り当てを示す整数になります。ノードに分散される負荷の割合は、すべてのウエイトの合計でこのノードのウエイトを割った値になります。たとえば、1@1,3@2 は、ノード 1 が負荷の 1/4 を受け取り、ノード 2 が 3/4 を受け取ることを指定します。空の文字列 (“”) は、負荷を均一に分散することを意味します (デフォルト)。明示的にウエイトを割り当てられていないノードのウエイトは、デフォルトで 1 になります。

Tunable 属性がリソースタイプファイルに指定されていない場合は、プロパティの Tunable 値は ANYTIME (任意の時点) になります。このプロパティを変更すると、新しい接続時にのみ分散が変更されます。

カテゴリ:

条件付き/任意

デフォルト:

空の文字列 (“”)

調整:

ANYTIME

method_timeout (この「タイプ」のコールバックメソッドごとの) (整数型)

RGM がメソッドの呼び出しに失敗したと判断するまでの時間 (秒)。

カテゴリ:

条件付き/任意

デフォルト:

RTR ファイルにメソッド自体が宣言されている場合は 3600 (1 時間)

調整:

ANYTIME

Monitored_switch (列挙型)

クラスタ管理者が管理ユーティリィティを使用してモニターを有効または無効にすると、RGM によって Enabled または Disabled に設定されます。Disabled に設定されると、再び有効に設定されるまで、モニターは Start メソッドを呼び出しません。リソースが、モニターのコールバックメソッドを持っていない場合は、このプロパティは存在しません。

カテゴリ:

照会のみ

デフォルト:

デフォルトなし

調整:

しない

Network_resources_used (文字配列型)

リソースが使用する論理ホスト名または共有アドレスネットワークリソースのリスト。スケーラブルサービスの場合、このプロパティは別のリソースグループに存在する共有アドレスリソースを参照する必要があります。フェイルオーバーサービスの場合、このプロパティは同じリソースグループに存在する論理ホスト名または共有アドレスを参照します。RTR ファイルに Scalable プロパティが宣言されている場合、RGM は自動的にこのプロパティを作成します。Scalable が RTR ファイルで宣言されていない場合、Network_resources_used は RTR ファイルで明示的に宣言されていない限り使用できません。

Tunable 属性がリソースタイプファイルに指定されていない場合は、プロパティの Tunable 値は、 AT_CREATION (作成時) になります。


注 –

CRNP を使用する場合のこのプロパティの設定方法については、SUNW.Event(5) のマニュアルページを参照してください。


カテゴリ:

条件付き/必須

デフォルト:

デフォルトなし

調整:

AT_CREATION

Num_resource_restarts (クラスタノードごとの) (整数型)

このプロパティは RGM によって設定されるため、ユーザーが直接設定することはできません。RGM は、scha_controlResource_restart、または Resource_is_restarted 呼び出しが、過去 n 秒間にこのノードでこのリソースに対して行われた回数をこのプロパティに設定します。n は、リソースの Retry_interval プロパティの値です。リソース再起動カウンタは、このリソースによって scha_control ギブオーバーが実行されるたびに、その成否とは関係なく RGM によってゼロにリセットされます。

リソース型が Retry_interval プロパティを宣言していない場合、この型のリソースに Num_resource_restarts プロパティを使用できません。

カテゴリ:

照会のみ

デフォルト:

デフォルトなし

調整:

No

Num_rg_restarts on each cluster node (整数型)

このプロパティは RGM によって設定されるため、ユーザーが直接設定することはできません。RGM は、scha_control Restart 呼び出しが、過去 n 秒間にこのノードでこのリソースによって、そのリソースを包含するリソースグループに対して行われた回数をこのプロパティに設定します。n はこのリソースの Retry_interval プロパティの値です。リソース型が Retry_interval プロパティを宣言していない場合、この型のリソースに Num_resource_restarts プロパティを使用できません。

カテゴリ:

説明を参照

デフォルト:

デフォルトなし

調整:

No

On_off_switch (列挙型)

クラスタ管理者が管理ユーティリィティを使用してリソースを有効または無効にすると、RGM によって Enabled または Disabled に設定されます。無効に設定されたリソースはオフラインにされます。再び有効にされるまでコールバックが呼び出されることはありません。

カテゴリ:

照会のみ

デフォルト:

デフォルトなし

調整:

しない

Port_list (文字配列型)

サーバーが待機するポートの番号リストです。ポート番号には、スラッシュ (/) と、そのポートで使用されるプロトコルが付加されます (たとえば、Port_list=80/tcpPort_list=80/tcp6,40/udp6 など)。プロトコルには、次のものを指定できます。

  • tcp (TCP IPv4)

  • tcp6 (TCP IPv6)

  • udp (UDP IPv4)

  • udp6 (UDP IPv6)

Scalable プロパティが RTR ファイルで宣言されている場合、RGM は自動的に Port_list を作成します。それ以外の場合、このプロパティは RTR ファイルで明示的に宣言されていないかぎり使用できません。

Apache 用にこのプロパティを設定する方法は、『Sun Cluster Data Service for Apache ガイド (Solaris OS 版)』を参照してください。

カテゴリ:

条件付き/必須

デフォルト:

デフォルトなし

調整:

AT_CREATION

R_description (文字列)

リソースの簡単な説明。

カテゴリ:

任意

デフォルト:

空の文字列

調整:

ANYTIME

Resource_dependencies (文字配列型)

このリソースが強く依存している、同じグループまたは異なるグループに属するリソースのリスト。このリソースを起動するためには、リストのすべてのリソースがオンラインになっていなければなりません。このリソースと、リストのリソースの 1 つが同時に起動されると、RGM は、リストのリソースが始動してからこのリソースを起動します。このリソースの Resource_dependencies リストにあるリソースが始動しない場合は、このリソースもオフラインのままです。リストのリソースが始動しない原因は、リストのリソースのリソースグループがオフラインであるか、リストのリソースが Start_failed 状態にあるためである可能性があります。このリソースが、異なるリソースグループの始動しないリソースに依存していることが原因でオフラインのままになっている場合、このリソースのグループは Pending_online_blocked 状態になります。

このリソースが、リストのリソースと同時にオフラインにされる場合は、このリソースが停止されてから、リストのほかのリソースが停止されます。ただし、このリソースがオンラインのままであったり、停止に失敗した場合でも、異なるリソースグループに属するリストのリソースは停止されます。このリソースが先に無効にならなければ、リスト内のリソースは無効にできません。

同じリソースグループ内では、デフォルトとして、アプリケーションリソースがネットワークアドレスリソースに対して暗黙的に強いリソース依存性を持っています。詳細は、「リソースグループのプロパティ」Implicit_network_dependencies を参照してください。

同じリソースグループ内では、依存性の順序に従って Prenet_start メソッドが Start メソッドより先に実行されます。同様に Postnet_stop メソッドは Stop メソッドより後に実行されます。異なるリソースグループ内では、依存されるリソースが Prenet_startStart を終了してから、依存するリソースが Prenet_start を実行します。同様に、依存するリソースが StopPostnet_stop を終了してから、依存されるリソースが Stop を実行します。

カテゴリ:

任意

デフォルト:

空のリスト

調整:

ANYTIME

Resource_dependencies_restart (文字配列型)

このリソースが再起動に関して依存している、同じグループまたは異なるグループに属するリソースのリスト。

このプロパティの機能は、次の点を除き Resource_dependencies と同じです。つまり、このプロパティでは、再起動依存リストのリソースが再起動されると、このリソースも再起動されます。このリソースの再起動は、リストのリソースがオンラインに復帰した後で行われます。

カテゴリ:

任意

デフォルト:

空のリスト

調整:

ANYTIME

Resource_dependencies_weak (文字配列型)

このリソースによる依存性が低い、同じグループまたは異なるグループに属するリソースのリスト。低い依存性によってメソッドの呼び出し順序が決まります。RGM は、リストのリソースの Start メソッドを呼び出してからこのリソースの Start メソッドを呼び出します。さらに、RGM は、このリソースの Stop メソッドを呼び出してからリストのリソースの Stop メソッドを呼び出します。リスト内のリソースが始動に失敗したりオフラインのままであっても、リソースは起動されます。

このリソースと、Resource_dependencies_weak リストのリソースが同時に起動されると、RGM は、リストのリソースが始動してからこのリソースを起動します。リストのリソースが始動しない場合でも (たとえば、リストのリソースのリソースグループがオフラインのままであったり、リストのリソースが Start_failed 状態である場合でも)、このリソースは起動されます。このリソースのリソースグループは、このリソースの Resource_dependencies_weak リストのリソースが始動する間、一時的に Pending_online_blocked 状態になることがあります。リストのすべてのリソースが始動するか始動に失敗すると、このリソースが起動され、そのグループが再び Pending_online 状態になります。

このリソースが、リストのリソースと同時にオフラインにされる場合は、このリソースが停止されてから、リストのほかのリソースが停止されます。このリソースがオンラインのままであったり、停止に失敗した場合でも、リストのリソースは停止されます。リストのリソースを無効にするためには、このリソースをまず無効にする必要があります。

同じリソースグループ内では、依存性の順序に従って Prenet_start メソッドが Start メソッドより先に実行されます。同様に Postnet_stop メソッドは Stop メソッドより後に実行されます。異なるリソースグループ (複数) 内では、依存されるリソースが Prenet_startStart を終了してから、依存するリソースが Prenet_start を実行します。同様に、依存するリソースが StopPostnet_stop を終了してから、依存されるリソースが Stop を実行します。

カテゴリ:

任意

デフォルト:

空のリスト

調整:

ANYTIME

Resource_name (文字列)

リソースインスタンスの名前です。この名前はクラスタ構成内で一意にする必要があります。リソースが作成されたあとで変更はできません。

カテゴリ:

必須

デフォルト:

デフォルトなし

調整:

しない

Resource_project_name (文字列 )

リソースに関連付けられた Solaris プロジェクト名。このプロパティは、CPU の共有、クラスタデータサービスのリソースプールといった Solaris のリソース管理機能に適用できます。RGM は、リソースをオンラインにすると、このプロジェクト名を持つ関連プロセスを起動します。このプロパティが指定されていない場合、プロジェクト名は、リソースが属しているリソースグループの RG_project_name プロパティから取得されます。rg_properties(5) を参照してください。どちらのプロパティも指定されなかった場合、RGM は事前定義済みのプロジェクト名 default を使用します。プロジェクトデータベース内に存在するプロジェクト名を指定する必要があります。また、root ユーザーは、このプロジェクトのメンバーとして構成されている必要があります。このプロパティは、Solaris 9 以降のバージョンでサポートされます。


注 –

このプロパティへの変更を有効にするためには、リソースを起動し直す必要があります。


カテゴリ:

任意

デフォルト:

Null

調整:

ANYTIME

Resource_state (各クラスタノードの) (列挙型)

RGM が判断した各クラスタノード上のリソースの状態。この状態には、Online OfflineStart_failedStop_failedMonitor_failedOnline_not_monitored StartingStopping があります。

ユーザーはこのプロパティを構成できません。

カテゴリ:

照会のみ

デフォルト:

デフォルトなし

調整:

しない

Retry_count (整数型)

起動に失敗したリソースをモニターが再起動する回数です。このプロパティは RGM によって作成されます。RTR ファイルに宣言されている場合にかぎり、管理者は使用を許可されます。デフォルト値が RTR ファイルに指定されている場合、Retry_count の指定は任意です。

リソース型ファイル内に Tunable 属性が指定されていない場合、このプロパティの Tunable 値は WHEN_DISABLED になります。

このプロパティが RTR ファイルに宣言され、かつ Default 属性が指定されていない場合、このプロパティは必須です。

カテゴリ:

条件付き

デフォルト:

デフォルトなし

調整:

WHEN_DISABLED

Retry_interval (整数型)

失敗したリソースを再起動するまでの秒数。リソースモニターは、このプロパティと Retry_count を組み合わせて使用します。このプロパティは RGM によって作成されます。RTR ファイルに宣言されている場合にかぎり、管理者は使用を許可されます。デフォルト値が RTR ファイルに指定されている場合、Retry_interval の指定は任意です。

リソース型ファイル内に Tunable 属性が指定されていない場合、このプロパティの Tunable 値は WHEN_DISABLED になります。

このプロパティが RTR ファイルに宣言され、かつ Default 属性が指定されていない場合、このプロパティは必須です。

カテゴリ:

条件付き

デフォルト:

デフォルトなし

調整:

WHEN_DISABLED

Scalable (ブール型)

リソースがスケーラブルであるかどうか、つまり、リソースが Sun Cluster のネットワーキング負荷分散機能を使用するかどうかを表します。

このプロパティが RTR ファイルで宣言されている場合は、そのタイプのリソースに対して、RGM は、次のスケーラブルサービスプロパティを自動的に作成します。 Affinity_timeoutLoad_balancing_policyLoad_balancing_weightsNetwork_resources_used Port_listUDP_affinityWeak_affinity 。これらのプロパティは、RTR ファイル内で明示的に宣言されない限り、デフォルト値を持ちます。RTR ファイルに Scalable が宣言されている場合、このプロパティのデフォルトは TRUE です。

RTR ファイルにこのプロパティが宣言されている場合、AT_CREATION 以外の Tunable 属性の割り当ては許可されません。

RTR ファイルにこのプロパティが宣言されていない場合、このリソースはスケーラブルではないため、このプロパティを調整することはできません。RGM は、スケーラビブルサービスプロパティをいっさい設定しません。ただし、RTR ファイルに明示的に Network_resources_used および Port_list プロパティを宣言できます。これらのプロパティは、スケーラブルサービスだけでなく、非スケーラブルサービスでも有用です。

このリソースプロパティと Failover リソースタイププロパティの組み合わせ、およびその説明は次の通りです。

このリソースプロパティと Failover リソースタイププロパティを併用する場合には、r_properties(5) のマニュアルページを参照してください。

カテゴリ:

任意

デフォルト:

デフォルトなし

調整:

AT_CREATION

Status (各クラスタノードの) (列挙型)

リソースモニターが scha_resource_setstatus(1HA)scha_resource_setstatus(3HA) を使って設定します。指定可能な値は、 OKdegradedfaultedunknown、および offline です。リソースがオンラインまたはオフラインにされると、RGM は Status 値を自動的に設定します。ただし、Status 値がリソースのモニターやメソッドによって設定される場合を除きます。

カテゴリ:

照会のみ

デフォルト:

デフォルトなし

調整:

しない

Status_msg (各クラスタノードの) (文字列型)

リソースモニターによって、Status プロパティと同時に設定されます。リソースがオンラインまたはオフラインにされると、RGM は自動的にこのプロパティを空文字列でリセットします。ただし、このプロパティがリソースのメソッドによって設定される場合を除きます。

カテゴリ:

照会のみ

デフォルト:

デフォルトなし

調整:

しない

Thorough_probe_interval (整数型)

高オーバーヘッドのリソース障害検証の呼び出し間隔 (秒)。このプロパティは RGM によって作成されます。RTR ファイルに宣言されている場合にかぎり、管理者は使用を許可されます。デフォルト値が RTR ファイルに指定されている場合、Thorough_probe_interval の指定は任意です。

リソース型ファイル内に Tunable 属性が指定されていない場合、このプロパティの Tunable 値は WHEN_DISABLED になります。

RTR ファイルのプロパティ宣言内に Default 属性が指定されていない場合、このプロパティは必須です。

カテゴリ:

条件付き

デフォルト:

デフォルトなし

調整:

WHEN_DISABLED

Type (文字列型)

このリソースがインスタントであるリソースタイプ。

カテゴリ:

必須

デフォルト:

デフォルトなし

調整:

しない

Type_version (文字列型)

現在このリソースに関連付けられているリソース型のバージョンを指定します。このプロパティは RTR ファイル内に宣言できません。したがって、RGM によって自動的に作成されます。このプロパティの値は、リソースタイプの RT_version プロパティと等しくなります。リソースの作成時、Type_version プロパティはリソースタイプ名の接尾辞として表示されるだけで、明示的には指定されません。リソースを編集する際に Type_version を新しい値に変更できます。

このプロパティの調整については、次の情報から判断されます。

  • 現在のリソースタイプのバージョン

  • RTR ファイル内の #$upgrade_from ディレクティブ

カテゴリ:

説明を参照

デフォルト:

デフォルトなし

調整:

説明を参照

UDP_affinity (ブール型)

true の場合、指定のクライアントからの UDP トラフィックはすべて現在クライアントの TCP トラフィックを処理しているサーバーノードに送信されます。

このプロパティは、Load_balancing_policyLb_sticky または Lb_sticky_wild の場合にかぎり有効です。さらに、Weak_affinityFALSE (デフォルト値) に設定されている必要があります。

このプロパティは、スケーラブルサービス専用です。

カテゴリ:

任意

デフォルト:

デフォルトなし

調整:

WHEN_DISABLED

Weak_affinity (ブール型)

true の場合、弱い形式のクライアントアフィニティが有効になります。弱い形式のクライアントアフィニティが有効になっている場合、特定のクライアントからの接続は、次の場合を除き、同じサーバーノードに送信されます。

  • 障害モニターの再起動や、リソースのフェイルオーバーまたはスイッチオーバー、障害後のノードとクラスタの再結合などが行われたことに対応してサーバーリスナーが起動する。

  • 管理アクションによってスケーラブルリソースの Load_balancing_weights が変更される。

弱いアフィニティはメモリーの消費とプロセッササイクルの点で、デフォルトの形式よりもオーバーヘッドを低く抑えられます。

このプロパティは、Load_balancing_policyLb_sticky または Lb_sticky_wild の場合にかぎり有効です。

このプロパティは、スケーラブルサービス専用です。

カテゴリ:

任意

デフォルト:

デフォルトなし

調整:

WHEN_DISABLED