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

印刷ビューの終了

更新: 2014 年 7 月、E51742-01
 
 

scha_control (1HA)

名前

scha_control - リソースおよびリソースグループ制御を要求する

形式

scha_control -O optag -G group -R resource [-Z zonename]

説明

scha_control コマンドは、クラスタの Resource GroupManager (RGM) の制御下にあるリソースまたはリソースグループの再起動または再配置を要求します。このコマンドは、リソースモニターのシェルスクリプト実装で使用します。このコマンドは、scha_control(3HA) 関数と同じ機能を提供します。

このコマンドの終了コードは、要求されたアクションが拒絶されたかどうかを示します。要求が受理された場合、このコマンドは、リソースグループまたはリソースがオフラインになったあと完全にオンラインに戻った時点で終了します。scha_control(1HA) を呼び出した障害モニターは、リソースまたはリソースグループがオフラインになった結果として停止される場合があります。結果として、障害モニターは、成功した要求の戻りステータスを一度も受け取らない場合があります。

このコマンドを使用するには solaris.cluster.resource.admin の役割に基づくアクセス制御 (RBAC) が必要です。rbac(5) を参照してください。

さらにこのコマンドを使用するにあたっては、Oracle Solaris Cluster コマンド権プロファイルを割り当てておく必要があります。認証されたユーザーは、pfsh(1)pfcsh(1)、または pfksh(1) プロファイルシェルから、Oracle Solaris Cluster の特権コマンドをコマンド行で実行できます。プロファイルシェルは、Oracle Solaris Cluster コマンド権プロファイルに割り当てられた Oracle Solaris Cluster の特権コマンドへのアクセスを可能にする特別なシェルです。プロファイルシェルは、su(1M) を実行して役割を引き受けると起動されます。pfexec(1) を使用しても、Oracle Solaris Cluster の特権コマンドを実行できます。

オプション

次のオプションがサポートされています。

–G group

再起動または再配備するリソースグループ、あるいは再起動または再配置するリソースを含むリソースグループの名前。リクエスト元ノードでリソースグループがオンラインになっていない場合、リクエストは拒否されます。

–O optag

optag オプションをリクエストします。


注 -  CHECK_GIVEOVERCHECK_RESTART などの optag オプションには、大文字と小文字の区別はありませんoptag オプションを指定するときには、大文字と小文字の任意の組み合わせを使用できます。

次の optag 値がサポートされています。

CHANGE_STATE_OFFLINE

–R オプションで指定されたプロキシリソースがローカルノードでオフラインになるようにリクエストします。プロキシリソースは、リソースの状態を Oracle Clusterware などの別のクラスタからインポートする Oracle Solaris Cluster リソースです。Oracle Solaris Cluster ソフトウェアのコンテキスト内での、状態のこの変化には、外部リソースの状態の変化が反映されます。

プロキシリソースの状態をこの optag 値で変更すると、プロキシリソースのメソッドは実行されません。

ノード上にある「依存先の」リソースで障害が発生して、リソースを回復できない場合、モニターはそのノード上のそのリソースをオフラインにします。モニターは CHANGE_STATE_OFFLINE optag 値を指定して scha_control コマンドを呼び出すことでリソースをオフラインにします。また、モニターは、依存先リソースのオフライン、再起動に従属する対象をすべて、それらに対して再起動をトリガーすることにより、オフラインにします。クラスタ管理者が障害を解決し、依存先のリソースを再度有効にすると、モニターは、リソースのオフライン再起動依存リソースも再度オンラインにします。

CHANGE_STATE_ONLINE

–R オプションで指定されたプロキシリソースがローカルノードでオンラインになるようにリクエストします。プロキシリソースは、リソースの状態を Oracle Clusterware などの別のクラスタからインポートする Oracle Solaris Cluster リソースです。Oracle Solaris Cluster ソフトウェアのコンテキスト内での、状態のこの変化には、外部リソースの状態の変化が反映されます。

プロキシリソースの状態をこの optag 値で変更すると、プロキシリソースのメソッドは実行されません。

CHECK_GIVEOVER

–G オプションで指定されたリソースグループに対して GIVEOVER を実行するために必要な有効性チェックをすべて実行します。ただし、実際にリソースグループを再配置することはありません。

CHECK_RESTART

–G オプションで指定されたリソースグループに対して RESTART を実行するために必要な有効性チェックをすべて実行します。ただし、実際にリソースグループを再起動することはありません。

GIVEOVER

–G オプションで指定されたリソースグループをローカルノード上でオフラインにし、RGM によって選択された別のノード上で再度オンラインにするようにリクエストします。リソースグループが 2 つ以上のノード上で現在オンライン状態にあり、これ以上リソースグループをオンライン化できるノードが存在しない場合、このリソースグループは、ローカルノード上でオフラインになったままオンラインにならない可能性があります。またこうした処理要求は、各種のチェックの結果を受けた結果として、拒絶される場合もあります。たとえば、あるノード上で GIVEOVER リクエストにより、グループが PINGPONG_INTERVAL プロパティーで指定された間隔でオフラインになったために、このノードがホストとして拒絶されることがあります。

