resetrsrc コマンド

目的

リソースをリセットします。すなわち、リソースを強制的にオフライン状態に移動します。

構文

コマンド・ラインに入力したデータを使用して 1 つ以上のリソースをリセットするには、以下のように実行します。

resetrsrc -s "selection_string" [ -N { node_file"-" } ] [-h] [-TV] resource_class [arg=value...]

resetrsrc -r [-h] [-TV] resource_handle [arg=value...]

入力ファイルに事前定義されたコマンド引数を使用して 1 つ以上のリソースをリセットするには、以下のように実行します。

resetrsrc -f resource_data_input_file -s "selection_string" [ -N { node_file"-" } ] [-h] [-TV] resource_class

resetrsrc -f resource_data_input_file -r [-h] [-TV] resource_handle

コマンド引数の名前とデータ・タイプを表示するには、次のように入力します。

resetrsrc -l [-h] resource_class

説明

resetrsrc コマンドは、Resource Monitoring and Control (RMC) サブシステムに要求を出して、1 つ以上のリソースを強制的にオフラインにします。要求は該当するリソース・マネージャーによって実行されます。

1 つ以上のリソースをリセットするには、指定の選択文字列に一致するすべてのリソースを強制的にオフラインにする -s フラグを使用します。特定の 1 つのリソースをリセットするには、その特定のリソースを表すリソース・ハンドルを指定する -r フラグを使用します。

selection_string に複数のノード名を指定する代わりに、-N node_file フラグを使用して、ノード名がファイルにあることを指示できます。 標準入力からノード名を読み取るには、-N "-" を使用します。

指定したリソース・クラスが任意の追加のコマンド引数を受け入れるかどうかを判別するには、-l フラグを使用します。

このコマンドが正常終了しても、リソースがオフラインになることが保証されるわけではなく、リソース・マネージャーが、このリソースのオフラインを強制するための要求を正常に受け取ったにすぎません。リソースが強制的にオフラインになる時期については、リソースの動的属性 OpState をモニターして判別します。リソースにイベントを登録して、OpState 属性を指定し、リソースがいつオフラインになるかを識別します。あるいは、リソースがオフライン (OpState の値が 2) であることが確認されるまで、lsrsrc コマンドを断続的に実行します。以下に例を示します。
      
lsrsrc -s 'Name == "/filesys1"' -t IBM.FileSystem Name OpState

システムにクラスター・システム・マネージメント (CSM) がインストールされている場合は、ノード名の値として CSM 定義のノード・グループを使用して、複数のノードを参照できます。 CSM ノード・グループの処理と CSM nodegrp コマンドの使用については、「CSM: Administration Guide」および「CSM: Command and Technical Reference」を参照してください。

パラメーター

resource_class
強制的にオフラインにしたいリソースを含むリソース・クラスの名前を指定します。
resource_handle
強制的にオフラインにしたいリソースに対応するリソース・ハンドルを指定します。lsrsrc コマンドを使用して、有効なリソース・ハンドルのリストを入手します。リソース・ハンドルは、二重引用符で囲む必要があります。例えば、次のとおりです。
"0x4017 0x0001 0x00000000 0x0069684c 0x0d4715b0 0xe9635f69"
arg=value...
コマンド引数の名前と値のペアを 1 つ以上指定します。
arg
引数の名前を指定します。
value
この引数の値を指定します。値のデータ・タイプは引数のデータ・タイプの定義と一致しなければなりません。
コマンドの引数はオプションです。arg=value のペアを入力する場合は、指定のリソース・クラスに対してオフライン機能が定義された、arg=value ペアがコマンド引数ごとに 1 つ存在しなければなりません。

特定のリソース・クラスのコマンド引数の名前とデータ・タイプのリストを入手するには、resetrsrc -l を使用します。

フラグ

