この章では、x64 システムまたは x86 システムに lx ブランドゾーンを構成する前に実行する必要のある作業について説明します。この章では、zonecfg コマンドの使用方法についても説明します。
次に、lx ブランドゾーンの使用に関連したマシンの主な考慮事項を示します。
マシンは x64 ベースまたは x86 ベースでなければなりません。
各 lx ゾーンに固有のファイルを保持するために十分なディスク容量が必要です。lx ゾーンに必要なディスク容量は、インストールされる RPM (Linux パッケージ) のサイズと数によって決まります。
lx ブランドは完全ルートモデルのみをサポートするので、インストールされる各ゾーンは独自にすべてのファイルのコピーを保持します。
ゾーンが消費可能なディスク容量に関する制限はありません。ディスク容量の制限を設定することは、大域管理者の役割です。大域管理者は、非大域ゾーンのルートファイルシステムを保持するのに十分なローカルストレージがあることを確認する必要があります。十分なストレージがあれば、小規模な単一プロセッサシステムでも、同時に稼働する多数のゾーンをサポートできます。
lofi を使用してマウントされたパーティションにゾーンを配置できます。この操作により、ゾーンの消費する容量が、lofi の使用するファイルの容量に制限されます。詳細は、lofiadm(1m) および lofi(7D) のマニュアルページを参照してください。
ソフトパーティションを使用して、ディスクスライスまたは論理ボリュームをパーティションに分割できます。これらのパーティションをゾーンのルートとして使用することで、ゾーンごとのディスク消費量を制限できます。ソフトパーティションの上限は、8192 パーティションに制限されています。詳細は、『Solaris ボリュームマネージャの管理』の第 12 章「ソフトパーティション (概要)」を参照してください。
ディスクの標準パーティションをゾーンのルートに使用できるため、ゾーンごとのディスク消費を制限できます。
ネットワーク接続を必要とする各ゾーンには、1 つ以上の一意の IP アドレスが与えられます。IPv4 アドレスがサポートされています。ゾーンに IPv4 アドレスを割り当てる必要があります。詳細は、「ブランドゾーンのネットワークアドレス」を参照してください。必要に応じて、ネットワークインタフェースのデフォルトのルーターを設定することもできます。手順については、「lx ブランドゾーンの構成方法」を参照してください。
ゾーンのブランドを設定します。
lx ゾーンの構成を作成します。
指定された資源およびプロパティーが仮定の x64 システムまたは x86 システムで有効で内部的に一貫しているかどうかを調べるために、構成を確認します。
ブランド固有の確認を実行します。確認により次のことが保証されます。
ゾーンでは、継承されたパッケージディレクトリ、ZFS データセット、または追加されたデバイスは保持できません。
オーディオを使用するようにゾーンを構成する場合、デバイスを指定するときは、none、default、または 1 桁の数字でなければなりません。
特定の構成について zonecfg verify コマンドで実行される検査では、次のことが確認されます。
ゾーンパスが指定されていること
各資源の必須プロパティーがすべて指定されていること
ブランドの要件が満たされていること
zonecfg コマンドの詳細は、zonecfg(1M) のマニュアルページを参照してください。
ここでは、次の構成要素について説明します。
zonecfg コマンドを使用して構成できるゾーンの資源とプロパティー
デフォルトで構成に含まれている資源
ゾーンの名前とパスを選択する必要があります。
autoboot プロパティーの設定により、大域ゾーンの起動時にこのゾーンが自動的に起動されるかどうかが決まります。
第 13 章資源プールの作成と管理 (手順)の説明に従ってシステムで資源プールを構成した場合は、ゾーンを構成するときに pool プロパティーを使用して、資源プールの 1 つにゾーンを関連付けることができます。
資源プールが構成されていない場合でも、非大域ゾーンの実行中にシステムのプロセッサの一部をそのゾーン専用に割り当てるよう、dedicated-cpu 資源を使用して指定できます。ゾーンの実行中に使用される一時プールが動的に作成されます。
pool プロパティーによって設定される持続的プールを使用するゾーン構成と、dedicated-cpu 資源によって構成される一時プールには、互換性がありません。これら 2 つのプロパティーは、どちらか 1 つしか設定できません。
dedicated-cpu 資源は、非大域ゾーンの実行中にシステムのプロセッサの一部をそのゾーン専用に割り当てることを指定します。ゾーンの起動時に、ゾーンの実行中に使用される一時プールが動的に作成されます。
dedicated-cpu 資源は、ncpus の制限を設定し、必要に応じて importance も設定します。
CPU の数を指定するか、CPU の数の範囲を 2–4 などと指定します。資源プールの動的な動作を得るために範囲を指定する場合は、次の手順も実行してください。
importance プロパティーを設定します。
「プール機能の有効化と無効化」の説明に従って、動的資源プールサービスを有効にします。
動的な動作を得るために CPU 範囲を使用する場合は、importance プロパティーも設定してください。importance は「省略可能な」プロパティーであり、プールの相対的な重要性を定義します。このプロパティーが必要となるのは、ncpus に範囲を指定した場合で、poold によって管理される動的資源プールを使用しているときだけです。poold が実行されていない場合、importance は無視されます。poold が実行されている場合、importance が設定されていないと、importance はデフォルト値の 1 になります。詳細は、「 pool.importance プロパティーの制約」を参照してください。
cpu-shares 資源制御と dedicated-cpu 資源には互換性がありません。
capped-cpu 資源は、1 つのプロジェクトまたは 1 つのゾーンで消費可能な CPU 資源量に対して絶対的な制限を設けます。capped-cpu 資源には、小数点第 2 位までの正の小数である 1 つの ncpus プロパティーがあります。このプロパティーは、CPU のユニット数に対応しています。この資源には範囲を指定できません。この資源には小数を指定できます。ncpus を指定する場合、1 の値は 1 つの CPU の 100% を意味します。100% がシステム上の 1 つの完全な CPU に対応するため、値 1.25 は 125% を意味します。
capped-cpu 資源と dedicated-cpu 資源には互換性がありません。
公平配分スケジューラ (FSS) を使用すると、使用可能な CPU 資源のゾーン間での割り当てを、ゾーンの重要性に基づいて制御できます。この重要性は、各ゾーンに割り当てる CPU 資源の「配分」で表します。
cpu-shares プロパティーを明示的に設定すると、公平配分スケジューラ (FSS) はそのゾーンのスケジューリングクラスとして使用されます。ただし、この場合に望ましい FSS の使用方法は、dispadmin コマンドを使用して、FSS をシステムのデフォルトのスケジューリングクラスに設定する方法です。このようにすると、すべてのゾーンがシステムの CPU 資源の公平配分を受けることができます。ゾーンに対して cpu-shares が設定されていない場合、そのゾーンはシステムのデフォルトのスケジューリングクラスを使用します。ゾーンのスケジューリングクラスは、次の処理によって設定されます。
zonecfg の scheduling-class プロパティーを使ってゾーンのスケジューリングクラスを設定できます。
資源プール機能を使ってゾーンのスケジューリングクラスを設定できます。ゾーンがプールに関連付けられている場合、そのプールの pool.scheduler プロパティーに有効なスケジューリングクラスが設定されていれば、ゾーンで実行されるプロセスは、デフォルトでそのスケジューリングクラスで実行されます。「資源プールの紹介」 および 「プールをスケジューリングクラスに対応付ける方法」を参照してください。
cpu-shares 資源制御が設定されている場合で、別の処理を通して FSS がゾーンのスケジューリングクラスとして設定されていないときは、ゾーンの起動時に zoneadmd によってスケジューリングクラスが FSS に設定されます。
ほかの処理を通してスケジューリングクラスが設定されていない場合、ゾーンはシステムのデフォルトのスケジューリングクラスを継承します。
priocntl (priocntl(1) のマニュアルページを参照) を使用すると、デフォルトのスケジューリングクラスの変更や再起動を行うことなく、実行中のプロセスを別のスケジューリングクラスに移動できます。
capped-memory 資源は、physical、swap、および locked メモリーの制限を設定します。各制限は省略可能ですが、少なくとも 1 つは設定する必要があります。
大域ゾーンから rcapd を使用してゾーンのメモリー上限を設定する場合は、この資源の値を決定します。capped-memory 資源の physical プロパティーは、ゾーンの max-rss 値として rcapd で使用されます。
capped-memory 資源の swap プロパティーは、zone.max-swap 資源制御を設定するための望ましい方法です。
capped-memory 資源の locked プロパティーは、zone.max-locked-memory 資源制御を設定するための望ましい方法です。
通常はアプリケーションが多量のメモリーをロックすることはありませんが、ゾーンのアプリケーションによってメモリーがロックされることがわかっている場合は、ロックされるメモリーを設定するとよいでしょう。ゾーンの信頼が問題になる場合は、ロックされるメモリーの上限を、システムの物理メモリーの 10 パーセントまたはゾーンの物理メモリー上限の 10 パーセントに設定することもできます。
詳細は、第 10 章資源上限デーモンによる物理メモリーの制御 (概要)、第 11 章資源上限デーモンの管理 (手順)、および 「lx ブランドゾーンの構成方法」を参照してください。
lx ブランドゾーンでは、共有 IP ネットワーク構成だけがサポートされています。
ネットワーク接続を必要とする各ゾーンには、1 つ以上の専用 IP アドレスが必要です。これらのアドレスは、論理ネットワークインタフェースに関連付けられます。zonecfg コマンドで構成されたネットワークインタフェースは、起動時に自動的に設定され、ゾーンに配置されます。Solaris 10 10/08 リリース以降では、必要に応じて defrouter プロパティーを使用して、ネットワークインタフェースのデフォルトのルーターを設定することもできます。
通常、ゾーンでマウントされるファイルシステムには、次のものが含まれます。
仮想プラットフォームの初期化時にマウントされる一連のファイルシステム
ゾーン自体の内部からマウントされる一連のファイルシステム
これには、たとえば次のようなファイルシステムが含まれます。
automount によって引き起こされるマウント
ゾーン管理者が明示的に実行するマウント
アプリケーション環境内部から実行されるマウントには、いくつかの制限事項があります。これらの制限事項は、ほかのゾーンに悪影響を与えないようにするために、ゾーン管理者がシステムのほかの部分に対するサービスを拒否できないようにします。
一部のファイルシステムについては、ゾーン内部からマウントする場合にセキュリティー制限があります。ほかのファイルシステムは、ゾーン内でマウントされたときに特有の動作を行います。詳細は、「ファイルシステムと非大域ゾーン」を参照してください。
ゾーン規模の資源制御を設定する場合に望ましい、より簡単な方法は、rctl 資源の代わりにプロパティー名を使用する方法です。これらの制限は、大域ゾーンと非大域ゾーンの両方に対して指定されます。
大域管理者は、rctl 資源を使用して、ゾーン規模の特権付き資源制御をゾーンに対して設定することもできます。
ゾーン規模の資源制御は、ゾーン内のすべてのプロセスエンティティーによる総資源消費を制限します。これらの制限は、大域ゾーンと非大域ゾーンのどちらに対しても、zonecfg コマンドを使用して指定します。手順については、「lx ブランドゾーンの構成方法」を参照してください。
現在使用できる資源制御は次のとおりです。
表 32–1 ゾーン規模の資源制御
制御名 |
グローバルプロパティー名 |
説明 |
デフォルトの単位 |
使用される値 |
---|---|---|---|---|
zone.cpu-cap |
Solaris 10 5/08 リリースでは、このゾーンに対して CPU 資源量の絶対的な制限を設定します。project.cpu-cap 設定と同様、100 の値は 1 つの CPU の 100% を意味します。125 の値は 125% になります。CPU キャップの使用時は、100% がシステム上の 1 つの CPU の上限となります。 |
数量 (CPU の数) | ||
zone.cpu-shares |
cpu-shares |
このゾーンに対する公平配分スケジューラ (FSS) の CPU 配分 |
数量 (配分) | |
zone.max-locked-memory |
|
ゾーンで使用できるロックされた物理メモリーの合計量。 |
サイズ (バイト) |
capped-memory の locked プロパティー |
zone.max-lwps |
max-lwps |
このゾーンで同時に使用できる LWP の最大数 |
数量 (LWP 数) | |
zone.max-msg-ids |
max-msg-ids |
このゾーンに許容されるメッセージキュー ID の最大数 |
数量 (メッセージキュー ID の数) | |
zone.max-sem-ids |
max-sem-ids |
このゾーンに許容されるセマフォー ID の最大数 |
数量 (セマフォー ID の数) | |
zone.max-shm-ids |
max-shm-ids |
このゾーンに許容される共有メモリー ID の最大数 |
数量 (共有メモリー ID の数) | |
zone.max-shm-memory |
max-shm-memory |
このゾーンに許容される System V 共有メモリーの合計量 |
サイズ (バイト) | |
zone.max-swap |
|
このゾーンのユーザープロセスのアドレス空間マッピングと tmpfs マウントで消費できるスワップの合計量。 |
サイズ (バイト) |
capped-memory の swap プロパティー |
limitpriv プロパティーは、定義済みのデフォルト特権セット以外の特権マスクを指定する場合に使用します。ゾーンの起動時に、デフォルトの特権セットがブランド構成に含められます。これらの特権は、ゾーン内の特権プロセスがシステムのほかの非大域ゾーン内のプロセスや大域ゾーン内のプロセスに影響を及ぼすことを防ぐため、安全と見なされます。limitpriv プロパティーを使用して、次の操作を実行できます。
デフォルトの特権セットに追加します。ただし、この種の変更を行うと、あるゾーン内のプロセスがグローバル資源を制御できるようになって、ほかのゾーン内のプロセスに影響する場合があります。
デフォルトの特権セットから削除します。ただし、この種の変更を行うと、実行に必要な特権がないため一部のプロセスが正しく動作しなくなる場合があります。
わずかですが、この時点でゾーンのデフォルト特権セットから削除できない特権があります。同じように、特権セットに追加できない特権もあります。
詳細は、「lx ブランドゾーンで定義される特権」、「非大域ゾーン内の特権」、および privileges(5) のマニュアルページを参照してください。
attr 資源タイプを使用して、大域ゾーンにあるオーディオデバイスへのアクセスを可能にすることができます。手順については、「lx ブランドゾーンを構成、検証、および確定する方法」の手順 12 を参照してください。
attr 資源タイプを使ってゾーンのコメントを追加することもできます。
各ゾーンでサポートされるデバイスについては、そのブランドに関するマニュアルページやほかのマニュアルに記載されています。lx ゾーンでは、サポートされていないデバイスや認識されないデバイスの追加は禁止されます。サポートされていないデバイスを追加しようとすると、フレームワークによって検出されます。ゾーン構成が検証不可能であることを示すエラーメッセージが生成されます。
大域ゾーンで稼働中のオーディオデバイスへのアクセスは、attr 資源プロパティーを使用して追加できます。手順については、「lx ブランドゾーンを構成、検証、および確定する方法」の手順 12 を参照してください。
ブランドゾーンに必要なファイルシステムは、ブランド内で定義されます。fs 資源プロパティーを使用して、追加の Solaris ファイルシステムを lx ブランドゾーンに追加することができます。手順については、「lx ブランドゾーンを構成、検証、および確定する方法」の手順 9 を参照してください。
ローカルの Linux ファイルシステムは追加できません。Linux サーバーのファイルシステムを NFS マウントすることはできます。
プロセスは、特権の一部に制限されています。特権を制限することで、ほかのゾーンに影響を及ぼす可能性がある操作がゾーンで実行されないようにします。特権セットにより、特権が付与されたユーザーがゾーン内で実行可能な機能が制限されます。
デフォルトの特権、必須のデフォルト特権、省略可能な特権、および禁止される特権が各ブランドによって定義されます。limitpriv プロパティーを使用して、特定の特権の追加や削除を行うこともできます。手順については、「lx ブランドゾーンを構成、検証、および確定する方法」の手順 8 を参照してください。表 27–1 に、Solaris の特権すべて、およびゾーン内での各特権の状態を示します。
特権の詳細は、ppriv(1) のマニュアルページおよび『Solaris のシステム管理 (セキュリティサービス)』を参照してください。
zonecfg コマンド (zonecfg(1M) のマニュアルページを参照) は、ゾーンを構成するために使用されます。このコマンドは、大域ゾーンの資源管理設定を持続的に指定する場合にも使用できます。
zonecfg コマンドは、対話型モード、コマンド行モード、またはコマンドファイルモードで使用できます。このコマンドを使用して、次の操作を実行できます。
ゾーン構成を作成または削除 (破棄) します
特定の構成に資源を追加します
構成に追加した資源のプロパティーを設定します
特定の構成から資源を削除します
構成の照会または確認を行います
構成を確定します
前の構成に戻します
ゾーンの名前を変更します
zonecfg のセッションを終了します
zonecfg のプロンプトは次のような形式です。
zonecfg:zonename> |
ファイルシステムなど、特定の資源タイプの構成を行うときは、その資源タイプもプロンプトに表示されます。
zonecfg:zonename:fs> |
この章で説明する zonecfg のさまざまな構成要素の使用手順など、詳細については、「lx ブランドゾーンの構成方法」を参照してください。
このユーザーインタフェースでは「有効範囲」という概念が使用されます。有効範囲は、「大域」または「資源固有」のどちらかです。デフォルトの有効範囲は大域です。
大域有効範囲で add サブコマンドまたは select サブコマンドを使用すると、特定の資源が選択されます。すると、有効範囲がその資源タイプに変わります。
add サブコマンドの場合、end、cancel のいずれかのサブコマンドを使用すると、資源の指定が完了します。
select サブコマンドの場合、end、cancel のいずれかのサブコマンドを使用すると、資源の変更が完了します。
すると、有効範囲が大域に戻ります。
add、remove、set などのように、有効範囲によって異なる意味を持つサブコマンドもあります。
対話型モードでは、次のサブコマンドがサポートされます。サブコマンドで使用する意味とオプションの詳細については、zonecfg(1M) のマニュアルページでオプション情報を参照してください。破壊的な操作や作業内容の消失を伴うようなサブコマンドの場合、処理を実行する前にユーザーの確認が求められます。-F (強制) オプションを使用すると、この確認手順を省略できます。
一般ヘルプまたは特定の資源に関するヘルプを表示します。
zonecfg:lx-zone:net> help |
指定された新しいブランドゾーンに使用するメモリー内構成の構成を開始します。
-t template オプションを使用して、指定したテンプレートと同一の構成を作成します。ゾーン名がテンプレート名から新しいゾーン名に変更されます。Linux ブランドゾーンを作成するには、次のコマンドを使用します。
zonecfg:lx-zone> create -t SUNWlx |
-b オプションを使用して、空の構成を作成し、そのブランドを設定します。
zonecfg:lx-zone> create -b zonecfg:lx-zone> set brand=lx |
-F オプションを使用して、既存の構成を上書きします。
標準出力または指定された出力ファイルに、コマンドファイルに使用できる形式で構成を出力します。
大域有効範囲では、指定された資源タイプを構成に追加します。
資源固有の有効範囲では、指定された名前と値を持つプロパティーを追加します。
詳細は、「lx ブランドゾーンの構成方法」および zonecfg(1M) のマニュアルページを参照してください。
指定されたプロパティー名を、指定されたプロパティー値に設定します。zonepath などの大域的なプロパティーと、資源固有のプロパティーがあることに注意してください。このコマンドは、大域有効範囲と資源固有の有効範囲の両方で使用できます。
大域有効範囲でのみ使用できます。指定されたタイプの資源のうち、指定されたプロパティー名とプロパティー値の対の条件に一致するものを、変更対象として選択します。有効範囲がその資源タイプに変わります。資源が一意に識別されるように、プロパティーの名前と値の対を十分な数だけ指定する必要があります。
省略可能な設定の値をクリアーします。必須の設定はクリアーできません。ただし、必須の設定のいくつかは、新しい値を割り当てることによって変更できます。
大域有効範囲では、指定された資源タイプを削除します。資源タイプが一意に識別されるように、プロパティーの名前と値の対を十分な数だけ指定する必要があります。プロパティーの名前と値の対をまったく指定しないと、すべてのインスタンスが削除されます。該当するものが複数ある場合は、-F オプションを使用していない限り、確認を求めるメッセージが表示されます。
資源固有の有効範囲では、指定された名前と値を持つプロパティーを現在の資源から削除します。
資源固有の有効範囲でのみ使用できます。資源の指定を終了します。
次に、zonecfg コマンドは、現在の資源が正しく指定されているかどうかを確認します。
資源が正しく指定されている場合は、その資源がメモリー内に保持される構成に追加され、有効範囲が大域に戻ります。
指定が不完全な場合は、必要な作業を示すエラーメッセージが表示されます。
資源固有の有効範囲でのみ使用できます。資源の指定を終了し、有効範囲を大域に戻します。資源の指定が不完全な場合、その資源は保持されません。
指定された構成を破棄します。メモリーと安定した記憶領域の両方から構成を削除します。delete に -F (強制) オプションを使用する必要があります。
この操作は即時に実行されます。確定手順は行われず、削除されたゾーンを元に戻すことはできません。
現在の構成または大域の資源プロパティー zonepath、autoboot、および pool に関する情報を表示します。資源タイプが指定されている場合は、そのタイプの資源についてのみ情報を表示します。資源固有の有効範囲では、このサブコマンドは、追加または変更しようとしている資源にのみ適用されます。
現在の構成が正しいかどうかを確認します。各資源に必須プロパティーがすべて指定されていることを確認します。
現在の構成をメモリーから安定した記憶領域に確定します。メモリー内の構成を確定するまでは、revert サブコマンドで変更内容を削除できます。zoneadm で構成を使用するには、その構成を確定する必要があります。zonecfg セッションを完了するときに、この操作の実行が自動的に試みられます。正しい構成のみ確定できるので、確定操作では自動的に確認も行われます。
構成を最後に確定されたときの状態に戻します。
zonecfg のセッションを終了します。exit に -F (強制) オプションを使用できます。
必要な場合は、commit 操作が自動的に試行されます。EOF 文字を使ってセッションを終了することもできることに注意してください。
コマンドファイルモードでは、ファイルから入力されます。このファイルを生成するには、「zonecfg の対話型モード」で説明されている export サブコマンドを使用します。構成を標準出力に出力するか、-f オプションで指定した出力ファイルに出力することができます。
ゾーン構成データは 2 種類のエンティティーから成ります。 資源とプロパティーです。各資源は、タイプのほかにも 1 つ以上のプロパティーを持つことがあります。プロパティーは名前と値から成ります。どのようなプロパティーセットを持つかは、資源タイプによって異なります。
ゾーン名は、構成ユーティリティーでゾーンを識別するために使用されます。ゾーン名には次のような規則が適用されます。
各ゾーンの名前は一意でなければならない。
ゾーン名では大文字と小文字が区別される。
ゾーン名は英数字で始まる必要がある。
名前には、英数字、下線 (_)、ハイフン (-)、およびピリオド (.) を使用できます。
名前の長さは 64 文字以内でなければならない。
global という名前と SUNW で始まるすべての名前は、予約されているので使用できない。
zonepath プロパティーは、ゾーンのルートのパスです。各ゾーンには、ルートディレクトリのパスが設定されます。これは、大域ゾーンのルートディレクトリに対する相対パスです。インストール時には、大域ゾーンのディレクトリの可視性が制限されている必要があります。大域ゾーンのディレクトリの所有者は root、モードは 700 であることが必要です。
非大域ゾーンのルートパスは 1 つ下のレベルになります。ゾーンのルートディレクトリの所有権とアクセス権は、大域ゾーンのルートディレクトリ (/) と同じになります。ゾーンのディレクトリの所有者は root で、モードは 755 であることが必要です。これらのディレクトリは正しいアクセス権を使って自動作成され、ゾーン管理者がこれらのディレクトリを検証する必要はありません。この階層構造により、大域ゾーンのユーザーでも権限を持っていない場合は、非大域ゾーンのファイルシステムと行き来できなくなります。
パス |
説明 |
---|---|
/home/export/lx-zone |
zonecfg zonepath |
/home/export/lx-zone/root |
ゾーンのルート |
/home/export/lx-zone/root/dev |
ゾーン用に作成されたデバイス |
この問題の詳細については、「ファイルシステムの行き来」を参照してください。
zoneadm の move サブコマンドで新しいフルパス zonepath を指定することにより、ゾーンを同じシステム上の別の場所に移動できます。手順については、「Solaris 10 11/06: 非大域ゾーンの移動」を参照してください。
このプロパティーを true に設定すると、大域ゾーンの起動時にこのゾーンが自動的に起動されます。ゾーンサービス svc:/system/zones:default が無効になっている場合、このプロパティーの設定にかかわらず、ゾーンは自動的には起動しません。svcadm(1M) のマニュアルページに記載されているように、svcadm コマンドを使用してゾーンサービスを有効にできます。
global# svcadm enable zones |
このプロパティーは、ゾーンのブート引数を設定するために使用します。reboot、zoneadm boot、または zoneadm reboot コマンドで無効にされた場合を除き、このブート引数が適用されます。「ブランドゾーンのブート引数」を参照してください。
このプロパティーは、システム上の特定の資源プールをゾーンに関連付けるために使用します。1 つのプール内の資源を複数のゾーンが共有してもかまいません。「dedicated-cpu 資源を指定する」も参照してください。
このプロパティーは、デフォルト以外の特権マスクを指定する場合に使用します。「非大域ゾーン内の特権」を参照してください。
特権を追加するには、特権名だけを指定するか、特権名の前に priv_ 付けて指定します。特権を除外するには、名前の前にダッシュ (-) または感嘆符 (!) を付けます。複数の特権は、コンマで区切り、引用符 (“) で囲みます。
priv_str_to_set(3C)で説明されているように、特殊な特権セット none、all、および basic は、それぞれの通常の定義に展開されます。ゾーン構成は大域ゾーンで行われるため、特殊な特権セット zone は使用できません。特定の特権を追加または削除してデフォルトの特権セットを変更するのが一般的な使用方法であるため、特殊なセットである default はデフォルトの特権セットにマップされます。limitpriv プロパティーの先頭に default がある場合、デフォルトセットに展開されます。
次のエントリは、システムクロックの設定機能の追加、および raw ICMP (Internet Control Message Protocol) パケット送信機能の削除を実行します
global# zonecfg -z userzone zonecfg:userzone> set limitpriv="default,sys_time,!net_icmpaccess" |
ゾーンの特権セットに不許可の特権が含まれる場合、必須の特権が欠落している場合、または未知の特権が含まれる場合、ゾーンの検証、準備、またはブートの試行は失敗し、エラーメッセージが表示されます。
このプロパティーは、ゾーンのスケジューリングクラスを設定します。詳細とヒントについては、「ゾーンのスケジューリングクラス」を参照してください。
この資源は、ゾーンの実行中にシステムのプロセッサの一部をそのゾーン専用に割り当てます。dedicated-cpu 資源は、ncpus の制限を設定し、必要に応じて importance も設定します。詳細は、「dedicated-cpu 資源を指定する」を参照してください。
この資源は、ゾーンのメモリー上限を設定するためのプロパティーをグループ化します。capped-memory 資源は、physical、swap、および locked メモリーの制限を設定します。これらのプロパティーの少なくとも 1 つは指定する必要があります。
各ゾーンでは、インストール済み状態から準備完了状態に移行するときにマウントする各種のファイルシステムを指定できます。ファイルシステム資源は、ファイルシステムのマウントポイントのパスを指定します。ゾーンでファイルシステムを使用する方法の詳細については、「ファイルシステムと非大域ゾーン」を参照してください。
ネットワークインタフェース資源は、仮想インタフェースの名前です。各ゾーンでは、インストール済み状態から準備完了状態に移行するときに設定するべきネットワークインタフェースを指定できます。
lx ブランドゾーンでは、共有 IP ネットワーク構成だけがサポートされています。
rctl 資源は、ゾーン規模の資源制御に使用されます。資源制御は、ゾーンがインストール済み状態から準備完了状態に移行するときに有効になります。
rctl 資源の代わりに zonefig の set global_property_name サブコマンドを使用してゾーン規模の資源制御を構成する方法については、「lx ブランドゾーンの構成方法」を参照してください。
この汎用属性は、ユーザーコメントとして使用したり、ほかのサブシステムで使用したりできます。attr の name プロパティーは、英数字で始まる必要があります。name プロパティーには、英数字、ハイフン (-)、およびピリオド (.) を使用できます。zone. で始まる属性名はシステム用に予約されています。
資源には、構成可能なプロパティーもあります。資源タイプとそれに関連付けられるプロパティーは次のとおりです。
ncpus、importance
CPU の数を指定し、必要に応じてプールの相対的な重要性も指定します。次の例では、ゾーン my-zone で使用する CPU の範囲を指定します。importance も設定します。
zonecfg:my-zone> add dedicated-cpu zonecfg:my-zone:dedicated-cpu> set ncpus=1-3 zonecfg:my-zone:dedicated-cpu> set importance=2 zonecfg:my-zone:dedicated-cpu> end |
ncpus
CPU の数を指定します。次の例では、ゾーン lx-zone で使用できる CPU 数の制限を 3.5 に指定します。
zonecfg:lx-zone> add capped-cpu zonecfg:lx-zone:capped-cpu> set ncpus=3.5 zonecfg:lx-zone:capped-cpu> end |
physical、swap、locked
この資源は、ゾーンのメモリー上限を設定するためのプロパティーをグループ化します。次の例では、ゾーン my-zone のメモリー制限を指定します。各制限は省略可能ですが、少なくとも 1 つは設定する必要があります。
zonecfg:my-zone> add capped-memory zonecfg:my-zone:capped-memory> set physical=50m zonecfg:my-zone:capped-memory> set swap=100m zonecfg:my-zone:capped-memory> set locked=30m zonecfg:my-zone:capped-memory> end |
dir、special、raw、type、options
次の例では、非大域ゾーンで CD または DVD メディアに読み取り専用のアクセスを行う権限を追加します。ro,nodevices オプション (読み取り専用、デバイスなし) を指定して、非大域ゾーンでファイルシステムをループバックマウントします。
zonecfg:lx-zone> add fs zonecfg:lx-zone:fs> set dir=/cdrom zonecfg:lx-zone:fs> set special=/cdrom zonecfg:lx-zone:fs> set type=lofs zonecfg:lx-zone:fs> add options [ro,nodevices] zonecfg:lx-zone:fs> end |
セクション 1M のマニュアルページには、特定のファイルシステムに固有のマウントオプションに関するものがあります。このようなマニュアルページの名前は、mount_filesystem という形式です。
address、physical、defrouter
次の例では、IP アドレス 192.168.0.1 をゾーンに追加します。物理インタフェースとして bge0 カードを使用し、デフォルトのルーターを設定します。
zonecfg:lx-zone> add net zonecfg:lx-zone:net> set address=192.168.0.1 zonecfg:lx-zone:net> set physical=bge0 zonecfg:lx-zone:net> set defrouter=10.0.0.1 zonecfg:lx-zone:net> end |
どの物理インタフェースを使用するかを決定するには、システムで ifconfig -a と入力します。出力の各行は、ループバックドライバの行を除き、システムにインストールされているカードの名前で始まります。説明に LOOPBACK が含まれている場合、その行はカードに関するものではありません。
name、value
使用可能なゾーン規模の資源制御については、「lx ブランドゾーンでのゾーン規模の資源制御」を参照してください。
zonecfg:lx-zone> add rctl zonecfg:lx-zone:rctl> set name=zone.cpu-shares zonecfg:lx-zone:rctl> add value (priv=privileged,limit=10,action=none) zonecfg:lx-zone:rctl> end |
zonecfg:lx-zone> add rctl zonecfg:lx-zone:rctl> set name=zone.max-lwps zonecfg:lx-zone:rctl> add value (priv=privileged,limit=100,action=deny) zonecfg:lx-zone:rctl> end |
name、type、value
次の例では、ゾーンに関するコメントを追加します。
zonecfg:lx-zone> add attr zonecfg:lx-zone:attr> set name=comment zonecfg:lx-zone:attr> set type=string zonecfg:lx-zone:attr> set value="Production zone" zonecfg:lx-zone:attr> end |
export サブコマンドを使用すると、ゾーン構成を標準出力に出力できます。構成は、コマンドファイルに使用できる形式で保存されます。