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

印刷ビューの終了

更新: 2015 年 9 月
 
 

SUNW.gds (5)

名前

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

説明

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

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

標準プロパティー

Failover_mode (enum)

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

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

カテゴリ

任意

デフォルト

SOFT

調整可能

すべての時間

Network_resources_used (string array)

このリソースが依存関係を持っている論理ホスト名または共有アドレスネットワーク資源のリスト。このリストには、プロパティー Resource_dependenciesResource_dependencies_weakResource_dependencies_restart、または Resource_dependencies_offline_restart にあるすべてのネットワークアドレスリソースが含まれます。

このプロパティーは、リソース依存関係プロパティーの設定に基づいて、RGM により自動的に更新されます。このプロパティーを直接設定することはありません。その代わりに、Resource_dependencies プロパティーを使用します。

カテゴリ

条件付き/任意

デフォルト

空のリスト

調整可能

無効時

Port_list (string array)

アプリケーションが待機するポート番号をコンマで区切ったリストで指定します。r_properties(5) のマニュアルページを参照してください。

Port_list プロパティーは、Agent Builder が生成する起動スクリプトか、clresource コマンド (Oracle Solaris Cluster 管理コマンドを使用する場合) に指定されていなければなりません。


注 -  Network_aware プロパティーが False に設定されている場合、Port_list は不要です。

各ポート番号には、スラッシュ (/) と、Port_list=80/tcpPort_list=80/tcp6,40/udp6 などのそのポートで使用されるプロトコルが付加されます。

    プロトコルには、次の値を指定できます。

  • tcp (TCP IPv4)

  • tcp6 (TCP IPv6)

  • udp (UDP IPv4)

  • udp6 (UDP IPv6)

カテゴリ

条件付き/必須

デフォルト

デフォルトなし

調整可能

すべての時間

Resource_dependencies (string array)

リソースが依存するリソースのリストを指定します。このリストには、リソースが使用するすべての論理ホスト名または共有アドレスネットワーク資源が含まれます。このプロパティーのデフォルト値は null です。Network_aware プロパティーが true に設定されている場合は、このプロパティーの値として、アプリケーションが待機している論理ホスト名または共有アドレスネットワーク資源を設定します。

GDS リソースを作成する前には、LogicalHostname または SharedAddress リソースがすでに構成されている必要があります。

リソース名は 1 つでも複数でも指定できます。各ネットワーク資源には 1 つまたは複数の論理ホスト名を指定できます。詳細は、clreslogicalhostname(1CL ) および clressharedaddress(1CL) のマニュアルページを参照してください。

Resource_dependencies プロパティーの代わりに、Resource_dependencies_weakResource_dependencies_restart、または Resource_dependencies_offline_restart プロパティーを使用すると、ほかの種類の依存関係も指定できます。詳細は、r_properties(5) のマニュアルページを参照してください。

カテゴリ

任意

デフォルト

空のリスト

調整可能

すべての時間

Retry_count (integer)

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

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

カテゴリ

条件付き

デフォルト

2

調整可能

すべての時間

Retry_interval (integer)

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

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

カテゴリ

条件付き

デフォルト

370 秒

調整可能

すべての時間

Scalable (boolean)

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

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

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

カテゴリ

任意

デフォルト

FALSE

調整可能

作成時

Start_timeout (integer)

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

カテゴリ

任意

最小

60 秒

デフォルト

300 秒

調整可能

すべての時間

Stop_timeout (integer)

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

カテゴリ

任意

最小

60 秒

デフォルト

300 秒

調整可能

すべての時間

Validate_timeout (integer )

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

カテゴリ

任意

最小

60 秒

デフォルト

300 秒

調整可能

すべての時間

拡張プロパティー

Child_mon_level (integer)

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

カテゴリ

任意

デフォルト

-1

調整可能

作成時

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 値の説明を参照してください。
Log_level (enum)

GDS によってログに記録される診断メッセージのレベル (つまり、種類) を指定します。None Info、または Err のいずれかを指定できます。None を指定した場合、GDS によって診断メッセージは記録されません。Info を指定した場合、情報メッセージとエラーメッセージが記録されます。Err を指定した場合、エラーメッセージだけが記録されます。

カテゴリ

任意

デフォルト

Info

調整可能

すべての時間

Monitor_retry_count

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

カテゴリ

任意

データ型

整数

デフォルト

4

範囲

0 - 2147483647

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

調整可能

常時

Monitor_retry_interval

障害モニターの障害が発生している時間 (分)。障害モニターで障害が発生した回数が、この期間内で拡張プロパティー Monitor_retry_count で指定した値を超過すると、PMF は障害モニターを再起動しません。

カテゴリ

任意

データ型

整数

デフォルト

2

範囲

0 - 2147483647

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

調整可能

常時

Network_aware (boolean)

このプロパティーは、アプリケーションがネットワークを使用するかどうかを指定します。

カテゴリ

任意

デフォルト

True

調整可能

作成時

Probe_command (string)

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

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

