Oracle Solaris Cluster リファレンスマニュアル

印刷ビューの終了

更新: 2015 年 9 月
 
 

gds (5)

名前

ORCL.gds, gds - 単純なネットワーク認識型およびネットワーク非認識型アプリケーションの可用性またはスケーラビリティーを向上させるためのリソースタイプ

説明

汎用データサービス (GDS: Generic Data Service) バージョン 2 は、単純なネットワーク認識型およびネットワーク非認識型アプリケーションを Oracle Solaris Cluster Resource Group Manager (RGM) フレームワークにプラグインすることにより、これらのアプリケーションの可用性またはスケーラビリティーを向上できるようにするためのメカニズムです。

GDSv2 には、コールバックメソッド (rt_callbacks(1HA)) やリソースタイプ登録 (RTR) ファイル (rt_reg(4)) を備えた、フル機能の Oracle Solaris Cluster リソースタイプが含まれています。

標準プロパティー

Boot_timeout (integer)

boot コマンドのタイムアウト値を秒単位で指定します。

カテゴリ

任意

最小

60 秒

デフォルト

300 秒

調整可能

すべての時間

Failover_mode (enum)

リソースが正常に開始または停止できなかった場合、またはリソースモニターが正常ではないリソースを検出し、その結果再起動またはフェイルオーバーを要求する場合に RGM が取る回復アクションを変更します。

failover_mode プロパティーの詳細は、r_properties(5) のマニュアルページを参照してください。

カテゴリ

任意

デフォルト

SOFT

調整可能

すべての時間

Fini_timeout (integer)

fini コマンドのタイムアウト値を秒単位で指定します。

カテゴリ

任意

最小

60 秒

デフォルト

300 秒

調整可能

すべての時間

Init_timeout (integer)

init コマンドのタイムアウト値を秒単位で指定します。

カテゴリ

任意

最小

60 秒

デフォルト

300 秒

調整可能

すべての時間

Monitor_start_timeout (integer)

monitor_start コマンドのタイムアウト値を秒単位で指定します。

カテゴリ

任意

最小

60 秒

デフォルト

300 秒

調整可能

すべての時間

Monitor_stop_timeout (integer)

monitor_stop コマンドのタイムアウト値を秒単位で指定します。

カテゴリ

任意

最小

60 秒

デフォルト

300 秒

調整可能

すべての時間

Retry_count (integer)

起動に失敗したリソースをモニターが再起動する回数です。

retry_count プロパティーの詳細は、r_properties(5) のマニュアルページを参照してください。

カテゴリ

条件付き

最大

10

デフォルト

2

調整可能

すべての時間

Retry_interval (integer)

失敗したリソースの再起動の間、この秒数だけ待機します。

retry_interval プロパティーの詳細は、r_properties(5) のマニュアルページを参照してください。

カテゴリ

条件付き

最大

3600

デフォルト

370 秒

調整可能

すべての時間

Scalable (boolean)

リソースがスケーラブルであるかどうか、つまり、リソースが Oralce Solaris Cluster ソフトウェアのネットワーキング負荷分散機能を使用することを示します。

scalable プロパティーが TRUE に設定されている場合は、load_balancing_policyload_balancing_weights などの追加プロパティーを使用して負荷分散動作を構成します。

scalableload_balancing_policyload_balancing_weights の各プロパティーの詳細は、r_properties(5) のマニュアルページを参照してください。

カテゴリ

任意

デフォルト

FALSE

調整可能

作成時

Start_timeout (integer)

start コマンドのタイムアウト値を秒単位で指定します。

カテゴリ

任意

最小

60 秒

デフォルト

300 秒

調整可能

すべての時間

Stop_timeout (integer)

stop コマンドのタイムアウト値を秒単位で指定します。

カテゴリ

任意

最小

60 秒

デフォルト

300 秒

調整可能

すべての時間

Thorough_probe_interval (整数)

リソースの障害プローブの呼び出し間隔 (秒数) を指定します。

thorough_probe_interval の詳細は、r_properties(5) のマニュアルページを参照してください。

カテゴリ

条件付き

最大

3600 秒

最小

60 秒

デフォルト

300 秒

調整可能

すべての時間

Update_timeout (integer)

update コマンドのタイムアウト値を秒単位で指定します。

カテゴリ

任意

最小

60 秒

デフォルト

300 秒

調整可能

すべての時間

Validate_timeout (integer )

validate コマンドのタイムアウト値を秒単位で指定します。

カテゴリ

任意

最小

60 秒

