この章では、システムにゾーンを構成する前に実行する必要のある操作について説明します。また、ゾーンの構成方法、ゾーン構成の変更方法、およびシステムからゾーン構成を削除する方法についても説明します。
ゾーン構成処理の概要については、第 17 章非大域ゾーンの構成 (概要)を参照してください。
ゾーンを使用できるようにシステムを設定する前に、まず、情報を収集してゾーンの構成方法を決定する必要があります。次の作業マップに、ゾーンの計画および構成方法の概要を示します。
タスク |
説明 |
説明 |
---|---|---|
ゾーンの全体的な計画を立てます。 |
|
使用状況の履歴を参照してください。「必要なディスク容量」および 「ゾーンで使用される資源プール」も参照してください。 |
ゾーンの名前を決定します。 |
命名規則に基づいてゾーンの名前を決定します。 |
「ゾーン構成データ」および 「ゾーンのホスト名」を参照してください。 |
ゾーンパスを決定します。 |
各ゾーンには、ルートディレクトリのパスが設定されます。これは、大域ゾーンのルートディレクトリに対する相対パスです。 |
「ゾーン構成データ」を参照してください。 |
資源プールを構成しない場合は、CPU 制限の必要性を評価します。 |
アプリケーションの要件を確認します。 |
「Solaris 10 8/07: dedicated-cpu 資源」を参照してください。 |
大域ゾーンから rcapd を使用してゾーンのメモリー上限を設定する場合は、メモリー割り当ての必要性を評価します。 |
アプリケーションの要件を確認します。 |
第 10 章資源上限デーモンによる物理メモリーの制御 (概要)、第 11 章資源上限デーモンの管理 (手順)、および 「Solaris 10 8/07: 物理メモリーの制御と capped-memory 資源」を参照してください。 |
FSS をシステムのデフォルトのスケジューラにします。 |
各ゾーンに CPU 配分を与えて、CPU 資源に対するゾーンの使用権を制御します。FSS では、割り当てられた配分に基づいて、プロジェクト間に CPU 資源が公平に配分されることが保証されています。 |
第 8 章公平配分スケジューラ (概要)および 「ゾーンのスケジューリングクラス」を参照してください。 |
ゾーンを共有 IP ゾーンにするか排他的 IP ゾーンにするかを決定します。 |
デフォルトは共有 IP ゾーンで、その場合はゾーンの IP アドレスを取得または構成します。構成に基づき、ネットワークアクセスを行う非大域ゾーンごとに 1 つ以上の IP アドレスを取得する必要があります。 排他的 IP ゾーンの場合は、ゾーンに割り当てるデータリンクを決定します。ゾーンには、1 つ以上のネットワークインタフェースへの排他的アクセスが必要です。インタフェースは、bge1 などの個別の LAN や、bge2000 などの個別の VLAN である可能性があります。データリンクは GLDv3 でなければなりません。GLDv3 でないデータリンクは、dladm show-link コマンドの出力に type: legacy と表示されます。 |
「ゾーンホスト名の決定およびネットワークアドレスの取得」、「ゾーンの構成方法」、および 『Solaris のシステム管理 (IP サービス)』を参照してください。 GLDv3 インタフェースの詳細については、『Solaris のシステム管理 (IP サービス)』の「Oracle Solaris インタフェースタイプ」を参照してください。 |
ゾーン内にマウントするファイルシステムを決定します。 |
アプリケーションの要件を確認します。 |
詳細は、「ゾーンでマウントされるファイルシステム」を参照してください。 |
ゾーンで使用可能にするべきネットワークインタフェースを決定します。 |
アプリケーションの要件を確認します。 |
詳細は、「共有 IP ネットワークインタフェース」を参照してください。 |
非大域ゾーンのデフォルトの特権セットを変更する必要があるかどうかを決定します。 |
特権セットを確認します。 デフォルトの特権、追加および削除が可能な特権、および現時点では使用できない特権があります。 |
「非大域ゾーン内の特権」を参照してください。 |
各ゾーンで構成するべきデバイスを決定します。 |
アプリケーションの要件を確認します。 |
使用するアプリケーションのマニュアルを参照してください。 |
ゾーンを構成します。 |
zonecfg を使用してゾーンの構成を作成します。 |
「ゾーンを構成、検証、および確定する」を参照してください。 |
構成したゾーンを検証および確定します。 |
指定された資源およびプロパティーが仮想サーバー上で有効かどうかを判定します。 |
「ゾーンを構成、検証、および確定する」を参照してください。 |
ゾーンは、Solaris 10 リリースが稼働する任意のマシンで実行できます。次に、ゾーンの使用に関連したマシンの主な考慮事項を示します。
各ゾーン内部で稼働するアプリケーションの性能要件。
各ゾーン内部で固有のファイルを保持するディスク容量がどれだけ利用可能か。
ゾーンが消費可能なディスク容量に関する制限はありません。ディスク容量の制限を設定することは、大域管理者の役割です。大域管理者は、非大域ゾーンのルートファイルシステムを保持するのに十分なローカルストレージがあることを確認する必要があります。小規模な単一プロセッサシステムでも、同時に稼働する多数のゾーンをサポートできます。
大域ゾーンにインストールされるパッケージの特性は、作成される非大域ゾーンの容量要件に影響を及ぼします。パッケージの数およびディスク容量要件が要因となります。
Solaris 10 リリースでは、inherit-pkg-dir 資源を持つ非大域ゾーンは疎ルートゾーンと呼ばれます。
疎ルートゾーンモデルは、次のようにオブジェクトの共有を最適化します。
大域ゾーンにインストールされているパッケージの一部だけが、非大域ゾーンに直接インストールされます。
それ以外のファイルへのアクセスは、読み取り専用のループバックファイルシステムを介して行われ、これらは inherit-pkg-dir 資源と呼ばれます。
このモデルでは、すべてのパッケージが非大域ゾーンにインストールされているように表示されます。ループバックマウントされた読み取り専用のファイルシステムに内容を提供しないパッケージは、完全にインストールされます。ループバックマウントされた読み取り専用のファイルシステムに提供される内容は、大域ゾーンから継承され可視になるので、インストールする必要はありません。
一般的なガイドラインとして、大域ゾーンに標準的な Solaris パッケージすべてをインストールする場合、ゾーンごとに約 100M バイトの空きディスク容量が必要になります。
デフォルトでは、大域ゾーンにインストールされた追加パッケージはすべて、非大域ゾーンにも生成されます。追加パッケージに inherit-pkg-dir 資源空間に置かれるファイルが含まれているかどうかによって、必須ディスク容量も増加する場合があります。
ゾーンごとに 40M バイトの 追加 RAM が推奨されていますが、十分なスワップ空間のあるマシンでは、これは必須ではありません。
完全ルートゾーンモデルは、最大限の構成可能性を提供します。Solaris の必須パッケージおよび選択したオプションパッケージのすべてが、ゾーン固有のファイルシステムにインストールされます。このモデルの利点として、大域管理者がゾーンのファイルシステムの配置をカスタマイズできることが挙げられます。たとえば、バンドルされていない Sun 以外のパッケージを任意に追加することが可能です。
このモデルに必要なディスク容量は、大域ゾーンにインストールされているパッケージによって使用されるディスク容量で決まります。
次の inherit-pkg-dir ディレクトリを含む疎ルートゾーンを作成した場合、このゾーンを完全ルートゾーンとしてインストールするには、まず、これらのディレクトリを非大域ゾーンの構成から削除する必要があります。
/lib
/platform
/sbin
/usr
「ゾーンの構成方法」を参照してください。
lofi を使用してマウントされたパーティションにゾーンを配置できます。この操作により、ゾーンの消費する容量が、lofi の使用するファイルの容量に制限されます。詳細は、lofiadm(1m) および lofi(7D) のマニュアルページを参照してください。
ソフトパーティションを使用して、ディスクスライスまたは論理ボリュームをパーティションに分割できます。これらのパーティションをゾーンのルートとして使用することで、ゾーンごとのディスク消費量を制限できます。ソフトパーティションの上限は、8192 パーティションに制限されています。詳細は、『Solaris ボリュームマネージャの管理』の第 12 章「ソフトパーティション (概要)」を参照してください。
ディスクの標準パーティションをゾーンのルートに使用できるため、ゾーンごとのディスク消費を制限できます。
ゾーンのホスト名を決定する必要があります。その後、ネットワーク接続を確立する場合、ゾーンの IPv4 アドレスを割り当てるか、IPv6 アドレスの構成および割り当てを手動で行う必要があります。
ゾーン用に選択したホスト名は、大域ゾーン内の /etc/nsswitch.conf ファイルでの指定に応じて、hosts データベースまたは /etc/inet/hosts データベース内で定義する必要があります。ネットワークデータベースは、ネットワークの構成情報を提供するファイルです。nsswitch.conf ファイルには、使用するネームサービスを指定します。
ネームサービス用にローカルファイルを使用する場合は、/etc/inet/hosts ファイル内で hosts データベースが保持されます。ゾーンネットワークインタフェースのホスト名の解決は、/etc/inet/hosts 内のローカル hosts データベースで行われます。あるいは、ゾーンの構成時に IP アドレス自体を直接指定することで、ホスト名の解決を不要にできます。
詳細は、『Solaris のシステム管理 (IP サービス)』の「TCP/IP 構成ファイル」および『Solaris のシステム管理 (IP サービス)』の「ネットワークデータベースと nsswitch.conf ファイル」を参照してください。
ネットワーク接続を必要とする各共有 IP ゾーンには、1 つ以上の一意の IP アドレスが与えられます。IPv4 と IPv6 の両方のアドレスがサポートされます。
IPv4 を使用している場合、アドレスを取得してゾーンに割り当てます。
IP アドレスとともに接頭辞の長さも指定できます。この接頭辞の書式は アドレス/接頭辞の長さ です。たとえば、192.168.1.1/24 の場合、使用するアドレスは 192.168.1.1 で、使用するネットマスクは 255.255.255.0、または最初の 24 ビットがビット 1 であるマスクです。
IPv6 を使用している場合、アドレスを手動で設定する必要があります。通常、次の 2 種類のアドレスを最小限設定する必要があります。
リンクローカルアドレスの書式は、fe80::<64 ビットインタフェース ID>/10 です。/10 は、接頭辞の長さが 10 ビットであることを示します。
大域ユニキャストアドレスは、管理者がサブネットごとに構成した 64 ビット接頭辞および 64 ビットのインタフェース ID に基づきます。接頭辞は、IPv6 を使用するよう構成されている同一サブネット上の任意のシステムで、ifconfig コマンドに -a6 オプションを指定して実行しても取得できます。
通常、64 ビットのインタフェース ID は、システムの MAC アドレスから取得されます。次の方法で、ゾーン用の一意の代替アドレスを大域ゾーンの IPv4 アドレスから取得できます。
<16 ビットのゼロ>:<IPv4 アドレスの上位 16 ビット>:<IPv4 アドレスの下位 16 ビット>:<ゾーンで一意の番号>
たとえば、大域ゾーンの IPv4 アドレスが 192.168.200.10 である場合、ゾーン固有の番号 1 を使用する非大域ゾーン用の適正なリンクローカルアドレスは、fe80::c0a8:c80a:1/10 になります。そのサブネットで使用中の大域接頭辞が 2001:0db8:aabb:ccdd/64 である場合、同じ非大域ゾーン用の一意の大域ユニキャストアドレスは 2001:0db8:aabb:ccdd::c0a8:c80a:1/64 です。IPv6 アドレスを設定する際、接頭辞の長さを指定する必要があることに注意してください。
リンクローカルおよび大域ユニキャストアドレスの詳細については、inet6(7P) のマニュアルページを参照してください。
排他的 IP ゾーンの内部で、大域ゾーンと同様の方法でアドレスを構成します。DHCP および IPv6 ステートレスアドレスの自動構成を使用してアドレスを構成することもできます。
詳細は、sysidcfg(4) のマニュアルページを参照してください。
仮想プラットフォームを設定する際、実行するマウントを多数指定できます。ループバック仮想ファイルシステム (LOFS) を使用してファイルシステムをゾーンにループバックマウントする場合、nodevices オプションを指定して仮想ファイルシステムをマウントする必要があります。nodevices オプションの詳細は、「ファイルシステムと非大域ゾーン」を参照してください。
LOFS を使用すると、代替パス名を使用してファイルにアクセスできるように、新しい仮想ファイルシステムを作成できます。非大域ゾーンでは、ループバックマウントにより、ファイルシステム階層がゾーンのルート下に複製されているように見えます。ゾーン内では、ゾーンのルートから始まるパス名を使ってすべてのファイルにアクセスできるようになります。LOFS マウントでは、ファイルシステムの名前空間が維持されます。
詳細は、lofs(7S) のマニュアルページを参照してください。
タスク |
説明 |
説明 |
---|---|---|
非大域ゾーンを構成します。 |
zonecfg コマンドを使用してゾーンの作成、構成の検証および確定を行います。 スクリプトを使用して、システム上の複数のゾーンを構成および起動することもできます。zonecfg コマンドを使用して非大域ゾーンの構成を表示できます。 | |
ゾーン構成を変更します。 |
ゾーン構成内の資源タイプを変更するか、専用のデバイスをゾーンに追加する場合に、この手順を実行します。 | |
ゾーン構成を元に戻すか、ゾーン構成を削除します。 |
zonecfg コマンドを使用して、ゾーン構成に対して行なった資源設定を取り消すか、ゾーン構成を削除します。 | |
ゾーン構成を削除します。 |
zonecfg コマンドと delete サブコマンドを使用して、システムからゾーン構成を削除します。 |
次の処理を実行するには、zonecfg コマンド (zonecfg(1M) のマニュアルページを参照) を使用します。
ゾーン構成を作成します
必要な情報がすべて存在することを確認します
非大域ゾーン構成を確定します
zonecfg コマンドは、大域ゾーンの資源管理設定を持続的に指定する場合にも使用できます。
zonecfg ユーティリティーを使用してゾーンを構成する際、revert サブコマンドを使用して、資源の設定を元に戻すことができます。「ゾーン構成を元に戻す方法」を参照してください。
システムに複数のゾーンを構成するスクリプトについては、「複数のゾーンを構成するスクリプト」を参照してください。
非大域ゾーンの構成を表示する方法については、「非大域ゾーンの構成を表示する方法」を参照してください。
ネイティブな非大域ゾーンの作成に必須の要素は、zonename および zonepath プロパティーだけです。そのほかの資源およびプロパティーは省略可能です。省略可能な資源には、dedicated-cpu 資源と capped-cpu 資源のどちらを使用するかを決めるなど、選択肢の中から選ぶ必要があるものもあります。使用可能な zonecfg のプロパティーと資源については、「ゾーン構成データ」を参照してください。
この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。
スーパーユーザーまたは Primary Administrator 役割になります。
役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
選択したゾーン名を使用して、ゾーン構成を設定します。
この手順例では、my-zone という名前を使用します。
global# zonecfg -z my-zone |
このゾーンの初回構成時には、次のシステムメッセージが表示されます。
my-zone: No such zone configured Use 'create' to begin configuring a new zone. |
新しいゾーン構成を作成します。
この手順では、デフォルト設定を使用します。
zonecfg:my-zone> create |
ゾーンのパス (この手順では /export/home/my-zone) を設定します。
zonecfg:my-zone> set zonepath=/export/home/my-zone |
Solaris 10 10/08 より前のリリースでは、zonepath を ZFS 上に設定しないようにしてください。
autoboot 値を設定します。
true に設定すると、大域ゾーンの起動時にこのゾーンが自動的に起動します。ゾーンを自動的に起動するには、ゾーンサービス svc:/system/zones:default も有効になっている必要があります。デフォルト値は false です。
zonecfg:my-zone> set autoboot=true |
.ゾーンの持続的なブート引数を設定します。
zonecfg:my-zone> set bootargs="-m verbose" |
1 つの CPU をこのゾーン専用に割り当てます。
zonecfg:my-zone> add dedicated-cpu |
権限のデフォルトセットを修正します。
zonecfg:my-zone> set limitpriv="default,sys_time" |
この行は、システムクロックを設定する機能をデフォルトの特権セットに追加します。
スケジューリングクラスを FSS に設定します。
zonecfg:my-zone> set scheduling-class=FSS |
メモリー上限を追加します。
zonecfg:my-zone> add capped-memory |
ファイルシステムを追加します。
zonecfg:my-zone> add fs |
ファイルシステムのマウントポイント (この手順では /usr/local) を設定します。
zonecfg:my-zone:fs> set dir=/usr/local |
大域ゾーン内の /opt/zones/my-zone/local を、構成中のゾーン内で /usr/local としてマウントすることを指定します。
zonecfg:my-zone:fs> set special=/opt/zones/my-zone/local |
非大域ゾーン内では、/usr/local ファイルシステムは読み取りおよび書き込みが可能です。
ファイルシステムのタイプ (この手順では lofs) を指定します。
zonecfg:my-zone:fs> set type=lofs |
このタイプは、カーネルとそのファイルシステムとの相互動作の方法を示します。
ファイルシステムの指定を終了します。
zonecfg:my-zone:fs> end |
この手順を複数回実行することで、複数のファイルシステムを追加できます。
(省略可能) hostid を設定します。
zonecfg:my-zone> set hostid=80f0c086 |
ストレージプール tank の sales という ZFS データセットを追加します。
zonecfg:my-zone> add dataset |
(疎ルートゾーンのみ) 大域ゾーンからループバックマウントされた共有ファイルシステムを追加します。
共有ファイルシステムを持たない完全ルートゾーンを作成する場合は、この手順を実行しないでください。「必要なディスク容量」に記述されている完全ルートゾーンの説明を参照してください。
zonecfg:my-zone> add inherit-pkg-dir |
大域ゾーン内の /opt/sfw を、構成中のゾーン内で読み取り専用モードでマウントすることを指定します。
zonecfg:my-zone:inherit-pkg-dir> set dir=/opt/sfw |
ゾーンのパッケージデータベースが更新され、パッケージが反映されます。zoneadm を使用してゾーンをインストールした後で、これらの資源を変更または削除することはできません。
inherit-pkg-dir の指定を終了します。
zonecfg:my-zone:inherit-pkg-dir> end |
この手順を複数回実行することで、複数の共有ファイルシステムを追加できます。
完全ルートゾーンを作成する場合で、inherit-pkg-dir を使用してデフォルトの共有ファイルシステム資源がすでに追加されているときは、ゾーンのインストール前に、次のように zonecfg を使用して、これらのデフォルトの inherit-pkg-dir 資源を削除する必要があります。
zonecfg:my-zone> remove inherit-pkg-dir dir=/lib
zonecfg:my-zone> remove inherit-pkg-dir dir=/platform
zonecfg:my-zone> remove inherit-pkg-dir dir=/sbin
zonecfg:my-zone> remove inherit-pkg-dir dir=/usr
(省略可能) 排他的 IP ゾーンを作成する場合は、ip-type を設定します。
zonecfg:my-zone> set ip-type=exclusive |
add net 手順では、物理デバイスタイプだけを指定します。
ネットワークインタフェースを追加します。
zonecfg:my-zone> add net |
(共有 IP のみ) ネットワークインタフェースの IP アドレス (この手順では 192.168.0.1) を指定します。
zonecfg:my-zone:net> set address=192.168.0.1 |
ネットワークインタフェースの物理デバイスタイプ (この手順では hme デバイス) を指定します。
zonecfg:my-zone:net> set physical=hme0 |
Solaris 10 10/08: (省略可能、共有 IP のみ) ネットワークインタフェースのデフォルトのルーター (この手順では10.0.0.1) を設定します。
zonecfg:my-zone:net> set defrouter=10.0.0.1 |
指定を終了します。
zonecfg:my-zone:net> end |
この手順を複数回実行することで、複数のネットワークインタフェースを追加できます。
デバイスを追加します。
zonecfg:my-zone> add device |
デバイスの一致 (この手順では /dev/sound/*) を設定します。
zonecfg:my-zone:device> set match=/dev/sound/* |
デバイスの指定を終了します。
zonecfg:my-zone:device> end |
この手順を複数回実行することで、複数のデバイスを追加できます。
プロパティー名を使用して、ゾーン規模の資源制御を追加します。
zonecfg:my-zone> set max-sem-ids=10485200 |
この手順を複数回実行することで、複数の資源制御を追加できます。
資源タイプ attr を使用してコメントを追加します。
zonecfg:my-zone> add attr |
ゾーンの構成を検証します。
zonecfg:my-zone> verify |
ゾーンの構成を確定します。
zonecfg:my-zone> commit |
zonecfg コマンドを終了します。
zonecfg:my-zone> exit |
プロンプトで commit コマンドを明示的に入力しなくても、exit を入力するか EOF が発生すると、commit の実行が自動的に試みられます。
zonecfg コマンドは、複数のサブコマンドもサポートします。次に示すように、同じシェル呼び出しで引用符で囲み、セミコロンで区切ります。
global# zonecfg -z my-zone "create ; set zonepath=/export/home/my-zone" |
確定済みのゾーン構成をインストールする方法については、「ゾーンのインストールと起動」を参照してください。
このスクリプトを使用して、システムで複数のゾーンを構成および起動できます。スクリプトには、次のパラメータを指定します。
作成するゾーンの数
接頭辞 zonename
基本ディレクトリとして使用するディレクトリ
このスクリプトを実行するには、大域ゾーン内の大域管理者になる必要があります。大域管理者は、大域ゾーン内でスーパーユーザー権限を保持するか、Primary Administrator 役割になります。
#!/bin/ksh # # Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # #ident "%Z%%M% %I% %E% SMI" if [[ -z "$1" || -z "$2" || -z "$3" ]]; then echo "usage: $0 <#-of-zones> <zonename-prefix> <basedir>" exit 2 fi if [[ ! -d $3 ]]; then echo "$3 is not a directory" exit 1 fi nprocs=`psrinfo | wc -l` nzones=$1 prefix=$2 dir=$3 ip_addrs_per_if=`ndd /dev/ip ip_addrs_per_if` if [ $ip_addrs_per_if -lt $nzones ]; then echo "ndd parameter ip_addrs_per_if is too low ($ip_addrs_per_if)" echo "set it higher with 'ndd -set /dev/ip ip_addrs_per_if <num>" exit 1 fi i=1 while [ $i -le $nzones ]; do zoneadm -z $prefix$i list > /dev/null 2>&1 if [ $? != 0 ]; then echo configuring $prefix$i F=$dir/$prefix$i.config rm -f $F echo "create" > $F echo "set zonepath=$dir/$prefix$i" >> $F zonecfg -z $prefix$i -f $dir/$prefix$i.config 2>&1 | \ sed 's/^/ /g' else echo "skipping $prefix$i, already configured" fi i=`expr $i + 1` done i=1 while [ $i -le $nzones ]; do j=1 while [ $j -le $nprocs ]; do if [ $i -le $nzones ]; then if [ `zoneadm -z $prefix$i list -p | \ cut -d':' -f 3` != "configured" ]; then echo "skipping $prefix$i, already installed" else echo installing $prefix$i mkdir -pm 0700 $dir/$prefix$i chmod 700 $dir/$prefix$i zoneadm -z $prefix$i install > /dev/null 2>&1 & sleep 1 # spread things out just a tad fi fi i=`expr $i + 1` j=`expr $j + 1` done wait done i=1 while [ $i -le $nzones ]; do echo setting up sysid for $prefix$i cfg=$dir/$prefix$i/root/etc/sysidcfg rm -f $cfg echo "network_interface=NONE {hostname=$prefix$i}" > $cfg echo "system_locale=C" >> $cfg echo "terminal=xterms" >> $cfg echo "security_policy=NONE" >> $cfg echo "name_service=NONE" >> $cfg echo "timezone=US/Pacific" >> $cfg echo "root_password=Qexr7Y/wzkSbc" >> $cfg # 'l1a' i=`expr $i + 1` done i=1 para=`expr $nprocs \* 2` while [ $i -le $nzones ]; do date j=1 while [ $j -le $para ]; do if [ $i -le $nzones ]; then echo booting $prefix$i zoneadm -z $prefix$i boot & fi j=`expr $j + 1` i=`expr $i + 1` done wait done |
この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。
スーパーユーザーまたは Primary Administrator 役割になります。
役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
ゾーンの構成を表示します。
global# zonecfg -z zonename info |
zonecfg コマンドを使用して、次の操作を実行することもできます。
ゾーン構成内の資源タイプを変更します
ゾーン構成内のプロパティーの値をクリアーします
複製したデバイスをゾーンに追加します
資源タイプを選択して、その資源の仕様を変更できます。
zoneadm を使ってゾーンをインストールしたあとで inherit-pkg-dir ディレクトリ内のソフトウェアパッケージの内容を変更したり削除したりすることはできない点に注意してください。
この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。
スーパーユーザーまたは Primary Administrator 役割になります。
役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
変更するゾーン (この手順では my-zone ) を選択します。
global# zonecfg -z my-zone |
変更する資源タイプ (資源制御など) を選択します。
zonecfg:my-zone> select rctl name=zone.cpu-shares |
現在の値を削除します。
zonecfg:my-zone:rctl> remove value (priv=privileged,limit=20,action=none) |
新しい値を追加します。
zonecfg:my-zone:rctl> add value (priv=privileged,limit=10,action=none) |
改定された rctl の指定を終了します。
zonecfg:my-zone:rctl> end |
ゾーンの構成を確定します。
zonecfg:my-zone> commit |
zonecfg コマンドを終了します。
zonecfg:my-zone> exit |
プロンプトで commit コマンドを明示的に入力しなくても、exit を入力するか EOF が発生すると、commit の実行が自動的に試みられます。
zonecfg で行なった確定済みの変更は、ゾーンの次回起動時に適用されます。
スタンドアロンのプロパティーをリセットするには、この手順を使用します。
スーパーユーザーまたは Primary Administrator 役割になります。
役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
変更するゾーン (この手順では my-zone) を選択します。
global# zonecfg -z my-zone |
変更対象のプロパティー (この手順では既存のプールの関連付け) をクリアーします。
zonecfg:my-zone> clear pool |
ゾーンの構成を確定します。
zonecfg:my-zone> commit |
zonecfg コマンドを終了します。
zonecfg:my-zone> exit |
プロンプトで commit コマンドを明示的に入力しなくても、exit を入力するか EOF が発生すると、commit の実行が自動的に試みられます。
zonecfg で行なった確定済みの変更は、ゾーンの次回起動時に適用されます。
構成する関連プロパティーを持たないスタンドアロンのプロパティーをリセットするには、この手順を使用します。たとえば、既存のプールの関連付けを削除するには、pool 資源を null にリセットします。
スーパーユーザーまたは Primary Administrator 役割になります。
役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
変更するゾーン (この手順では my-zone) を選択します。
global# zonecfg -z my-zone |
変更対象のプロパティー (この手順では既存のプールの関連付け) をリセットします。
zonecfg:my-zone> set pool="" |
ゾーンの構成を確定します。
zonecfg:my-zone> commit |
zonecfg コマンドを終了します。
zonecfg:my-zone> exit |
プロンプトで commit コマンドを明示的に入力しなくても、exit を入力するか EOF が発生すると、commit の実行が自動的に試みられます。
zonecfg で行なった確定済みの変更は、ゾーンの次回起動時に適用されます。
この手順を使用すると、構成済み状態またはインストール済み状態にあるゾーンの名前を変更できます。
この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。
スーパーユーザーまたは Primary Administrator 役割になります。
役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
名前を変更するゾーン (この手順では my-zone) を選択します。
global# zonecfg -z my-zone |
ゾーンの名前を newzone などに変更します。
zonecfg:my-zone> set zonename=newzone |
変更を確定します。
zonecfg:newzone> commit |
zonecfg コマンドを終了します。
zonecfg:newzone> exit |
zonecfg で行なった確定済みの変更は、ゾーンの次回起動時に適用されます。
次に、非大域ゾーン構成内に走査デバイスを配置する手順を示します。
この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。
スーパーユーザーまたは Primary Administrator 役割になります。
役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
デバイスを追加します。
zonecfg:my-zone> add device |
デバイスの一致 (この手順では /dev/scsi/scanner/c3t4*) を設定します。
zonecfg:my-zone:device> set match=/dev/scsi/scanner/c3t4* |
デバイスの指定を終了します。
zonecfg:my-zone:device> end |
zonecfg コマンドを終了します。
zonecfg:my-zone> exit |
大域ゾーンの配分を持続的に設定する場合に、ここで説明する手順を使用します。
この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。
スーパーユーザーまたは Primary Administrator 役割になります。
役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
zonecfg コマンドを使用します。
# zonecfg -z global |
大域ゾーンの配分を 5 に設定します。
zonecfg:global> set cpu-shares=5 |
zonecfg を終了します。
zonecfg:global> exit |
zonecfg(1M) のマニュアルページの記述に従って、zonecfg コマンドを使用し、ゾーンの構成を元に戻すか、またはゾーン構成を削除します。
zonecfg ユーティリティーによるゾーンの構成中にゾーン構成に対して行なった資源設定を取り消すには、revert サブコマンドを使用します。
この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。
スーパーユーザーまたは Primary Administrator 役割になります。
役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
tmp-zone という名前のゾーンを構成中に、info と入力して構成を表示します。
zonecfg:tmp-zone> info |
構成の net 資源セグメントが、次のように表示されます。
. . . fs: dir: /tmp special: swap type: tmpfs net: address: 192.168.0.1 physical: eri0 device match: /dev/pts/* . . . |
ネットアドレスを削除します。
zonecfg:tmp-zone> remove net address=192.168.0.1 |
net エントリが削除されたことを確認します。
zonecfg:tmp-zone> info |
. . . fs: dir: /tmp special: swap type: tmpfs device match: /dev/pts/* . . . |
revert と入力します。
zonecfg:tmp-zone> revert |
次の質問に yes で応答します。
Are you sure you want to revert (y/[n])? y |
ネットアドレスが再び存在することを確認します。
zonecfg:tmp-zone> info |
. . . fs: dir: /tmp special: swap type: tmpfs net: address: 192.168.0.1 physical: eri0 device match: /dev/pts/* . . . |
zonecfg と delete サブコマンドを使用して、システムからゾーン構成を削除します。
この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。
スーパーユーザーまたは Primary Administrator 役割になります。
役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
次の 2 つの方法のいずれかを使用して、ゾーン a-zone のゾーン構成を削除します。
-F オプションを使用して操作を強制実行します。
global# zonecfg -z a-zone delete -F |
システムプロンプトに yes で応答し、対話的にゾーンを削除します。
global# zonecfg -z a-zone delete Are you sure you want to delete zone a-zone (y/[n])? y |