wparexec コマンド

目的

アプリケーション・workload partitionまたは仕様ファイルを作成します。

構文

wparexec [ -a ] [ -c] [ -1 ][ -F ] [ -h hostname ] [-H architecture] [-i] [-I attribute=value ...] ... [ -M attribute=value... ] ... [ -N attribute=value... ] ... [ -R attribute=value... ] [ -u userscript ] [ -v] [ -x] { -n wparname [ -e existingwpar | -f infile ] [ -o outfile [ -w ] ] | -f infile [ -n wparname ] [ -o outfile [ -w ] ] | -w -o outfile [ -n wparname] [ -e existingwpar | -f infile ] } [ [--] [ var=value ...] /path/to/command [ arg ... ] ]

注:

ロケールに関わらず、ASCII 文字のみが wparexec コマンドの引数として許可されます。

これに加えて、WPAR 名に対する以下の制約事項もあります。
  • 25 バイトを超えないものとする。
  • 空白文字、または以下の記号のいずれも含まないものとする。

    = : / ! ; ` ' " < > ~ & ( ) * + [ ] , . ^ 0 { } | ¥

  • 先頭文字を '-' にも '0' にもしないものとする。

説明

wparexec コマンドは、アプリケーション・workload partitionを構築し開始します。あるいは、今後のアプリケーション・workload partitionsの作成を簡素化するための仕様ファイルを作成します。

アプリケーション・workload partitionは、独自のネットワーク構成とリソース制御プロファイルを持つ、隔離された実行環境です。 この区画はグローバル・ファイルシステムのスペースを共有しますが、そこで実行されるプロセスは、同じ区画内の他のプロセスだけから確認できます。 この隔離された環境では、プロセスのモニター、リソースの収集、アカウンティングを行うことができます。また、予定したアプリケーションのクラスターのデータを監査することができます。

wparexec コマンドは、この隔離された環境内にある単一のアプリケーションを始動して、モニターします。 wparexec コマンドは、workload partition内のすべてのプロセスが終了したときのみ、トラッキングされたこのプロセスの戻りコードと同期して戻ります。例えば、トラッキングされたプロセスがデーモンを作成し、0 の戻りコードを返して終了すると、wparexec コマンドはデーモンとその子のすべてが終了するまでブロックします。それから、デーモンまたはその子の戻りコードに関係なく、0 の戻りコードを返して終了します。

フラグ

項目 説明
-1 構成のみを作成します。アプリケーション WPAR の構成を作成後、wparexec コマンドを停止します。 WPAR を始動するには、startwpar コマンドを使用する必要があります。 上級者のみが -1 オプションを使用することができます。
-a

必要に応じて、競合する静的設定を自動的に解決します。解決可能な設定は、name、hostname、およびネットワーク構成です。

-c このworkload partitionに対してチェックポイントを有効にします。このオプションは、追加のチェックポイント・リスタート・ソフトウェアがインストールされて構成済みであるときのみ有効です。このオプションを使用するときは、workload partitionに関連するファイルシステム (例えば -M オプションを使用) はリモートでなければなりません (例えば vfs=nfs)。
-e existingwpar 仕様データのソースとして現存のアプリケーション・workload partitionを使用します。-e フラグは -f フラグと一緒には使用しないでください。他の wparexec フラグで指定した値は、現存のworkload partitionから得たこれらの値をオーバーライドします。
-f infile デフォルト値を読み取るよう仕様ファイルに指示します。このフラグを -e フラグと一緒には使用しないでください。他の wparexec フラグで指定した値は、ロード済み仕様ファイルから得たこれらの値をオーバーライドします。
-F ほとんどのエラー条件を抑止あるいはオーバーライドします。 -F フラグの使用で、wparexec コマンドは警告付きで実行を続けます。
-h hostname このworkload partition用のホスト名を指定します。指定しない場合、wparexec コマンドは workload partition名をホスト名として使用します。
-H architecture アーキテクチャー互換のワークロード・パーティションを作成します。有効なアーキテクチャーの値は、pwr4、ppc970、 pwr5、pwr6、および pwr7 です。アーキテクチャーの値は、システムのハードウェアのバージョンより古いか、同じでなければなりません。ワークロード・パーティション 内の複数のアプリケーションは、特定のアーキテクチャーの最小共通分母を持ちます。ワークロード・パーティションがチェックポイントを作成できる場合、そのワークロード・パーティションは、ワークロード・パーティション・アーキテクチャー以上の ハードウェア・レベルであるシステム間でマイグレーションできます。
注: POWER5 プロセッサー・ベースのシステムと BladeCenter JS21 Express システムには相互に互換性がありません。JS21 は POWER5 プロセッサー・ベースのシステムより低いバージョンのプロセッサーを使用しますが、 POWER5 プロセッサー・ベースのシステム上で JS21 互換の (ppc970) WPAR を作成することはできません。
-i workload partitionWPAR 固有の経路指定を使用可能にします。 デフォルトで、workload partitionからの発信ネットワーク・トラフィックは、特に以下の方法でグローバル環境から送信されているように経路指定されます。
  • 同じグローバル・システム上でホストされていたアドレス間のトラフィックは、ループバック・インターフェースを介して送信されます。
  • グローバル・システム内で構成された、デフォルトの経路を含む経路指定テーブル項目は、workload partitionのトラフィックを伝送するために使用されます。
ユーザーが -i フラグを指定することによって WPAR 固有の経路指定を使用可能にすると、workload partitionは発信トラフィック用に独自の経路指定テーブルを作成して使用します。 ブロードキャスト、ループバック、およびサブネットの経路を収容するために、workload partitionのネットワーク・アドレスごとに経路指定項目が自動的に作成されます。 ネットワーク属性についての詳細は、-N フラグを参照してください。 -I フラグを使用して、workload partitionの経路指定テーブルに明示的な追加項目を作成することができます。 特に、デフォルトの経路は自動的には作成されないため、 -I フラグを使用してデフォルトの経路を構成することができます。
-I attribute=value ... WPAR 固有のルーティングが有効なときに作成されるエントリーに、 ルーティング・テーブル・エントリーを追加します。複数の -I フラグを指定して、複数の経路を構成することができます。 -i フラグの下に記述されているように、-I フラグを使用すると、自動的に WPAR 固有の経路指定が使用可能になります。

以下の属性を -I フラグと一緒に指定することができます。 rtdest 属性と rtgateway 属性を指定する必要があります。

rtdest= destination 経路を割り当てる宛先のホストまたはネットワークを識別します。 シンボル名または数値アドレスを使用して、この値を指定することができます。 デフォルトの経路を指定するためには、キーワード default を使用できます。 経路指定 rtdest 属性についての詳細は、route コマンドの Destination パラメーターを参照してください。
rtgateway= gateway パケットが送信される宛先のゲートウェイを識別します。 シンボル名または数値アドレスを使用して、この値を指定することができます。
rtnetmask= A.B.C. D 宛先アドレスにネットワーク・マスクを指定します。
rtprefixlen= n 宛先の接頭部の長さを、ネットマスクのビット数で指定します。 この値は正整数でなければなりません。
rttype={ net|host} rtdest 属性を、指定されたタイプとして強制的に解釈させます。
rtinterface= if インターフェース (例えば、en0) を指定して、経路が選択されたときにこのインターフェースを使用してパケットが送信されるように、その経路と関連付けます。

61Vrtfamily ={inet|inet6}

アドレス・ファミリーを指定します。 rtfamily フラグのパラメーターについては、route コマンドの「パラメーター」セクションを参照してください。
-M directory=dir [ vfs=type ] [ dev=devicepath ] [ host=remotehost ] [ mountopts=mountopts ] ファイルシステムの依存関係のみを指定します。属性はスペースで分離する必要があります。デフォルトでは、アプリケーション・workload partitionは、グローバル・ファイルシステムとマウントのすべてに対してworkload partitionを作成したユーザーと同じアクセス・レベルを持ちます。 -M フラグは、ファイルシステム名に設定したディレクトリー属性を使用して、追加のファイルシステムを指定します。 -M フラグは複数を指定できます。
注: マウントおよびディレクトリーはすべて、グローバルなレベルで作成されて使用可能になります。ディスク (vfs= jfs および vfs=jfs2) にもとづくファイルシステムは、アプリケーション・workload partitions用には作成されません。

ローカル・ファイルシステムの依存関係は、ディレクトリー属性のみを定義することにより追加できます。しかし、指定されるディレクトリーは /etc/filesystems に実在していなければなりません。

workload partitionの作成プロセス中にエラーが発生すると、 wparexec コマンドでマウント済みのファイルシステムはアンマウントされます。作成が成功した場合は、ユーザー・アプリケーションの戻り状況に関係なく、ファイルシステムはアンマウントされません。

以下は、アプリケーション・workload partitionsvfs 属性の有効な値です。

nos
ホスト属性により指定されたシステムの dev 属性で指定されたディレクトリーは、ディレクトリー属性で指定されたロケーションにマウントされます。マウント・ポイントが存在しない場合は、 それが作成されます。nfs マウントに適用できる唯一の他の属性として mountopt 属性があり、これは mount コマンドの -o オプションあるいは /etc/filesystems スタンザにおける options 属性に対応します。指定しない場合、デフォルトでマウント・オプションを使用しません。容認できるオプションの値は、 mount コマンドの -o オプションに対応したものです。詳しくは、コマンド・リファレンス 第 3 巻mount コマンドを参照してください。
namefs
dev 属性で指定されたグローバル・ディレクトリーは、directory 属性で指定されたディレクトリー上にマウントされます。

namefs マウントに適用できる唯一の他の属性として mountopt 属性があります。

directory
directory 属性で指定されたグローバル・ディレクトリーは、 存在しない場合は作成されます。マウントは実行されません。
-n wparname 作成するworkload partitionの名前を指定します。名前が提供されないと、名前が生成されます。
-N attribute =value 次のネットワーク構成の属性を指定することを許可します。
  • interface= if or interface=namemappedif
  • address=A. B.C.D
  • netmask=A. B.C.D
  • broadcast=A. B.C.D
  • address6= S:T:U: V:W:X: Y:Z
  • prefixlen= n
名前がマップされたインターフェースは、/etc/wpars/devmap ファイル内で定義されています。 名前がマップされたインターフェースとシステム・インターフェース間のマッピングは、以下のように指定することができます。
# The comments start with '#'
# Each line contains a pair of name-mapped interface
# and real interface separated by tab or blank spaces.
foo en0
goo en1
soo en2

attribute=value の対はスペースで分離する必要があります。 複数の -N フラグを使用して、複数の IP アドレスを構成することができます。 少なくとも、address または address6 属性を指定する必要があります。wparexec コマンドは、 指定されない他の値をグローバル・システムの設定から収集します。-N フラグが指定されないと、 wparexec コマンドは、 -n フラグで指定されたworkload partition名で gethostbyname サブルーチンを実行して、workload partitionの適切な IP アドレスを発見しようとします。グローバル・インターフェースと同じサブネットでアドレスが検出されると、そのインターフェースの設定は、デフォルトのネットワーク・エントリーを作成するために、解決済みの IP アドレスとともに使用されます。

IPv6 ネットワーク構成を定義するには、-N フラグとともに、address6 属性、prefixlen 属性、および interface 属性を指定します。
  • address6 属性は 128 ビット・アドレスです。 このアドレスは、コロンで区切られた 8 つの 16 ビット整数で表されます。 それぞれの整数は、4 桁の 16 進数字で表されます。 先行ゼロは省略でき、連続するヌルの 16 ビット整数は 2 つのコロン (アドレスごとに一回) で表すことができます。
  • prefixlen 属性は上位ビットの数であり、IPv6 アドレスをマスクし、接頭部を構成するために使用されます。 prefixlen 属性の値は 0 から 128 の範囲です。 それぞれの -N フラグは、IPv4 属性または IPv6 属性を受け入れられますが、両方を受け入れることはできません。
-o outfile 仕様データを書き込む出力パスとファイル名を示します。この仕様ファイルは、後で -f フラグでアプリケーション・workload partitionを作成するために使用できます。
-R attribute=value リソース制御属性を指定することを許可します。 1 つの -R フラグのみが指定できます。ほとんどのリソース制御はワークロード・マネージャー (WLM) でサポートされるものと同じです。これらの属性についての説明は、リストされた WLM ページを参照してください。有効な属性を以下に示します。
active
リソース制御の定義の保存は許可されますが、非アクティブにされます。 この属性は、yes または no の値をとります。
rset
mkrset コマンドによって作成されたリソース・セットを使用して、workload partitionを構成します。 mkrset コマンドについての詳細は、コマンド・リファレンス 第 3 巻mkrset コマンドを参照してください。
shares_CPU
このworkload partitionで使用できるプロセッサー共有の数。 プロセッサー共有についての詳細は、 ファイル参照『Workload Manager shares File』を参照してください。
CPU
このワークロード・パーティションのプロセスに対するプロセッサー制限のパーセンテージ。この属性は次の形式を使用して、しきい値を限定します。
CPU=<m>%-<SM>%,<HM>%

m 値は、下限を表します。SM 値は、ソフト最大制限を表します。 HM 値は、ハード最大制限を表します。 制限付きの値について詳しくは、 ファイル参照『Workload Manager limits File』を参照してください。

shares_memory
このworkload partitionで使用できるメモリー共有の数。 メモリー共有について詳しくは、 ファイル参照『Workload Manager shares File』を参照してください。
memory
このワークロード・パーティションのプロセスに対するメモリー制限のパーセンテージ。メモリー制限について詳しくは、 ファイル参照『Workload Manager limits File』を参照してください。
procVirtMem
単一のプロセスが使用できる仮想メモリーの最大量。指定の限界を超えるとプロセスは終了します。有効な単位は、メガバイト (M または MB)、ギガバイト (G または GB)、およびテラバイト (T または TB) です。許される下限は 1 M です。指定できる上限は 8796093022207 M、 8589934591 G、または 8388607 T です。値が -1 (単位がない) に設定されていると、制限は無効となります。制限値について詳しくは、 ファイル参照『Workload Manager limits File』を参照してください。
totalVirtMem
WPAR 全体として使用できる仮想メモリーの最大量。指定された限界を超える原因となるプロセスは終了されます。 有効な範囲と単位は、procVirtMem の場合と同じです。 値が '-1' (単位がない) に設定されていると、制限は無効になります。 ワークロード・マネージャー制限ファイル ファイル参照を参照してください。
totalProcesses
このworkload partitionで許可されるプロセスの合計数。 許可されるプロセッサー数について詳しくは、 ファイル参照『Workload Manager limits File』を参照してください。
  (-R フラグの属性続き):
totalPTYs=n
このworkload partitionで許可される疑似端末の合計数。 許可される疑似端末についての詳細は、 pty Special File を参照してください。
totalLargePages=n
このworkload partitionに許可できるラージ・ページの数。 許可されるラージ・ページについての詳細は、 Large Pages を参照してください。
pct_msgIDs=n%
このworkload partitionで許可されるシステムのメッセージ・キュー ID の最大数のパーセンテージ。 許可されるメッセージ・キュー ID 数についての詳細は、Message Queue Kernel Services を参照してください。
pct_semIDs=n%
このworkload partitionで許可されるシステムのセマフォー ID の最大数のパーセンテージ。
pct_shmIDs=n%
このworkload partitionで許可されるシステムの共用メモリー ID の最大数のパーセンテージ。 許可される共用メモリー ID 数についての詳細は、Shared Memory を参照してください。
pct_pinMem=n%
このworkload partitionに割り当て可能なシステムの最大ピン・メモリーのパーセンテージ。 ピン・メモリーについての詳細は、Support for pinned memory を参照してください。
totalThreads
このworkload partitionで許可されるスレッドの合計数。 許可されるスレッド数についての詳細は、「 ファイル参照」のワークロード・マネージャー limits File を参照してください。
-u userscript 種々の管理ポイントにおいて、workload partitionコマンドで実行されるよう、ユーザー・スクリプトへのパスを指定します。-u フラグのパラメーターは、スクリプトに渡される追加の引数を含む引用符付きストリングの場合もあります。 -u フラグのパラメーターの最初のコンポーネントは、必ず実在の実行可能ファイルへの絶対パスでなければなりません。スクリプトは次のように呼び出されます。
/path/to/userScript<action><
WAPR>

action 引数は、以下のように、実行される管理アクションを示します。

  • WPAR_LOAD: スクリプトは、カーネル構成後で、トラッキングされたプロセスが作成される前に、グローバル環境で実行します。 スクリプトがゼロ以外の値を返すと、workload partitionは開始されません。
  • WPAR_START: スクリプトは、workload partitionがアクティブになった後グローバル環境で実行します。アプリケーション・workload partitionsでは、スクリプトはトラッキングされたプロセスがいったん開始されると実行されます。
    注記: このコード・パスは、 標準 I/O ストリームをクローズまたは宛先変更して、分離処理により非同期で実行されます。内部のメッセージングは、それに応じて処理されなければならず、スクリプトは、短命のworkload partitionsがスクリプトの実行中にどこで停止しまたは停止させられたかを説明しなければなりません。

    スクリプトがゼロ以外の値を返すと、警告がログに記録されますが、それ以外に動作の変更はありません。

  • WPAR_STOP: スクリプトは、workload partitionプロセスのすべてが終了した後で、カーネルが構成解除される前に、グローバル環境で実行されます。
注: このコード・パスは、 標準 I/O ストリームをクローズして、分離処理により実行されます。内部メッセージングはそれに応じて処理されなければなりません。

スクリプトがゼロ以外の値を返すと、警告がログに記録されますが、それ以外に動作の変更はありません。

-v

冗長モードで実行するコマンドを指定します。

-x

WPAR 間セマフォーおよび共用メモリー・セグメントへのアクセスを許可します。

-w 仕様ファイルを書き込みます。-o フラグとともに使用すると、-w フラグにより wparexec コマンドは workload partitionを実際に作成しないで、新規の仕様ファイルを書き込んだ後で終了します。
[--] [var=value ] /path/to/command [arg ...]

アプリケーション (トラッキングされたプロセス) がworkload partition 内で実行されるよう、必要な環境変数設定および引数とともに指定します。

コマンドが仕様ファイルを作成している (-w フラグを使用) だけでない場合、 このコマンド・ライン構文または仕様ファイル中の general.application 属性のいずれかが、このコマンドを必要とします。 それが開始されたとき、提供されるコマンド・ラインは必ず、workload partition内でシェル拡張されたものになっています。コマンド・ラインを使用するとき、シェルのメタキャラクターは 早期拡張を防ぐため適切に拡張する必要があります。

特殊な二重マイナスのセパレーター (--) は、 後続のすべてのコマンド・ライン引数がトラッキングされたプロセスにより成り立つことを示すために使用されます。例えば、このセパレーターを使用して、-N フラグに対する属性とトラッキングされたプロセスに対する環境変数の割り当てとの間のあいまいさを取り除きます。

workload partitionにつき 1 つだけのトラッキングされたプロセスがサポートされますが、このアプリケーションは他のプロセスを作成することがあります。workload partitionは、ここにあるプロセスがすべて終了したときに、自動的に停止して除去されます。stopwpar コマンドによって、workload partitionの停止と除去が早まることがあります。

セキュリティー

アクセス制御: root ユーザーのみがこのコマンドを実行できます。

RBAC ユーザーおよび Trusted AIX ユーザーへの注意: このコマンドは特権命令を実行できます。 特権命令を実行できるのは特権ユーザーのみです。 権限および特権についての詳細情報は、「セキュリティー」の『特権コマンド・データベース』を参照してください。 このコマンドに関連した特権および権限のリストについては、lssecattr コマンドまたは getcmdattr サブコマンドの項を参照してください。

  1. ベンチマーク・プログラムを実行するアプリケーション・workload partitionを作成するには、次のように入力します。
    wparexec -n tpcc -N address=192.168.0.51 /u/tpcc/benchmark -f /tmp/logfile
    注: -f フラグは /u/tpcc/benchmark ファイルに渡され、wparexec コマンドによってフラグとしては処理されません。
  2. 実在の仕様ファイルにもとづいてworkload partitionを作成するには、次のように入力します。
    wparexec -f /tmp/wparexec1.spec
  3. wparexec コマンドで提供されるデフォルトで最小限の PATH 変数をオーバーライドするには、次のように入力します。
    wparexec PATH=/usr/opt/bin:/usr/bin:/usr/sbin /home/joe/runapp

ファイル

項目 説明
/usr/samples/wpars/sample.spec 注釈付きのworkload partition仕様ファイル。