デフォルト

300 秒

調整可能

すべての時間

拡張プロパティー

Boot_command (string)

ノードまたはゾーンがブートまたはリブートされたときに実行されるコマンドを指定します。直接シェルに渡すことができる完全なコマンド行を指定してください。通常、このコマンドは init_command と同じ初期化を実行します。このコマンドが (前回の実行中にリソースを初期化している場合でも) 不変であることを確認する必要があります。このコマンドの以降の呼び出しは、正常に終了する必要があります。

カテゴリ

任意

デフォルト

Null

調整可能

無効時

Child_mon_level (integer)

プロセスモニター機能 (PMF) によってモニターされるプロセスを制御します。このプロパティーには、フォークされた子プロセスのモニターレベルを指定します。このプロパティーを省略したり、このプロパティーをデフォルト値に設定したりすると、pmfadm(1M)–C オプションを省略した場合と同じになり、すべての子 (およびその子孫) がモニターされます。

カテゴリ

任意

デフォルト

-1

調整可能

作成時

Debug_gds (boolean)

通常、Debug_gds は Oracle Solaris Cluster の開発およびサポートで使用されます。ただし、GDSv2 内で発生するさまざまな呼び出しおよびシーケンスを理解する際に立つことがあります。

debug_gds=FALSE が設定されている場合、GDSv2 の内部デバッグメッセージがシステムログに送信されません。

debug_gds=TRUE が設定されている場合、すべての GDSv2 の内部デバッグメッセージがシステムログに送信されます。

カテゴリ

任意

デフォルト

TRUE

調整可能

無効時

Debug_level (string)

トレースおよびデバッグのメッセージを設定するコマンドを指定します。debug_level を大きくすると、より多くのメッセージをシステムログに書き込むことができます。1 つのノードに設定するか、またはノードごとに異なる値を設定することによって、ノードごとの拡張プロパティーとして debug_level を設定できます。

カテゴリ

任意

Per Node

True

Data Type

整数

最小

0

最大

3

デフォルト

0

調整可能

すべての時間

Failover_enabled (boolean )

リソースのフェイルオーバーを許可します。プロパティーの値が False の場合、リソースのフェイルオーバーは無効です。このプロパティーを使用して、アプリケーションリソースによるリソースグループのフェイルオーバーを防ぐことができます。

カテゴリ

任意

デフォルト

True

調整可能

無効時


注 -  Failover_mode=RESTART_ONLY 設定は、Failover_enabled=FALSE 設定の動作と一致します。Failover_mode=LOG_ONLY 設定はさらに、リソースが再起動されないようにします。フェイルオーバー動作をより適切に制御するには、Failover_enabled 拡張プロパティーの代わりに Failover_mode プロパティーを使用します。詳細は、r_properties(5) にある Failover_modeLOG_ONLY および RESTART_ONLY 値の説明を参照してください。
Fini_command (string)

リソースが RGM による管理対象でなくなったときに実行されるコマンドを指定します。直接シェルに渡すことができる完全なコマンド行を指定してください。通常、このコマンドは一部のクリーンアップを実行するか、または init_command で実行された初期化を取り消します。このコマンドは、次の状況が発生したときにリソースが管理対象外になるノードまたはゾーン上で実行されます。

  • そのリソースを含むリソースグループの状態が管理対象外に切り替えられた。この場合、RGM はノードリスト内のすべてのノードおよびゾーン上で fini_command を実行する GDSv2 fini メソッドを実行します。

  • リソースが管理対象リソースグループから削除された。この場合、RGM はノードリスト内のすべてのノードおよびゾーン上で fini_command を実行する GDSv2 fini メソッドを実行します。

  • ノードまたはゾーンがリソースを含むリソースグループのノードリストから削除された。この場合、RGM はノードリスト内のすべてのノードおよびゾーン上で fini_command を実行する GDSv2 fini メソッドを実行します。

カテゴリ

任意

デフォルト

Null

調整可能

無効時

Init_command (string)

次の状況のいずれかが発生した結果として、リソースが RGM による管理対象になったときに実行されるコマンドを指定します。直接シェルに渡すことができる完全なコマンド行を指定してください。

  • そのリソースが配置されているリソースグループの状態が管理対象外から管理対象に切り替えられた。

  • リソースがすでに管理対象になっているリソースグループに作成された。

カテゴリ

任意

デフォルト

Null

調整可能

無効時

Interpose_logical_hostname (string)

