mkrsrc コマンド

目的

新規リソースを定義します。

構文

新規リソースを定義する際に使用するデータとして、
  • コマンド・ラインで入力する場合:

    mkrsrc [ -a | -N { node_file | "-" } ] [-v] [-h] [-TV] resource_class attr=value…

  • 入力ファイルで事前定義する場合:

    mkrsrc -f resource_data_input_file [-v] [ -a | -N { node_file | "-" } ] [-h] [-TV] resource_class

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

mkrsrc -l [ -h ] resource_class

あるリソース・クラスに対する mkrsrc コマンドの例を表示する場合:

mkrsrc -e [-h] [-TV] resource_class

説明

mkrsrc コマンドは、RMC サブシステムに resource_class パラメーターで指定されたクラスに対する新規リソース・インスタンスを定義するように要求します。 パラメーターとして、または -f フラグを使用してリソース定義ファイルで、少なくとも 1 つの永続属性名およびその値を指定する必要があります。

mkrsrc を実行する前に、lsrsrcdef コマンドを実行して、 「reqd_for_define」(必須) または「option_for_define」(オプション) として指定する属性を決定する必要があります。「reqd_for_define」または「option_for_define」 として指定された属性のみを、mkrsrc コマンドを使用して定義できます。lsrsrcdef コマンドは、それぞれの属性のデータ・タイプも識別します。各属性ごとに指定された値は、 このデータ・タイプと一致していなければなりません。

コマンド・ラインまたは resource_data_input_file で指定されているすべての属性名が永続属性として定義され、しかも reqd_for_define または option_for_define と指定されていることを検査するには、-v フラグを使用します。 -v フラグを使用して mkrsrc コマンドを実行した場合、リソースは定義されません。 その代わり、リソース属性が永続で、しかも reqd_for_define または option_for_define と指定されているかどうか検査されるだけです。 コマンド・ラインまたは resource_data_input_file で指定されたすべての属性が有効かどうかを検査するために mkrsrc -v をいったん実行した後、-v フラグを指定せずに mkrsrc コマンドを発行して、新しいリソースを定義することができます。

RSCT ピア・ドメイン内で、または RSCT 管理ドメインの管理サーバーで実行中であり、リソース・クラスの管理タイプが細分化されている場合、次の 2 つの方法のいずれかで、同じリソースを複数のノード上に作成することができます。最初の方法は、-N node_file フラグを使用して、リソースの作成先のノード名がファイルに入っていることを示す方法です。標準入力からノード名を読み取るには、-N "-" を使用します。 2 番目の方法は、NodeNameList リソース属性に複数のノード名を指定する方法です。NodeNameList 属性は、クラスターが存在するときにリソースが作成される場所を定義します。NodeNameList 属性が使用されない場合、リソースはローカル・ノード上に作成されます。リソース・クラス管理タイプが細分化されているかどうか検出するには、lsrsrcdef -c resource_class | grep properties と入力します。

フラグ

-e
以下の属性に対する mkrsrc コマンド・ライン入力例を表示します。
  1. 必須属性のみ
  2. 必須およびオプションの属性
-f resource_data_input_file
リソース属性情報が含まれるファイルの名前を指定します。
-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 に設定してください。

-v
コマンド・ライン上または入力ファイル内に指定されたすべての属性名が永続属性として定義されており、 「reqd_for_define」または「option_for_define」として指定されていることを検査します。 このフラグが使用されている場合は、mkrsrc コマンドはどのリソースも定義しません
-h
コマンドの使用方法の文を標準出力に書き込みます。
-T
コマンドのトレース・メッセージを標準エラーに書き込みます。これは、ソフトウェア保守部門専用の機能です。
-V
コマンドの詳細メッセージを標準出力に書き込みます。

パラメーター

resource_class
定義するリソースのリソース・クラス名を指定します。
attr=value…
定義するリソースの属性を指定します。新規リソース・インスタンスを定義する際には、各リソースに固有の必須の属性を定義する必要があります。これらの属性は、コマンド・ライン上のパラメーターとして指定することも、-f フラグを使用して入力ファイル内に定義することもできます。
attr
このリソースの永続属性の名前。この属性を、 「reqd_for_define」または「option_for_define」として指定する必要があります。 指定を検査するには、lsrsrcdef コマンドを使用します。
value
この永続属性の値。この値のデータ・タイプは、この属性の値に定義されたデータ・タイプと一致しなければなりません。lsrsrcdef コマンドを使用して、各属性のデータ・タイプを検査します。