クラスタ管理者が 1 つまたは複数のリソースグループの RG_Affinities プロパティーを構成している場合、あるリソースグループで scha_control GIVEOVER 要求を発行すると、複数のリソースグループが再配置されることがあります。RG_Affinities プロパティーは、rg_properties(5) で説明されています。

MONITOR_CHECK メソッドは、リソースを含むリソースグループが障害モニターからの scha_control コマンドまたは scha_control() 関数の呼び出しの結果として新しいノードに再配置される前に呼び出されます。

MONITOR_CHECK メソッドは、リソースグループの潜在的な新しいマスターであるノード上で呼び出すことができます。MONITOR_CHECK メソッドは、リソース実行するのに十分なほど健全であるかどうかを評価します。MONITOR_CHECK メソッドは、並行して実行されるほかのメソッドと衝突しない方法で実装する必要があります。

MONITOR_CHECK が失敗した場合、コールバックが呼び出されたノードへのリソースグループの再配置は拒否されます。

IGNORE_FAILED_START

現在実行中の Prenet_start または Start メソッドが失敗した場合、Failover_mode プロパティーの設定とは関係なく、リソースグループをフェイルオーバーしないようにリクエストします。

言い換えると、この optag 値は、Failover_Mode プロパティーが SOFT または HARD に設定されているリソースに対して、通常、そのリソースが起動に失敗したときに行われる回復アクションを無効にします。通常、リソースグループは異なるノードにフェイルオーバーします。ところが、(この値が設定されている場合)、リソースは Failover_ModeNONE に設定されているかのように動作します。このリソースは START_FAILED 状態になり、その他のエラーが発生していない場合、リソースグループは ONLINE_FAULTED 状態で終了します。

この optag 値は、0 以外の終了コードまたはタイムアウトで終了する Start または Prenet_start メソッドから呼び出された場合にのみ有効です。また、この optag 値は、現在の Start または Prenet_start メソッドの呼び出しに対してのみ有効です。Start メソッドにより、リソースを別のノード上で正常に起動できないと判断された場合は、この optag 値を指定して scha_control コマンドを呼び出すようにしてください。この optag 値がその他のメソッドによって呼び出された場合、SCHA_ERR_INVAL エラーが返されます。この optag 値により、発生するはずのリソースグループの「ping pong」フェイルオーバーが行われません。

RESOURCE_DISABLE

–R オプションで指定されたリソースを scha_control コマンドが呼び出されるノードで無効にします。

ノード上にある「依存先の」リソースで障害が発生して、リソースを回復できない場合、モニターはそのノード上のそのリソースをオフラインにします。モニターは、scha_control コマンドを RESOURCE_DISABLE optag 値とともに呼び出して、リソースをオフラインにします。また、モニターは、依存先リソースのオフライン、再起動に従属する対象をすべて、それらに対して再起動をトリガーすることにより、オフラインにします。クラスタ管理者が障害を解決し、依存先のリソースを再度有効にすると、モニターは、リソースのオフライン再起動依存リソースも再度オンラインにします。

RESOURCE_IS_RESTARTED

–R オプションで指定したリソースのリソース再起動カウンタを、実際にリソースを再起動することなく、ローカルノード上で増分するようにリクエストします。

scha_controlRESOURCE_RESTART オプションを呼び出すことなく (たとえば、pmfadm(1M) を使用して) リソースを直接再起動するリソースモニターは、このオプションを使用して、リソースが再起動されたことを RGM に通知できます。この増分は、scha_resource_get(1HA) の後続の NUM_RESOURCE_RESTARTS クエリーで反映されます。

リソースタイプが RETRY_INTERVAL 標準プロパティーの宣言に失敗した場合、scha_control コマンドの RESOURCE_IS_RESTARTED オプションは使用できなくなります。その結果、scha_control コマンドは失敗し、終了ステータスコード 13 (SCHA_ERR_RT) を生成します。

RESOURCE_RESTART

–R オプションで指定したリソースをオフラインにし、リソースグループ内のその他のリソースを停止することなく、ローカルノード上で再度オンラインにするようリクエストします。リソースの停止と起動は、ローカルノード上で次の順序でメソッドを適用することで行われます:

MONITOR_STOP
STOP
START
MONITOR_START

リソースタイプが STOP メソッドおよび START メソッドを宣言していない場合は、代わりに POSTNET_STOP および PRENET_START を使用してリソースが再起動されます。

MONITOR_STOP
POSTNET_STOP
PRENET_START
MONITOR_START

リソースタイプが MONITOR_STOP メソッドおよび MONITOR_START メソッドを宣言していない場合、STOP メソッドと START メソッド、または POSTNET_STOP メソッドと PRENET_START メソッドだけが呼び出され、再起動が実行されます。