ホスト名を取得するシステムコールが呼び出されるたびに挿入される論理ホスト名を指定します。次の操作が実行された場合にかぎり、論理ホストが挿入されます。

  • clreslogicalhostname(1CL) コマンドで、論理ホスト名に対応するリソースが作成された。

  • 論理ホストが自分のリソースと異なるリソースグループ内にある場合に、リソースに論理ホストリソースとの依存関係がある。

  • /usr/lib/secure/libschost.so.1 から /usr/cluster/lib/libschost.so.1 へのシンボリックリンクが作成されている必要があります。

  • /usr/lib/secure/64/libschost.so.1 から /usr/cluster/lib/[amd64|sparcv9]/libschost.so.1 へのシンボリックリンクが作成されている必要があります。

カテゴリ

任意

Per Node

TRUE

デフォルト

Null

調整可能

無効時

Monitor_retry_count

monitor_retry_interval プロパティーによって指定された時間枠内にプロセスモニター機能 (PMF) が障害モニターを再起動する回数。このプロパティーは、リソースではなく障害モニター自身の再起動を参照します。システム定義のプロパティー retry_interval および retry_count は、リソースの再起動を制御します。

カテゴリ

任意

データ型

整数

デフォルト

4

範囲

0 - 2147483647

-1 は、無限の再試行回数を示します。

調整可能

常時

Num_probe_timeouts (integer)

完全な障害が宣言される前にプローブタイムアウトが発生する可能性がある回数を指定します。

システムの負荷が高く、probe_timeout 値の期間内にプローブを完了できない場合、プローブタイムアウトが発生する可能性があります。また、チェック対象のアプリケーションが応答不能になった場合も、プローブタイムアウトが発生する可能性があります。

プローブタイムアウトが発生した場合、GDSv2 ではアプリケーションが実行中かどうかが認識されず、num_probe_timeouts に完全な障害を宣言することが遅延されます。したがって、num_probe_timeouts=2 の場合、GDSv2 が完全な障害を宣言するには、2 回の連続するプローブタイムアウトが発生する必要があります。完全な障害が宣言された場合、RGM は failover_mode プロパティーをチェックして、実行するアクションを決定します。

カテゴリ

任意

最小

1

デフォルト

2

調整可能

すべての時間

PMF_managed (boolean)

child_mon_level 拡張プロパティーの記載に従って、アプリケーションがプロセスモニター機能 (PMF) の制御下で起動されていることを確認します。モニター対象のプロセスがすべて終了すると、これらのプロセスはリソースプロパティー retry_count および retry_interval の設定に従って再起動されます。再試行回数を超過した場合、RGM は failover _mode プロパティーをチェックして、実行するアクションを決定します。

カテゴリ

任意

デフォルト

TRUE

調整可能

無効時

Probe_command (string)

ネットワーク認識型アプリケーションまたはネットワーク非認識型アプリケーションの健全性を定期的にチェックするコマンドを指定します。アプリケーションを検証するには、シェルに直接渡すことができる完全なコマンドを指定します。アプリケーションが正常に実行されていれば、検証コマンドは終了ステータスとして 0 を返します。

プローブコマンドの終了ステータスは、アプリケーションの障害の重大度を判断するために使用されます。終了ステータス (プローブステータス) は、0 (正常) から 100 (全面的な障害) までの整数になります。検証ステータスの値が 201 で、Failover_enabled の値が FALSE に設定されていなければ、アプリケーションのフェイルオーバーが行われます。

probe_command が設定されておらず、PMF_managed=TRUE が設定されている場合は、内部プローブが使用されます。すべてのアプリケーションプロセスに失敗した場合、このプローブはアプリケーションの PMF タグをチェックして、PMF を使用したアプリケーションの高速再起動を提供します。PMF_managed=FALSE が設定されている場合、probe_command エントリが必須です。

カテゴリ

任意

デフォルト

" "

調整可能

無効時

Start_command (string)

アプリケーションを起動するコマンドを指定します。直接シェルに渡すことができる完全なコマンドを指定してください。

PMF_managed=TRUE が設定されている場合、start コマンド (またはそれにフォークされる子プロセスのいずれか) は、実際にクライアントにサービスを提供する、長く実行されるプログラムあるいはデーモンである必要があります。child_mon_level 拡張プロパティーの記載に従って、start_command のプロセスツリーは PMF によってモニターされます。

カテゴリ

必須

最小

1

デフォルト

デフォルトなし

調整可能

無効時

Start_exit_on_error (boolean)

最初の試行でアプリケーションの起動に失敗した場合に、start_failed が宣言されるかどうかを指定します。