検証ステータスは、GDS 検証アルゴリズム内で使用され、アプリケーションをローカルで再起動するか別のノードにフェイルオーバーするかを決定します。probe コマンドを省略した場合は、GDS 自身が、ネットワーク資源上のアプリケーションに接続する単純な検証手段を提供します。GDS は、接続に成功すると、接続をただちに切り離します。接続と接続の切断が両方とも正常なら、アプリケーションは正常に動作しているものとみなされます。

GDS では、ネットワーク非認識型アプリケーションに対する「デフォルトの」プローブ動作は提供されません。ただし、ネットワーク非認識型アプリケーションは、アプリケーションをモニターし、障害が発生した場合はアプリケーションを再起動する PMF の下で起動されます。詳細は、pmfadm(1M) のマニュアルページを参照してください。

カテゴリ

任意

デフォルト

NULL

調整可能

無効時

Probe_timeout (integer)

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

カテゴリ

任意

最小

2 秒

デフォルト

30 秒

調整可能

すべての時間

Start_command (string)

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

起動コマンド、またはそれにフォークされる子プロセスは、デーモンのように長く実行され、クライアントにサービスを実際に提供するプログラムである必要があります。起動コマンドのプロセスツリーはプロセスモニター機能 (PMF) によってモニターされます (Child_mon_level 拡張プロパティーを参照)。このようにモニターされているプロセスが終了すると、これらのプロセスは、リソースプロパティー Retry_count Retry_interval の設定に従って再起動されます。再試行の回数を超えると、そのリソースグループを異なるノードに再配置することが試みられます。

起動コマンド (または、その子プロセス) が返す終了ステータスは無視されます。

カテゴリ

必須

最小

1

デフォルト

デフォルトなし

調整可能

無効時

Stop_command (string)

アプリケーションを停止するコマンドを指定します。直接シェルに渡すことができる完全なコマンドを指定してください。このプロパティーを指定しない場合、または停止コマンドがゼロ以外で終了した場合は、GDS はシグナルを使用して、このアプリケーションを停止します。

カテゴリ

任意

デフォルト

NULL

調整可能

無効時

Stop_signal (integer)

アプリケーションを停止するシグナルを指定します。このプロパティーの値は、signal(3HEAD) に定義されているものと同じです。

カテゴリ

任意

最小

1

最大

37

デフォルト

15

調整可能

無効時

Validate_command (string)

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

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

検証コマンドは、gds リソースがオンラインになるときに、Start_command 拡張プロパティーを実行する前にも実行されます。検証コマンドがゼロ以外で終了した場合、起動の失敗として扱われます。

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

カテゴリ

任意

デフォルト

NULL

調整可能

無効時

次では、GDS を使ってapp という名前のアプリケーションを高可用性アプリケーションにする例を紹介します。また、Oracle Solaris Cluster Agent Builder (scdsbuilder(1HA)) を使用して、これらのコマンドを含むスクリプトを作成することもできます。

基本的な例

この例は、SUNW.gds リソースタイプの登録、アプリケーションのリソースグループの作成、論理ホスト hhead のリソース LogicalHostname の作成、ネットワーク認識型アプリケーションリソースの作成、リソースグループの管理、すべてのリソースの有効化、リソースのオンライン化を行う方法を示しています。

この時点で、このアプリケーションは起動し、高可用性になり、GDS により指定された単純な検証プログラムによってモニターされます。これでアプリケーションのステータスをチェックできるようになります。

# clresourcetype register SUNW.gds
# clresourcegroup create rg1
# clreslogicalhostname create -g rg1 -h hhead
# clresource create -g rg1 -t SUNW.gds \
-p Start_command="/usr/local/app/bin/start" \
-p Port_list="1234/tcp" -p Network_aware=True \
-p Resource_dependencies=hhead app-rs
# clresourcegroup online -M rg1
# clresourcegroup status +

複雑な例

この例は、SUNW.gds リソースタイプの登録、アプリケーションのリソースグループの作成、論理ホスト hhead のリソース LogicalHostname の作成、ネットワーク認識型アプリケーションリソースの作成、エラーメッセージのみの記録、リソースグループの管理、すべてのリソースの有効化、リソースのオンライン化を行う方法を示しています。

この時点で、このアプリケーションは起動し、高可用性になり、Probe_command により指定された障害モニターによってモニターされます。これでアプリケーションのステータスをチェックできるようになります。

# clresourcetype register SUNW.gds
# clresourcegroup create rg1
# clreslogicalhostname create -g rg1 -h hhead
# clresource create -g rg1 -t SUNW.gds \
-p Start_command="/usr/local/app/bin/start" \
-p Stop_command="/usr/local/app/bin/stop" \
-p Validate_command="/usr/local/app/bin/config" \
-p Probe_command="/usr/local/app/bin/probe" \
-p stop_signal=9 -p failover_enabled=FALSE \
-p Start_timeout=120 -p Stop_timeout=180 \
-p Port_list="1234/tcp" -p Probe_timeout=60 \
-p Network_aware=True \
-p Validate_timeout=120 -p Log_level=Err \
-p Resource_dependencies=hhead app-rs
# clresourcegroup online -M rg1
# clresourcegroup status +

属性

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

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

関連項目

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)