リソースの再起動時にメソッドの呼び出しに失敗した場合、RGM はリソースの FAILOVER_MODE プロパティーの設定に応じて、エラー状態の設定、リソースグループの再配置、またはノードのリブートを実行します。詳細は、r_properties(5)FAILOVER_MODE プロパティーを参照してください。

このオプションを使用してリソースを再起動するリソースモニターは、scha_resource_get(1HA)NUM_RESOURCE_RESTARTS クエリーを使用して、再起動を試みた最近の回数を追跡できます。

RESOURCE_RESTART 関数は、PRENET_STARTPOSTNET_STOP、またはこの両方のメソッドを持つリソースタイプによって使用されなければなりません。こうしたリソースに対して使用できるのは MONITOR_STOPSTOPSTARTMONITOR_START のメソッドのみです。このリソースが依存するネットワークアドレスリソースは再起動されず、オンライン状態のままになります。

ノード上にある「依存先の」リソースで障害が発生して、リソースを回復できない場合、モニターはそのノード上のそのリソースをオフラインにします。モニターは RESOURCE_RESTART optag 値を指定して scha_control コマンドを呼び出すことでリソースをオフラインにします。また、モニターは、依存先リソースのオフライン、再起動に従属する対象をすべて、それらに対して再起動をトリガーすることにより、オフラインにします。クラスタ管理者が障害を解決し、依存先のリソースを再度有効にすると、モニターは、リソースのオフライン再起動依存リソースも再度オンラインにします。

RESTART

–G オプションで指定したリソースグループをオフラインにし、別のノードに再配置することなく再度オンラインにするようにリクエストします。ただし、この要求を実行する際にグループ内のリソースの再起動が失敗した場合は、最終的にリソースグループが再配置されることもあります。このオプションを使用してリソースグループを再起動するリソースモニターは、scha_resource_get(1HA)NUM_RG_RESTARTS クエリーを使用して、再起動を試みた最近の回数を追跡できます。

CHECK_GIVEOVERCHECK_RESTARToptag 値は、ギブオーバーや再起動を実行する際、scha_control コマンドを呼び出すのではなく、リソースに対して直接的なアクション (プロセスの強制終了と再起動、ノードのリブートなど) を取るリソースモニターによって使用されます。チェックに失敗した場合、モニターは、再起動やフェイルオーバーのアクションを呼び出す代わりに、しばらく休止したあと検証を再開します。詳細は、scha_control(3HA) を参照してください。

–R resource

リソースグループ内のリソースの名前で、このリソースはおそらく、そのモニターが scha_control(1HA) 要求を行っていたものです。指定されたリソースがリソースグループ内に存在しない場合、要求は拒否されます。

指示されたリソースの Failover_mode プロパティーの設定は、要求された scha_control アクションを抑制する場合があります。Failover_modeRESTART_ONLY である場合、scha_control GIVEOVERscha_control CHECK_GIVEOVER を除くすべての要求が許可されます。GIVEOVER 要求および CHECK_GIVEOVER 要求は SCHA_ERR_CHECKS 終了コードを返し、要求されたギブオーバーアクションは実行されず、syslog メッセージのみを作成します。

Retry_count プロパティーと Retry_interval プロパティーがリソースで設定されている場合、リソース再起動の回数は Retry_interval 内での Retry_count の試行回数に制限されます。Failover_modeLOG_ONLY である場合、任意の scha_control ギブオーバー、再起動、または無効の要求は SCHA_ERR_CHECKS 終了コードを返し、また要求されたギブオーバーまたは再起動アクションは実行されず、syslog メッセージのみを作成します。

–Z zonename

リソースグループが実行を構成されているゾーンの名前です。

Global_zone プロパティーに TRUE が設定されている場合、リソースを含むリソースグループが非大域ゾーンで動作しているときでも、メソッドは大域ゾーンで実行されます。このオプションは、リソースグループが実行するよう構成されている非大域ゾーンの名前を指定します。

Global_zone プロパティーが TRUE に設定されているリソースタイプにのみ、–Z オプションを使用します。Global_zone プロパティーが FALSE に設定されている場合、このオプションは必要ありません。Global_zone プロパティーの詳細は、rt_properties(5) のマニュアルページを参照してください。

終了ステータス

次の終了ステータスコードが返されます。

0

コマンドは正常に完了しました。

0 以外

エラーが発生しました。

障害エラーコードは、scha_calls(3HA) で説明されています。

属性

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

属性タイプ
属性値
使用条件
ha-cluster/developer/api
インタフェースの安定性
安定

関連項目

pmfadm(1M), rt_callbacks(1HA), scha_cmds(1HA), scha_resource_get(1HA), scha_calls(3HA), scha_control(3HA), scha_control_zone(3HA), attributes(5), r_properties(5), rbac(5), rg_properties(5), rt_properties(5)