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

印刷ビューの終了

更新: 2015 年 9 月
 
 

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 オプションを要求します。


注 -  optag オプション (CHECK_GIVEOVERCHECK_RESTART など) は大文字と小文字が区別されません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 つ以上のノード上で現在オンライン状態にあり、これ以上リソースグループをオンライン化できるノードが存在しない場合、このリソースグループは、ローカルノード上でオフラインになったままオンラインにならない可能性があります。またこうした処理要求は、各種のチェックの結果を受けた結果として、拒絶される場合もあります。たとえば、PINGPONG_INTERVAL プロパティーで指定された間隔内に、あるノード上で GIVEOVER 要求によってグループがオフラインに移行されたために、そのノードがホストとして拒否されることがあります。

クラスタ管理者が 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 コマンドが呼び出されるノードで無効にします。

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

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 クエリーを使用して、最近の再起動の試行回数を記録できます。

PRENET_STARTPOSTNET_STOP、またはこの両方のメソッドを備えたリソースタイプは、RESOURCE_RESTART 関数を慎重に使用するようにしてください。このリソースに適用されるのは、MONITOR_STOPSTOPSTART、および MONITOR_START メソッドだけです。このリソースが依存するネットワークアドレスリソースは再起動されず、オンライン状態のままになります。

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

RESTART

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

CHECK_GIVEOVER および CHECK_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), attributes(5), r_properties(5), rbac(5), rg_properties(5), rt_properties(5)