start_exit_on_error=FALSE が設定されている場合、アプリケーションは正常に起動するまで start_timeout の期間内で、できるだけ頻繁に起動されます。

start_exit_on_error=TRUE が設定されている場合、最初の試行でアプリケーションの起動に失敗すると、start_failed 状態が宣言されます。

カテゴリ

任意

デフォルト

FALSE

調整可能

無効時

Stop_command (string)

アプリケーションを停止するコマンドを指定します。直接シェルに渡すことができる完全なコマンド行を指定してください。

PMF_managed=TRUE が設定されている場合、stop_command を省略できます。stop_command が省略されている場合、stop_signal 拡張プロパティー値が PMF タグの下で実行されているアプリケーションプロセスに送信されます。PMF_managed=FALSE が設定されている場合、stop_command が必須です。

カテゴリ

任意

デフォルト

NULL

調整可能

無効時

Stop_exit_on_error (boolean)

アプリケーションの停止に失敗した場合に、stop_failed が宣言されるかどうかを指定します。

stop_exit_on_error=TRUE=TRUE が設定されている場合、アプリケーションの停止に失敗すると、stop_failed が宣言されます。

stop_exit_on_error=FALSE が設定されている場合、アプリケーションの停止に失敗すると、PMF_managed 拡張プロパティーがチェックされます。PMF_managed=TRUE が設定されている場合、stop_signal 拡張プロパティー値が、PMF タグの下で実行されているアプリケーションプロセスに送信されます。PMF_managed=FALSE が設定されている場合、アプリケーションの停止に失敗すると、stop_failed が宣言されます。

カテゴリ

任意

デフォルト

FALSE

調整可能

無効時

Stop_signal (integer)

PMF_managed=TRUE が設定された場合に、stop_command を使用したアプリケーションの停止に失敗したときにアプリケーションを停止するシグナルを指定します。このプロパティーの値は、signal(3HEAD) のマニュアルページに定義されているものと同じです。

カテゴリ

任意

最小

1

最大

37

デフォルト

15

調整可能

無効時

Timeout_delay (boolean)

GDSv2 プローブは、タイムアウトクロックの下で probe_command を実行し、fork(2) および exec(2) の呼び出しを使用して probe_command を新しいプロセスとして実行します。負荷の高いシステムでは、子プロセスがフォークされる時点から子プロセスが probe_command を実行する時点まで、数秒間の遅延が発生する可能性があります。

timeout_delay=FALSE が設定されている場合、子プロセスがフォークされるとすぐに、タイムアウトクロックが開始されます。

timeout_delay=TRUE が設定されている場合、子プロセスの実行が開始されたときにはじめて、タイムアウトクロックが開始されます。

どちらの設定にも利点があるため、timeout_delay を設定したときの影響を考慮するようにしてください。

システムの負荷が高い場合は、RGM が failover_mode プロパティーを照会することでアプリケーションの回復を試みることができるように、プローブタイムアウトを発生させるようにしてください。この場合、負荷の高いシステムでは timeout_delay=FALSE が適切な設定であり、デフォルト設定にもなっています。

システムの負荷が高く、Probe_command の実行が開始されたときにはじめてタイムアウトクロックが開始されることを保証する場合は、timeout_delay=TRUE が適切な設定です。ただし、プローブタイムアウトが引き続き発生しない保証はありません。代わりに、probe_command の実行が開始されるまで、タイムアウトクロックが遅延されるだけです。probe_command が完了処理中の場合に、タイムアウトクロックが開始されると、プローブタイムアウトが引き続き発生する可能性があります。

プローブタイムアウトが発生した場合、障害は GDSv2 に返されます。デフォルトでは、num_probe_timeouts=2 が設定されている場合、2 回の連続するプローブタイムアウトが発生すると完全な障害となります。GDSv2 によって完全な障害が返されると、RGM は Failover_mode プロパティーを照会して、実行するアクションを決定します。

カテゴリ

任意

デフォルト

FALSE

調整可能

すべての時間

Validate_command (string)

アプリケーションを検証するコマンドへの絶対パスを指定します。絶対パスを指定しない場合、アプリケーションは検証されません。

validate コマンドの終了ステータスは、GDSv2 リソースの作成または更新を許可するべきかどうかを決定するのに使用されます。指定された validate コマンドは、リソースを作成または更新する前に、そのリソースを含むリソースグループのノードリストにある各ノードで実行されます。validate コマンドがゼロ以外で終了した場合、要求されたリソースの作成または更新は許可されません。validate コマンドが stdout または stderr に書き込んだ出力は、リソースを作成または更新するための管理コマンドを発行したユーザーに戻されます。このような出力を使用すると、リソースの検証が失敗した理由を説明できます。

