nimdef コマンド
目的
ネットワーク・インストール管理 (NIM) クライアントをスタンザ・ファイルから定義します。
構文
説明
nimdef コマンドは、定義スタンザ・ファイルを構文解析して、NIM 環境に NIM クライアント定義を追加するために必要なコマンドを作成します。
また、nimdef コマンドは、新しいクライアント定義をサポートするために NIM 環境で自動的に NIM ネットワークおよび NIM マシン・グループを作成します。
注: nimdef コマンドを使用する前に、NIM マスターを構成する必要があります。 (詳しくは、「 インストールおよび移行 」の「 基本 NIM 操作および構成 」を参照してください。)
クライアント定義ファイルの規則
クライアント定義ファイルのフォーマットには、次の規則があります。
- スタンザ・ヘッダーの後に、 Attribute = Value の形式の属性行を続けます。
- 同じスタンザ内で属性値を複数回定義すると、属性が machine_groupでない限り、最後の定義のみが使用されます。 machine_group 属性を複数定義すると、そのすべてがマシン定義に適用されます。
- 無効な属性キーワードを使用すると、その属性定義は無視されます。
- ファイルの各行は、1 つのヘッダーまたは属性定義のみを持つことができます。
- 各マシン・ホスト名の定義ファイルに存在できるスタンザは 1 つのみです。
- スタンザ・ヘッダー・エントリーがキーワード defaultの場合、デフォルト値を定義する目的で使用することを指定します。
- マシン・ホスト名以外の任意のマシン属性にデフォルト値を指定できます。 マシンの属性を指定せず、デフォルト値を定義すると、そのデフォルト値が使用されます。
- デフォルト値は、定義ファイル内の任意の場所で指定および変更できます。 デフォルト値は、設定が済むと、それ以降のすべての定義に適用されます。
- 後続のすべてのマシン定義のデフォルト値をオフにするには、デフォルト・スタンザで属性値を nothing に設定します。
- 単一のマシン定義のデフォルト値をオフにするには、マシン・スタンザで属性値を nothing に設定します。
- クライアント定義ファイルにコメントを組み込むことができます。 コメントは、ポンド (#) 文字で開始します。
- ヘッダー/属性キーワードおよび値の定義ファイルを構文解析する場合、タブ文字およびスペースは無視されます。
クライアント定義ファイルのキーワード
クライアント定義ファイルでは、次のキーワードを使用してマシン属性を指定します。
必須属性
| 項目 | 説明 |
|---|---|
| cable_type | マシンのケーブル・タイプを指定します。 network_type が entの場合は必須。 |
| ゲートウェイ | マシンが使用するデフォルト・ゲートウェイのホスト名または IP アドレスを指定します。 ゲートウェイを使用しないマシンの場合は、この属性に値 0 (ゼロ) を指定します。 |
| MACHINE_TYPE | マシンのタイプを指定します。standalone、diskless、または dataless です。 |
| ネットワーク・タイプ | マシンのネットワーク・アダプターのタイプを指定します。ent または tok です。 |
| ring_speed | マシンのリング・スピードを指定します。 network_type が tok である場合に必須です。 |
| subnet_mask | マシンが使用するサブネット・マスクを指定します。 |
オプションの属性
| 項目 | 説明 |
|---|---|
| nim_name (nim_name) | マシンに使用する NIM 名を指定します。 この属性は、ホスト名以外の名前を NIM 名として使用する場合に指定します。 デフォルトでは、マシンに対して指定した NIM 名からすべてのドメイン情報を取り除いたものが、マシンのホスト名になります。 別々のドメインで非固有のホスト名を使用した場合、 どちらのマシンでも同じ NIM 名が使用されているため、競合が起こります。 そのような環境では、影響を受けるマシン定義に対してこの属性を定義してください。 |
| platform | マシン・ハードウェア・プラットフォームを指定します。 この属性を指定しない場合、デフォルトは rs6k から AIX® 5.1 までです。 |
| net_adptr_name (net_adptr_name) | マシンが使用するネットワーク・アダプターの名前を指定します (tok0、ent0、など)。 |
| netboot_kernel= NetbootKernelType | ネットワーク上でクライアントをブートする際に使用するカーネルのタイプを指定します。 netboot_kernel の値は up または mpです。 |
| ipl_rom_emulation (ipl_rom_emulation) | IPL ROM エミュレーションに使用するデバイスを指定します (/dev/fd0、 /dev/rmt0 など)。 |
| プライマリー・インターフェース | オリジナルのマシン定義に使用するホスト名を指定します。 この属性は、現在のスタンザで、NIM 環境で定義されているマシンへの追加のインターフェースだけを定義する場合に使用します。 |
| マスター・ゲートウェイ | 別のネットワーク上にあるそのマシンにアクセスするために NIM マスターが使用するゲートウェイを指定します。 マシンが NIM 環境で既に定義されているネットワーク上で定義されている場合や、 NIM マスター・ネットワークにデフォルト・ゲートウェイが指定されている場合、 この属性は必要ありません。 |
| マシン・グループ | 定義されているマシンを追加するグループを 1 つまたは複数指定します。 |
| コメント | マシン定義に入れるコメントを指定します。 コメント文字列は二重引用符 (") で囲みます。 |
クライアント定義ファイルのスタンザ・エラー
次の条件下では、定義スタンザは誤りです。
- 定義のスタンザ・ヘッダーで使用されているホスト名は解決できません。
- 必須属性が欠落しています。
- 属性に無効な値を指定しました。
- 属性の不一致が発生しました。 例えば、同じスタンザで network_type=tok と cable_type=bnc を指定することはできません。
- グループ・タイプの不一致が発生します。 例えば、グループにスタンドアロン・マシンが含まれていて、machine_type=diskless を指定している場合、 マシンに対してグループを指定することはできません。
- マシン定義は、同じホスト名に対して複数回発生します。
- マシン定義は、NIM 環境で既に定義されているマシンに対して行われます。
- マシン定義内の primary_interface 値が、定義されているマシンまたはスタンザ定義のホスト名と一致しません。
- マシン定義の primary_interface 値が別のマシン定義のホスト名と一致していますが、その定義が正しくありません。
サンプル・クライアント定義ファイル
# Set default values.
default:
machine_type = standalone
subnet_mask = 255.255.240.0
gateway = gateway1
network_type = tok
ring_speed = 16
platform = rs6k
machine_group = all_machines
# Define the machine "lab1"
# Take all defaults.
lab1:
# Define the machine "lab2"
# Take all defaults and specify 2 additional attributes.
# The machine "lab2" uses IPL ROM emulation, and will be added to
# the machine groups "all_machines" and "lab_machines".
lab2:
ipl_rom_emulation = /dev/fd0
machine_group = lab_machines
# Define the machine "lab3"
# Take all defaults, but do not add the machine to the default
# group.
lab3:
machine_group=
# Define the machine "lab4"
# Take all defaults, but do not add "lab4" to the default group
# "all_machines".
# Instead add it to the groups "lab_machines" and "new_machines".
lab4:
machine_group =
machine_group = lab_machines
machine_group = new_machines
# Change the default "platform" attribute.
default:
platform = rspc
# define the machine "test1"
# Take all defaults and include a comment.
test1:
comments = "This machine is a test machine."フラグ
| 項目 | 説明 |
|---|---|
| -c | クライアント定義ファイルからコマンドを生成します。 このフラグは、定義ファイルを処理し、定義を追加するためのコマンドを生成します。 コマンドは呼び出されませんが、KSH スクリプトとして表示されるので、 ファイルにリダイレクトして、あとで呼び出すことができます。 |
| -d | クライアント定義ファイルからマシンを定義します。 このフラグは、定義ファイルを処理し、定義を追加するためのコマンドを NIM 環境に呼び出します。 |
| -f 名前 | クライアント定義ファイルの名前を指定します。 |
| -p | クライアント定義ファイルのプレビューを表示します。 このフラグは、定義ファイルを処理しますが、NIM 環境にマシンを追加しません。 次のように表示されます。 すべての完了した有効な NIM 定義スタンザ。 マシン用に定義するすべての追加インターフェース。 すべての無効な定義スタンザおよび障害の原因。 すべての新規マシン・グループおよび追加するメンバー。 すべての既存マシン・グループおよび追加するメンバー。 NIM 環境に追加するすべてのネットワーク定義。 それぞれの新規マシンを追加するために呼び出すコマンド。 それぞれの追加マシン・インターフェースを追加するために呼び出すコマンド。 新規マシン・グループを作成してそのメンバーを追加するために呼び出すコマンド。 既存マシン・グループに新規メンバーを追加するために呼び出すコマンド。 注: マシンの追加に使用する前にすべてのスタンザが正しいことを確認するため、 クライアント定義ファイルで -p フラグを指定することをお勧めします。 |
終了状況
このコマンドは、以下の終了値を戻します。
| 項目 | 説明 |
|---|---|
| 0 | 正常終了。 |
| ! 0 (! 0) | エラーが発生しました。 |
セキュリティー
アクセス制御: nimdef コマンドを実行するには、root 権限が必要です。
イベントの監査: N/A
RBAC ユーザーと Trusted AIX ユーザーへの注意: このコマンドは特権操作を実行できます。 特権命令を実行できるのは特権ユーザーのみです。 権限および特権について詳しくは、「セキュリティー」の『特権コマンド・データベース』を参照してください。 このコマンドに関連した特権および権限のリストについては、lssecattr コマンドまたは getcmdattr サブコマンドの項を参照してください。
例
- クライアント定義ファイル client.defsをプレビューするには、次のように入力します。
nimdef -p -f client.defs - クライアント定義ファイル client.defsに記述されている NIM クライアントを追加するには、次のように入力します。
nimdef -d -f client.defs - クライアント定義ファイル client.defsに記述されている NIM クライアントを追加するために、 client.add という名前の kshell スクリプトを作成するには、次のように入力します。
nimdef -c -f client.defs > client.add
ファイル
| 項目 | 説明 |
|---|---|
| /usr/sbin/nimdef | nimdef デーモン/コマンドが入っています。 |