-f resource_data_input_file
リソースの引数情報が含まれているファイルの名前を指定します。以下のファイルの内容が表示されます。
PersistentResourceArguments::                            
argument1 = value1                                    
argument2 = value2 
-l
コマンド引数とデータ・タイプをリストします。一部のリソース・マネージャーは、オフライン要求に渡された追加の引数を受け入れます。このフラグを使用して定義済みのコマンド引数とコマンド引数値のデータ・タイプをリストします。
-N { node_file "-" }
ファイルまたは標準入力からノード名を読み取ることを指定します。 ノード名がファイルにあることを示すには、-N node_file を指定します。
  • node_file では 1 行に 1 つのノード名を指定します。
  • 1 桁目の番号記号 (#) はその行がコメントであることを示します。
  • ノード名の左のブランク文字はすべて無視されます。
  • ノード名の右のブランク文字はすべて無視されます。
標準入力からノード名を読み取るには、-N "-" を使用します。

CT_MANAGEMENT_SCOPE 環境変数は、クラスターの有効範囲を決定します。 CT_MANAGEMENT_SCOPE が設定されていない場合、コマンドにとって有効な範囲になるまで、最初に管理ドメイン有効範囲 (存在する場合) を選択し、次にピア・ドメイン有効範囲 (存在する場合) を選択し、次にローカル有効範囲を選択します。 コマンドは、最初に見つかった有効範囲に対して、1 回実行されます。 例えば、管理ドメインとピア・ドメインの両方が存在する場合に CT_MANAGEMENT_SCOPE が設定されていないと、このコマンドは管理ドメインに適用されます。 このコマンドをピア・ドメインに適用するには、CT_MANAGEMENT_SCOPE を 2 に設定します。

-r
指定したリソース・ハンドルに一致する特定のリソースを強制的にオフラインにします。
-s "selection_string"
選択文字列を指定します。選択文字列はすべて、 二重または単一の引用符で囲まなければなりません。選択文字列の中に二重引用符が含まれている場合は、選択文字列全体を単一の引用符で囲んでください。以下に例を示します。
           
-s 'Name == "testing"'                                   
           
-s 'Name ?= "test"'                                      
永続属性のみを選択文字列にリストすることができます。
-h
コマンドの使用方法のステートメントを標準出力に書き込みます。
-T
標準エラーにコマンドのトレース・メッセージを書き込みます。これはソフトウェア・サービス組織専用です。
-V
コマンドの詳細メッセージ (使用可能なメッセージがある場合) を標準出力に書き込みます。

環境変数

CT_CONTACT
CT_CONTACT 環境変数をホスト名または IP アドレスに設定すると、コマンドは指定されたホストの RMC (Resource Monitoring and Control) デーモンと連絡します。この環境変数を指定しないと、コマンドは、 そのコマンドが実行されているローカル・システムの RMC デーモンと連絡します。 コマンドによって表示または変更されるリソース・クラスやリソースは、接続が確立されたシステム上にあります。
CT_IP_AUTHENT
CT_IP_AUTHENT 環境変数が存在する場合、RMC デーモンは、IP ベース・ネットワーク認証を使用して、CT_CONTACT 環境変数が設定されている IP アドレスで指定されたシステム上の RMC デーモンに連絡します。CT_CONTACT が IP アドレスに設定されている場合のみ、CT_IP_AUTHENT が意味を持ちます。CT_IP_AUTHENT はドメイン・ネーム・システム (DNS) サービスに依存しません。
CT_MANAGEMENT_SCOPE
RMC デーモンがリソースおよびリソース・クラスをモニターし、制御するための セッションに使用する管理有効範囲を指定します。 管理有効範囲は、リソースおよびリソース・クラスをモニターし、制御する対象となる、可能なターゲット・ノードのセットを決定します。 有効な値は以下のとおりです。
0
local 有効範囲を指定します。
1
local 有効範囲を指定します。
2
peer domain (ピア・ドメイン) 有効範囲を指定します。
3
management domain (管理ドメイン) 有効範囲を指定します。

この環境変数を設定しないとlocal 有効範囲が使用されます。

標準出力

-h フラグが指定されている場合は、このコマンドの使用状況の説明文が標準出力に書き込まれます。-V フラグが指定されている場合は、このコマンドの詳細メッセージ (使用可能なメッセージがある場合) が標準出力に書き込まれます。

標準エラー

トレース・メッセージはすべて、標準エラーに書き込まれます。

終了状況

0
コマンドが正常に実行されました。
1
RMC でエラーが起こりました。
2
コマンド・ライン・インターフェース (CLI) スクリプトでエラーが発生しました。
3
コマンド・ラインに間違ったフラグが指定されました。
4
コマンド・ラインに不正なパラメーターが指定されました。
5
不正なコマンド・ライン入力に基づく RMC により、エラーが発生しました。
6
指定された選択文字列に一致するリソースが見つかりませんでした。

セキュリティー

resetrsrc を実行するには、resetrsrc に指定する resource_class に書き込み権限が必要です。権限は、相手のシステムのアクセス制御リスト (ACL) ファイルに指定します。 ACL ファイルおよびその変更方法について詳しくは、「Administering RSCT」ガイドを参照してください。

実装上の固有な条件

このコマンドは AIX® では rsct.core.rmc ファイルセットの一部であり、Linux、Solaris、および Windows では rsct.core-3.1.0.0-0.platform.rpm パッケージの一部です。ここで platform は、i386ppcppc64s390、または x86_64 です。

位置

/opt/rsct/bin/resetrsrc

ピア・ドメイン foo に、nodeAnodeB、および nodeC という 3 つの定義済みのノードがあり、nodeA には ent0 および ent1 という 2 つのイーサネット・カードがあるものとします。
  1. nodeA がオンラインであり、ent0 (nodeA 上にある) もオンラインであるとします。nodeA 上の ent0 を強制的にオフラインにするには、次のコマンドを nodeA で実行します。
    resetrsrc -s 'Name == "ent0"' IBM.EthernetDevice
  2. nodeA および nodeB がオンラインであり、ent0 (nodeA 上にある) もオンラインであるとします。また、現在、ユーザーは nodeB にログオンしているとします。nodeA 上の ent0 を強制的にオフラインにするには、次のコマンドを nodeB で実行します。
    resetrsrc -s 'NodeName == "nodeA" AND Name == "ent0"' IBM.EthernetDevice
  3. nodeA および nodeB がオンラインで、ファイルシステム /filesys1nodeB に定義され、マウントされているとします。nodeB 上の /filesys1 を強制的にオフラインにするには、次のコマンドを nodeA で実行します。
    resetrsrc -s 'NodeName == "nodeB" AND Name == "/filesys1"' IBM.FileSystem
  4. nodeA 上の ent0 のリソース・ハンドルが以下であるとします。
    0x406b 0x0001 0x00000000 0x0069564c 0x0dc1f272 0xb9de145e   
    nodeA 上の ent0 を強制的にオフラインにするには、次のコマンドを nodeA で実行します。
    resetrsrc -r "0x406b 0x0001 0x00000000 0x0069564c 0x0dc1f272 0xb9de145e"
  5. nodeA 上および nodeB 上で ent0 をリセットするには、/tmp/common/node_file ファイルを使用して次のように実行します。
    # common node file
    #
    nodeA
    nodeB
    #
    次のように入力します。
    resetrsrc -s 'Name == "ent0"' -N /tmp/common/node_file ¥
    IBM.EthernetDevice