検証コマンドはまた、リソースグループを新しいノードに再配置するために scha_control コマンドの GIVEOVER オプションを実行する前にも実行されます。このコマンドがゼロ以外で終了した場合、GIVEOVER はブロックされ、リソースグループは引き続き現在のノードをマスターとします。

カテゴリ

任意

デフォルト

NULL

調整可能

無効時

Wait_for_online (boolean)

wait_for_online=TRUE が設定されている場合、start_command が試みられると probe_command が発行されます。probe_command でゼロの終了ステータスが返された場合、アプリケーションは使用可能とみなされ、リソースはオンライン状態になります。

wait_for_online=FALSE が設定されている場合、start_command が試みられても probe_command は発行されません。start_command がゼロの終了ステータスで終了した場合、リソースはオンライン状態になります。それ以外の場合、リソースは start_failed 状態になります。

probe_command が設定されておらず、PMF_managed=TRUE が設定されている場合は、probe_command でダミープローブが使用されます。このダミープローブは、関連付けられた PMF タグが存在するかどうかをチェックするだけです。

カテゴリ

任意

デフォルト

TRUE

調整可能

無効時

Wait_probe_limit (integer)

この拡張プロパティーは、wait_for_online=TRUE が設定されている場合にのみ使用されます。

wait_for_online=TRUE が設定されている場合、start_timeout の期間内に start_command が試みられると、または probe_command でゼロの終了ステータスが返されるまで、probe_command が実行されます。それ以外の場合、2 秒ごとに probe_command が試みられます。デフォルトでは、start_timeout=300 が設定されているため、probe_command は正常に実行されるまで何回も試みられます。

wait_probe_limit を使用すると、start_timeout の期間内に probe_command が実行される回数を制限できます。

  • wait_probe_limit=0 が設定されている場合、probe_command でゼロの終了ステータスが返されるまで、start_timeout の期間内に probe_command が試みられます。それ以外の場合、RGM が START タイムアウトを宣言するまで、probe_command の試行が続行されます。

  • wait_probe_limit=1 が設定されている場合、start_timeout の期間内に probe_command が 1 回だけ試みられます。probe_command でゼロの終了ステータスが返された場合、リソースはオンライン状態になります。それ以外の場合、リソースは start_failed 状態になります。同様に、wait_probe_limit=8 が設定されている場合、start_timeout の期間内に probe_command が最大で 8 回試みられます。probe_command でゼロの終了ステータスが返された場合、リソースはオンライン状態になります。それ以外の場合、リソースは start_failed 状態になります。

カテゴリ

任意

最小

0

デフォルト

0

調整可能

無効時

デモアプリケーションの構成

次の例では、「sleep 1800 &」という提供されたデモアプリケーションを使用します。GDSv2 デモアプリケーションの詳細は、Oracle Solaris Cluster Generic Data Service (GDS) Guide を参照してください。

# clresourcegroup create -p pathprefix=/opt/ORCLscgds/demo myrg
# clresource create -g myrg -t ORCL.gds \
# -p Start_command="%RG_PATHPREFIX/demo_start -R %RS_NAME -G %RG_NAME -T %RT_NAME" \
# -p Stop_command="%RG_PATHPREFIX/demo_stop -R %RS_NAME -G %RG_NAME -T %RT_NAME" \
# -p Probe_command="%RG_PATHPREFIX/demo_probe -R %RS_NAME -G %RG_NAME -T %RT_NAME" \
# -p Validate_command="%RG_PATHPREFIX/demo_validate -R %RS_NAME -G %RG_NAME \
# -T %RT_NAME" -d myrs
# clresourcegroup online -eM myrg
# clresource status myrs

属性

次の属性については、attributes(5) を参照してください。

属性タイプ
属性値
使用条件
ha-cluster/ha-service/gds2

関連項目

ORCL.gds_proxy(5), clreslogicalhostname(1CL ), clresource(1CL), clresourcegroup(1CL), clresourcetype(1CL), clressharedaddress(1CL), rt_callbacks(1HA), scdsbuilder(1HA), scha_control(1HA), scha_resource_get(1HA), hatimerun(1M), pmfadm(1M), signal(3HEAD), rt_reg(4), attributes(5), r_properties(5), scalable_service(5)