セキュリティー

mkrsrc を実行するには、mkrsrc で指定されている resource_class の書き込み許可が必要です。 許可は、接続先システム上のアクセス制御リスト (ACL) ファイルで指定されます。 ACL ファイルとその変更方法について詳しくは、「Administering RSCT」ガイドを参照してください。

終了状況

0
コマンドは正常に実行されました
1
RMC でエラーが発生しました。
2
コマンド・ライン・インターフェース (CLI) スクリプトでエラーが発生しました。
3
コマンド・ラインに間違ったフラグが指定されました。
4
コマンド・ラインに間違ったパラメーターが指定されました。
5
コマンド・ラインの入力に誤りがあるため、RMC でエラーが発生しました。

環境変数

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

この環境変数が設定されていない 場合は、 Local 有効範囲が使用されます。

実装上の固有な条件

このコマンドは、AIX® オペレーティング・システム用の rsct.rmc ファイルセットに含まれます。

標準出力

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

標準エラー

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

  1. このクラスのリソースを定義する時に必須の永続属性を既に知っていると仮定して、IBM.Host クラスで新規リソースを作成するには、次のように入力します。
    mkrsrc IBM.Host Name=c175n05
  2. IBM.Processor クラスに新規リソースを作成するために、 まずそのリソースの定義を支援するテンプレートを生成する場合は、次のように入力します。
    lsrsrcdef -i IBM.Processor > /tmp/IBM.Processor.rdef

    続いて、/tmp/IBM.Processor.rdef ファイルを編集し、すべての属性の値を入力します。タイプに適切な値を入力して置き換えるか、あるいはデフォルト値を使用する場合はブランクのままにしておきます。

    最後に、次のように入力します。
    mkrsrc -f /tmp/IBM.Processor.rdef IBM.Processor
  3. /tmp/IBM.Host.rdef ファイルに定義された情報を使用して 2 つの新規 IBM.Host リソースを作成するには、 次のように入力します。
    mkrsrc -f /tmp/IBM.Host.rdef IBM.Host
    ここで、/tmp/IBM.Host.rdef ファイルは以下のようになります。
    PersistentResourceAttributes::
    resource 1:
        Name        = c175n04
    
    resource 2:
        Name        = c175n05 
  4. この例では、IBM.Foo クラスに新規リソースを作成します。このクラスでは、Name および NodeList が必須属性です。BinarySDStringArray、および SDArray 属性はオプションです。この例では、より難しいデータ・タイプをコマンド・ラインから入力する方法を示します。 オプションの属性 (BinarySDStringArray、および SDArray) のデータ・タイプ は、以下のとおり明瞭です。次のように入力します。
    mkrsrc IBM.Foo Name=c175n05 ¥
    NodeList={1} ¥
    Binary="0xaabbccddeeff00" ¥
    SD='[testing123,1,{2,4,6}]' ¥
    StringArray='{"testing 1 2 3",testing123,"testing 1 2 3"}' ¥
    SDArray='{["testing 1 2 3",1,{1,3,5}],[testing,2,{2,4,6}]}'
  5. ピア・ドメイン内の複数のノードに IBM®.Example クラスのリソースを作成するには、次のコマンドを実行します。
    mkrsrc -N /u/joe/common_node_file  IBM.Example  Name=Example_bar1 ¥
    Binary="0xaabbccddeeff00"
    ここで、/u/joe/common_node_file の内容は以下のとおりです。
    # common node file
    #
    node1.ibm.com      main node
    node2.ibm.com      main node
    node4.ibm.com      backup node
    node6.ibm.com      backup node
    #
  6. 管理ドメイン内の複数の管理対象ノードに IBM.Example クラスのリソースを作成するには、管理サーバー上で次のコマンドを実行します。
    mkrsrc IBM.Example  Name=Example_bar1 Binary="0xaabbccddeeff00" ¥
    NodeNameList='{"mgnode1.ibm.com","mgnode2.ibm.com"}'
    ここで、/u/joe/common_node_file の内容は以下のとおりです。
    # common node file
    #
    node1.ibm.com      main node
    node2.ibm.com      main node
    node4.ibm.com      backup node
    node6.ibm.com      backup node
    #
注: rmccli 一般情報ファイルで説明されたように、特定データ・タイプの属性値 (構造化データ、構造化データのアレイおよび二重引用符に囲まれた文字列を含むアレイ) は、単一引用符で囲む必要があります。

場所

/opt/rsct/bin/mkrsrc