zonecfg -z zonename [-r]
zonecfg -z zonename [-r] subcommand
zonecfg -z zonename [-r] -f command_file
zonecfg help
zonecfg ユーティリティーは、ゾーンの構成を作成、変更、および一覧表示します。作成機能と変更機能は承認されたユーザーだけが使用でき、ルートの実効ユーザー ID でプロセスを実行する必要があります。それ以外の場合には、読み取り専用モードで実行されます。
ゾーン構成は、いくつかのリソースおよびプロパティーで構成されます。
ユーザーインタフェースを簡素化するために、zonecfg ではスコープの概念が使用されます。デフォルトのスコープは大域です。
次の形式の zonecfg コマンドは、非対話形式で使用されます。
zonecfg –z zonename subcommand
zonecfg ユーティリティーは 2 つの編集モードで実行できます。
安定したストレージに格納されている永続的なゾーン構成の作成、変更、および一覧表示が可能です。デフォルトモードで zonecfg によって変更されたパラメータは、稼働中のゾーンには影響しません。変更を有効にするには、ゾーンを zoneadm(1M) apply サブコマンドを使用して再構成するか、リブートする必要があります。
永続的な構成の変更を許可するには、solaris.zone.config/zonename の承認が必要です。
実行中のゾーンのライブ構成の作成、変更、および一覧表示が可能です。ライブモードで zonecfg によって変更されたパラメータは、確定された直後に反映され、ゾーンの次回のリブートまでアクティブなままになります。ライブモードは実行中のゾーンでのみ使用可能で、solaris.zone.liveconfig/zonename の承認が必要です。
ライブゾーン再構成によってサポートされるリソースについての詳細は、それぞれのブランドマニュアルページを参照してください。
ゾーンの作成と変更のほか、zonecfg ユーティリティーは大域ゾーンのリソース管理設定を永続的に指定したり、fs-allowed、データセット、およびデバイスの設定と組み合わせて file-mac-profile を指定することによって、大域ゾーンを不変大域ゾーンとして構成したりできます。
以降の文では、「rctl」を「resource control」(リソース制御) の略語として使用します。resource_controls (5) を参照してください。
すべてのゾーンに、それぞれ関連するブランドが構成されます。ブランドによって、ゾーン内で使用されるユーザーレベルの環境のみでなく、ゾーンがインストール、ブート、またはシャットダウンされるときのゾーンのさまざまな動作も決まります。ゾーンのインストールが完了したあとは、そのブランドを変更することはできません。デフォルトのブランドは、大域ゾーンにインストールされているディストリビューションによって決まります。ブランドの中には、zonecfg のすべてのプロパティーおよびリソースをサポートしないものがあります。各ブランドについての詳細は、ブランド固有のマニュアルページを参照してください。ブランドの概要については、brands(5) のマニュアルページを参照してください。
次のリソースタイプがサポートされています。
汎用属性。
CPU 使用率の制限。
物理メモリー、スワップメモリー、およびロックされたメモリーの制限。
ZFS データセット。
稼働している間、このゾーン専用に割り当てられるシステムプロセッサのサブセット。
デバイス。
ファイルシステム。
暗号化鍵
ネットワークインタフェース。
自動ネットワークインタフェース。
ゾーン用に構成される追加の MAC アドレス。mac リソースは anet リソース内でのみ有効です。
委任された管理者。
リソース制御。
一時停止イメージ
ゾーンのインストール専用の ZFS zpool です。
ゾーン用に構成された仮想 CPU。
ゾーンに委任される ZFS zpool です。
Solaris の以前のリリースで使用されていた疎ルートゾーンの概念。この機能は、SVr4 パッケージングシステムと密接に関連しており、ディスク容量の節約と管理作業の軽減を目的としていました。
新しいパッケージングシステムである IPS では、ゾーンにインストールするパッケージをより柔軟に選択できるようになっています。したがって、ファイルシステムテクノロジが進歩したこと (特に ZFS 複製解除) も考慮すれば、疎ルートゾーンを削除することは非常に実用的です。IPS パッケージングとファイルシステムの進歩が組み合わされた結果、すべてのゾーンに疎ルートゾーンのメリットがもたらされています。
各リソースタイプには、1 つまたは複数のプロパティーが割り当てられます。また、いくつかの大域プロパティー (特定のリソースのプロパティーではなく、構成全体のプロパティー) も割り当てられます。
次のプロパティーがサポートされています。
zonename
zonepath
autoboot
autoshutdown
bootargs
プール
limitpriv
ブランド
cpu-shares
hostid
max-lwps
max-msg-ids
max-processes
max-sem-ids
max-shm-ids
max-shm-memory
scheduling-class
fs-allowed
file-mac-profile
tenant
dir、special、raw、type、options
address、allowed-address、configure-allowed-address、physical、defrouter、id
linkname、lower-link、allowed-address、auto-mac-address、configure-allowed-address、defrouter、mac-address、mac-slot、mac-prefix、mtu、maxbw、priority、vlan-id、vsi-typeid、vsi-vers、vsi-mgrid、rxfanout、rxrings、txrings、link-protection、allowed-dhcp-cids、pkey、linkmode、etsbw-lcl、cos、id、evs、vport
auto-mac-address、mac-address、mac-prefix、id
match、allow-partition、allow-raw-io、id、storage
name、value
name、type、value
name、alias
ncpus、importance
cpus、cores、sockets
ncpus
physical、swap、locked
ncpus
user、auths
ストレージ
ストレージ、名前
raw
path、storage
これらのプロパティー名のプロパティー値は、単純値、複合値、またはリスト値で指定します。許可されるタイプはプロパティーごとに異なります。単純値は文字列で、引用符で囲むこともできます。複合値は次の構文で指定します。
(<name>=<value>,<name>=<value>,...)
ここで、各 <value> は単純値であり、<name> 文字列は与えられたプロパティー内で一意になります。リストは次の構文で指定します。
[<value>,...]
ここで、<value> は、単純値、複合値のいずれかです。値 (単純値または複合値) が 1 つだけのリストは、リスト構文を使わずにその値を指定することと等価です。つまり、「foo」は「[foo]」と等価です。リストは空でもかまいません (「[]」と表記)。
プロパティー値の解釈において、zonecfg は fnmatch(5) で指定されている正規表現に対応しています。「使用例」を参照してください。
次にプロパティータイプについて説明します。
ゾーンの名前。
ゾーンのファイルシステムのパス。zonepath のデフォルト値は /system/zones/%{zonename} です。
システムがブートするときに、ゾーンを自動的にブートするかどうかを指定するブール値。ゾーンサービスが無効になっている場合は、このプロパティーの設定に関係なく、ゾーンは自動的にブートされません。ゾーンサービスを有効にするには、次のように svcadm コマンドを使用します。
# svcadm enable svc:/system/zones:default
ゾーンサービスを無効にする場合は、enable を disable に置き換えます。svcadm(1M) を参照してください。
大域ゾーンのクリーンシャットダウン時にこのゾーンに対して実行するアクション。shutdown (クリーンゾーンシャットダウン、デフォルト)、halt、または suspend を指定できます。
ゾーンのブート時に渡される引数 (オプション)。ただし、zoneadm boot コマンドにオプションが指定された場合は、そちらが優先されます。有効な引数は、zoneadm(1M) で説明されています。
ブート時にこのゾーンをバインドするリソースプールの名前。このプロパティーには dedicated-cpu リソースとの互換性はありません。
このゾーン内のいずれかのプロセスが入手できる特権のセットの最大数。プロパティーは、priv_str_to_set(3C) で説明されているコンマ区切りの特権セットの仕様で構成するようにしてください。名前の前にダッシュ (-) または感嘆符 (!) を付けると、結果として得られるセットから特権を除外できます。このコンテキストでは、特別な特権文字列「zone」はサポートされていません。特別な文字列「default」がプロパティーで最初のトークンとして出現する場合、zones(5) で説明されている、リソースとセキュリティーの分離を保持する安全な特権のセットに展開します。プロパティーが不足しているか空である場合、この同じ安全な特権のセットと同等になります。
システム管理者は、ゾーンの構成を行う際に細心の注意を払う必要があります。一部の特権は、ゾーンのブートに必須のためこのメカニズムを介して除外できません。さらに、ゾーン内のプロセスがほかのゾーンのプロセスに過度に影響を与えてしまうため、特定の特権はゾーンに対して付与されていません。zoneadm(1M) は、ゾーンを「ブート」または「準備」しようとする際、無効な特権がゾーンに追加されるまたはゾーンから削除される場合を示しています。
特権の説明は、privileges(5) を参照してください。コマンド「ppriv -l」(ppriv(1) を参照) は、すべての Solaris 特権の一覧を生成します。ppriv で表示されるように特権を指定できます。privileges(5) では、特権がPRIV_privilege_name の形式で一覧表示されています。たとえば、このプロパティーで特権 sys_time を指定した場合、これは privileges(5) では PRIV_SYS_TIME として表示されています。
ゾーンのブランドタイプ。
ゾーンは独自の排他的な IP のインスタンスを持つ (デフォルト) か、大域ゾーンと IP インスタンスを共有することができます。デフォルトゾーンテンプレート SYSdefault では、ip-type は exclusive に設定されます。追加で提供される SYSdefault-shared-ip テンプレートでは、ip-type は shared に設定されます。
このプロパティーは exclusive および shared の値を取ります。
ゾーンは、システムを統合しやすくするために、32 ビットのホスト識別子をエミュレートできます。ゾーンの hostid プロパティーはデフォルトで空になっており、ゾーンがホスト識別子をエミュレートしないことを意味しています。ゾーンのホスト識別子には、0 から FFFFFFFE の 16 進値を指定してください。接頭辞 0x または 0X はオプションです。大文字と小文字の両方の 16 進数を使用できます。
ゾーン内にマウントできる追加ファイルシステムのコンマ区切りリスト (たとえば、ufs,pcfs)。デフォルトでは、hsfs(7FS) とネットワークファイルシステムだけがマウントできます。
このプロパティーは、add fs または add dataset によってゾーンにマウントされたファイルシステムには適用されません。
注意 - デフォルト以外のファイルシステムマウントを許可すると、ゾーン管理者が偽のファイルシステムイメージでシステムに損害を与えることが可能になるため、このような許可はサポートされていません。 |
読み取り専用ポリシーから除外されるファイルシステムの部分、つまりゾーンが書き込むことができるファイルシステムの部分を定義します。
このプロパティーでは現在、none、strict、fixed-configuration、および flexible-configuration の 4 つの値がサポートされています。
none を指定すると、このゾーンは通常の r/w ゾーンと全く同じになります。strict を指定すると、読み取り専用ポリシーに対する例外を許可しません。fixed-configuration を指定すると、構成ファイルが格納されているディレクトリを除いて、/var の内部とそれ以下にあるファイルへの書き込みが許可されます。
/var/ld /var/lib/postrun /var/pkg /var/spool/cron, /var/spool/postrun /var/svc/manifest /var/svc/profiles
flexible-configuration は fixed-configuration と同じですが、/etc 内のファイルへの書き込みも追加で許可されます。
VNIC anet が接続する EVS を所有するテナントの名前を定義します。evsadm(1M) を参照してください。
ファイルシステムをマウントする方法や場所などを決めるために必要な値。mount(1M)、mount(2)、fsck(1M)、および vfstab(4) を参照してください。
net リソースは、ゾーンに対する物理ネットワークリソースの割り当てを表します。割り当ての前に、リソースは大域ゾーンに存在する必要があります。
ネットワークインタフェースのネットワークアドレスと物理インタフェース名。ネットワークアドレスは、次のいずれかになります。
有効な IPv4 アドレス。後続の「/」とプレフィックス長は任意です。
有効な IPv6 アドレス。後続の「/」とプレフィックス長は必須です。
IPv4 アドレスに解決されるホスト名。
IPv6 アドレスに解決されるホスト名はサポートされていません。
物理インタフェース名はネットワークインタフェース名です。
省略可能なデフォルトルートの値は、ネットワークアドレスと同様に指定しますが、後ろに / (スラッシュ) とネットワーク接頭辞長を決して付けないでください。defrouter 機能を正しく使用できるようにするには、このプロパティーを使用するゾーンを、大域ゾーンが常駐するサブネットとは異なるサブネット上に配置してください。また、異なる defrouter 設定を使用する各ゾーン (あるいはゾーンセット) を異なるサブネット上に配置してください。
ID 値はネットワークインタフェースの識別に使用される正の整数です。solaris-kz(5) を参照してください。
ゾーンは排他的 IP か共有 IP のいずれかに構成できます。共有 IP ゾーンでは、物理プロパティーとアドレスプロパティーの両方を設定する必要があります。デフォルトルートの設定はオプションです。物理プロパティーで指定したインタフェースは、非大域ゾーンをブートする前に大域ゾーンに plumb する必要があります。ただし、そのインタフェースが大域ゾーンで使用されない場合は、そのインタフェースを大域ゾーンで down に構成するようにしてください。そのインタフェースのデフォルトルートがここで指定されるはずです。allowed-address プロパティーは共有 IP ゾーン用には設定できません。
排他的 IP ゾーンでは、physical プロパティーを設定する必要があり、address プロパティーは設定してはいけません。また、排他的 IP ゾーンが使用できる IP アドレスのセットは、allowed-address プロパティーを指定して制限できます。allowed-address が指定されていない場合、排他的 IP ゾーンは、関連付けられた physical インタフェース上の任意の IP アドレスをネットリソースに使用できます。そうではなく、allowed-address が指定されている場合、排他的 IP ゾーンは、allowed-address リストにない IP アドレスを physical アドレスに使用できません。configure-allowed-address が true に設定されている場合、ゾーンがブートするたびに allowed-address で指定されたアドレスがインタフェース上に自動的に構成されます。これが false に設定されている場合、allowed-address はゾーンのブート時に構成されません。デフォルトでは、allowed-address が指定されると configure-allowed-address は true に構成されます。さらに、allowed-address リストが提供されている場合は、defrouter プロパティーも必要に応じて指定できます。ただし、defrouter 値が指定されて configure-allowed-address が false に構成された場合、defrouter 値は無視されて、該当する警告メッセージが表示されます。physical プロパティーに指定されたインタフェースを大域ゾーンで使用してはいけません。allowed-address とデフォルトルーターが zonecfg によって指定された場合、これらは、非大域排他的 IP ゾーンで ipadm(1M) によってインタフェースが有効にされているとき (通常はゾーンのブート中) に、そのインタフェースに適用されます。非大域排他的 IP ゾーンは、ほかのどのアドレスをそのインタフェースに適用することもできなくなります。また、指定された IP バージョンの別のソースアドレスを持つパケットを送信することもできなくなります。zonecfg によって設定されたデフォルトのルーターは、–p フラグと route(1M) を使用して非大域排他的 IP ゾーン内から恒久的に削除することはできません。
複数の排他的 IP ゾーン間で 1 つのデータリンクを共有することはできません。
anet リソースは、排他的 IP ゾーンについてのネットワークリソースの自動作成を表します。zonecfg がデフォルトの SYSdefault テンプレートを使用してゾーンを作成すると、次のプロパティーを持つ anet リソースがゾーン構成に自動的に入ります。
linkname=net0 lower-link=auto mac-address=default link-protection=mac-nospoof
そのようなゾーンのブート時に、ゾーンの一時 VNIC または IPoIB データリンクが自動的に作成されます。ゾーンが停止すると、VNIC または IPoIB データリンクは削除されます。
EVS は、1 つまたは複数のサーバー (物理マシン) にまたがる仮想スイッチです。これは分離された L2 セグメントを示し、そのセグメントに接続されている VNIC anet を持つゾーン間のネットワーク接続を提供します。VPort は 3 タプル <tenant、evs、vport> によって一意に識別されるため、VNIC anet を EVS に接続する必要がある場合は、この情報をゾーンの構成に含める必要があります。
サポートされるプロパティーについては、下記を参照してください。これらのプロパティーはすべてオプションです。大域ゾーンだけが、自動的に作成された VNIC または IPoIB データリンクまたはそのプロパティーを変更できます。zonecfg に設定されたプロパティーを VNIC または IPoIB リンクの作成時に VNIC または IPoIB リンクに割り当てることができない場合、ゾーンはブートに失敗します。
自動作成される VNIC または IPoIB データリンクの名前を指定します。デフォルトでは、このプロパティーは、netN という形式の (ゾーンの) 最初に利用可能な名前に自動的に設定されます。ここで、N は負でない整数です。たとえば、net0、net1 などのようになります。info サブコマンドによって、自動的に選択される linkname が表示されます。
大域ゾーンを含む複数のゾーンが、同じ名前のリンクを同時に持つことができます。
EVS が指定され、オプションで VPort が指定された場合、VNIC anet は、その VPort でその EVS に接続されることによって作成されます。グローバルテナントプロパティーが指定された場合、EVS はそのテナントの名前空間内で検索されます。
VPort が指定された場合、VPort の SLA プロパティー (maxbw、cos、および priority)、IP アドレス、およびデフォルトのルーターの MAC アドレスは VNIC によって継承されます。VPort が指定されない場合、EVS コントローラはシステム VPort (IP アドレス、MAC アドレス、および EVS のデフォルトの SLA プロパティーを持つ) を生成し、VNIC はこのシステム VPort に接続します。
allowed-ips VNIC プロパティーを VPort の IP アドレスのプロパティーに設定することによって、IP アドレスのスプーフィング対策が VNIC 上で有効になります。VPort の IP アドレスは、ゾーンがブートするたびにインタフェース上で自動的に構成されます。VPort に関連付けられているデフォルトルーター IP アドレスも、ゾーン内で自動的に構成されます。
EVS および VPort の詳細については、evsadm(1M) マニュアルページを参照してください。
VNIC または IPoIB が作成されるリンクを指定します。このプロパティーのデフォルト値は、Ethernet リンクでは auto です。pkey を指定する場合、lower-link を有効な IPoIB phys クラスデータリンクとともに指定する必要があります。管理者は、anet リソースを追加するとき、値を明示的に指定できます。リンクには、dladm create-vnic の –l オプションまたは dladm create-part の –l オプションの引数として受け入れられるすべてのリンクを使用できます (dladm(1M) を参照してください)。このプロパティーが linkname (auto 以外) に設定され、そのリンクが存在しない場合、ゾーンはブートに失敗します。auto に設定されると、zoneadmd(1M) デーモンは、ゾーンがブートするたびに、VNIC が作成されるリンクを自動的に選択します。ブート中に VNIC を自動的に作成するためにデフォルトの lower-link を選択すると、すべての IPoIB データリンクがスキップされます。リンクは次の発見的方法を使用して選択されます。
リンク状態が up のリンクアグリゲーション。
リンク状態が up の物理 Ethernet リンクのうち、アルファベット順にもっとも小さいリンク名を持つもの。
up のものがない場合、net0 という名前のデータリンクがあれば、それが使用されます。
上記のどれも満たすことができない場合、ゾーンはブートに失敗します。
net リソースの排他的 IP ゾーンについての allowed-address プロパティーの説明を参照してください。
mac-address プロパティー (下記参照) が random または auto に設定されている場合に、ゾーンで永続的に同じアドレスが再取得されるように、ランダムに生成された MAC アドレスのリストを保持します。ランダムに生成されたアドレスをリセットするには、管理者がこのプロパティーをクリアする必要があります。
net リソースの排他的 IP ゾーンについての configure-allowed-address プロパティーの説明を参照してください。
データリンクに関連付けられた 802.1p の優先度。このプロパティーの詳細は、dladm(1M) を参照してください。
net リソースの排他的 IP ゾーンについての defrouter プロパティーの説明を参照してください。
TX 側の ETS 帯域幅を示します。このプロパティーの詳細は、dladm(1M) を参照してください。
指定した値またはキーワードに基づいて、MAC アドレスの VNIC のリストを設定します。リストの要素がキーワードでない場合は、ユニキャスト MAC アドレスとして解釈されます。このプロパティーは、IPoIB データリンクではサポートされません。サポートされるキーワードは次のとおりです。
factory: ファクトリ MAC アドレスを VNIC に割り当てます。ファクトリ MAC アドレスが要求された場合、mac-slot プロパティーを使用して MAC アドレススロット識別子を指定できます。そうでない場合、次に使用可能なファクトリ MAC アドレスが使用されます。
random: ランダムな MAC アドレスを VNIC に割り当てます。mac-prefix プロパティーを使用して接頭辞を指定します。そうでない場合、ローカルビットが設定された有効な IEEE OUI で構成されたデフォルトの接頭辞が使用されます。
auto: 可能であれば、NIC でサポートしている場合は最初にランダムな mac-address の割り当てを試み、そうでない場合は出荷時の mac-address の割り当てを試みます。これがデフォルト値です。
default: プラットフォーム固有の割り当て方法を使用します。ほとんどの場合、これはランダムなアドレス (上記の「random」を参照) の割り当てを試みます。現在のプラットフォームが Oracle Solaris カーネルゾーンの場合、出荷時の MAC アドレスが割り当てられます (上記の「factory」を参照)。
ランダムな MAC アドレスが選択された場合、生成されたアドレスは、ゾーンのブートやゾーンの切り離し、接続を行なったあとも保持されます。これにより、ゾーンは安定したクライアント ID を維持することによって DHCP リースを保持できるほか、安定した MAC アドレスを持つことによるほかの利点を活用することができます。
ランダムな MAC アドレスの割り当てがリクエストされた場合に使用する MAC アドレス接頭辞のリストを指定します。それ以外の場合、このプロパティーは無視されます。このプロパティーは、IPoIB データリンクでは無効です。
出荷時の MAC アドレスがリクエストされた場合に使用する MAC アドレススロット識別子のリストを指定します。それ以外の場合、このプロパティーは無視されます。このプロパティーは、IPoIB データリンクでは無効です。
VNIC の最大転送単位 (バイト)。dladm(1M) の mtu プロパティーを参照してください。
VNIC の全二重帯域幅を指定します。dladm(1M) の maxbw プロパティーを参照してください。デフォルトでは、VNIC は lower-link に設定された maxbw を使用し、何も設定されない場合は帯域幅制限はありません。
VNIC の相対的な優先度を指定します。サポートされる値とデフォルトについては、dladm(1M) の priority プロパティーを参照してください。
この VNIC の VLAN タグを使用可能にして、VLAN タグの ID を指定します。デフォルト値は存在しません。つまり、このプロパティーを設定しないと、VNIC はどの VLAN にも参加しません。このプロパティーは、IPoIB データリンクではサポートされません。
VNIC に関連付けられた VSI タイプ ID を指定します。dladm(1M) の説明を参照してください。
VNIC に関連付けられた VSI バージョンを指定します。dladm(1M) の説明を参照してください。
VNIC に関連付けられた VSI マネージャー ID を指定します。dladm(1M) の説明を参照してください。
受信側ファンアウトスレッドの数を指定します。dladm(1M) の説明を参照してください。
VNIC の受信リングを指定します。サポートされる値とデフォルトについては、dladm(1M) の rxrings プロパティーを参照してください。
VNIC の送信リングを指定します。サポートされる値とデフォルトについては、dladm(1M) の txrings プロパティーを参照してください。
コンマ区切り値を使用して、1 つ以上のリンク保護のタイプを使用可能にします。サポートされる値については、dladm(1M) の protection プロパティーを参照してください。このデフォルト値は mac-nospoof です。
ip-nospoof をこのプロパティーに追加しても、allowed-address も設定しないかぎり効果はありません。allowed-address を設定すると、ip-nospoof が link-protection のセットに暗黙に追加され、allowed-address をクリアするとこれが削除されます。
このプロパティーを設定すると、VNIC の dhcp-nospoof が有効になります。詳細は、dladm(1M) を参照してください。
InfiniBand パーティションキー値を 16 進数で指定します。pkey は、0x 接頭辞が付いているかどうかに関係なく、常に 16進数として扱われます。このプロパティーは、IPoIB データリンクのみで有効です。
IB パーティションデータリンク上のリンクトランスポートのサービスタイプを設定します。デフォルト値は cm です。このプロパティーは、IPoIB データリンクのみで有効です。有効な値は次のとおりです。
接続モード。このモードでは 65520 のデフォルトの MTU を使用し、65535 バイトの最大 MTU をサポートします。リモートノードに対して接続モードが使用できない場合は、代わりに低信頼データグラムモードが自動的に使用されます。
低信頼データグラムモード。このモードでは 2044 のデフォルトの MTU を使用し、4092 バイトの最大 MTU をサポートします。
ID 値はネットワークインタフェースの識別に使用される正の整数です。solaris-kz(5) を参照してください。
mac リソースは anet リソースに MAC アドレスを追加するために使用され、プライマリ MAC アドレスは anet:mac-address プロパティーによって指定されます。
mac-address プロパティー (下記参照) が random または auto に設定されている場合に、ゾーンで永続的に同じアドレスが再取得されるように、ランダムに生成された MAC アドレスのリストを保持します。ランダムに生成されたアドレスをリセットするには、管理者がこのプロパティーをクリアする必要があります。
指定した値またはキーワードに基づいて、MAC アドレスの VNIC のリストを設定します。リストの要素がキーワードでない場合は、ユニキャスト MAC アドレスとして解釈されます。このプロパティーは、IPoIB データリンクではサポートされません。サポートされるキーワードは次のとおりです。
ファクトリ MAC アドレスを VNIC に割り当てます。ファクトリ MAC アドレスが要求された場合、mac-slot プロパティーを使用して MAC アドレススロット識別子を指定できます。そうでない場合、次に使用可能なファクトリ MAC アドレスが使用されます。
ランダムな MAC アドレスを VNIC に割り当てます。mac-prefix プロパティーを使用して接頭辞を指定します。そうでない場合、ローカルビットが設定された有効な IEEE OUI で構成されたデフォルトの接頭辞が使用されます。
NIC がサポートする場合はランダムな MAC アドレスを割り当て、そうでない場合は factory mac-address を割り当てようとします。これがデフォルト値です。
ランダムな MAC アドレスが選択された場合、生成されたアドレスは、ゾーンのブートやゾーンの切り離し、接続を行なったあとも保持されます。これにより、ゾーンは安定したクライアント ID を維持することによって DHCP リースを保持できるほか、安定した MAC アドレスを持つことによるほかの利点を活用することができます。
ランダムな MAC アドレスの割り当てがリクエストされた場合に使用する MAC アドレス接頭辞のリストを指定します。それ以外の場合、このプロパティーは無視されます。このプロパティーは、IPoIB データリンクでは無効です。
id 値は、リソースを一意に識別するために使用される正の整数です。
照合するデバイス名。これは、照合する glob パターンにすることも絶対パス名にすることもできます。デバイスリソースと別名を付けたデータセットは、/dev/zvol 内で名前空間の競合が発生する可能性があります。dev(7FS) を参照してください。
または、ストレージ URI にストレージプロパティーを設定できます (suri(5) を参照)。この場合、ゾーンのブート時に SURI がマップされ、一致するデバイスノードをゾーン内で使用できます。ゾーンが停止すると SURI がマップ解除されます。この場合、allow-partition は自動的に true に設定されます。
allow-partition と allow-raw-io はどちらも true または false に設定でき、デフォルトで false になっています。「注意事項」 を参照してください。
ID 値は仮想ブロックデバイスの識別に使用される正の整数です。solaris-kz(5) を参照してください。
リソース制御の名前、特権、制限、アクション。prctl(1) および rctladm(1M) を参照してください。rctl の値の望ましい設定方法は、特定の rctl に関連する大域的なプロパティー名を使用する方法です。
solaris-kz ブランドゾーンに構成される仮想 CPU の数を指定します。solaris-kz(5) を参照してください。
汎用属性の名前、型、および値。type は、int、uint、boolean、string のいずれかでなければなりません。値には、その型の値を指定する必要があります。uint は符号なしの (負でない) 整数です。
ゾーン内からアクセスする ZFS データセットの名前。zfs(1M) を参照してください。各データセットがゾーン内の仮想 ZFS プールとして表示されるように、データセットに別名が付けられます。別名はこの仮想プールの名前です。ZFS プール名に適用される名前制限と、その結果、データセットの別名の値にも適用される名前制限については、zpool(1M) を参照してください。別名 rpool はゾーンの rpool データセットから予約されています。別名を付けたデータセットとデバイスリソースは、/dev/zvol 内で名前空間の競合が発生する可能性があります。dev(7FS) を参照してください。
このゾーンに割り当てられている公平配分スケジューラ (FSS) の配分数。このプロパティーには dedicated-cpu リソースとの互換性はありません。このプロパティーは、zone.cpu-shares rctl を設定するための望ましい方法です。
このゾーンの、同時に使用できる LWP の最大数。このプロパティーは、zone.max-lwps rctl を設定するための望ましい方法です。
このゾーンに許容されるメッセージキュー ID の最大数。このプロパティーは、zone.max-msg-ids rctl を設定するための望ましい方法です。
このゾーンの、同時に使用できるプロセステーブルスロットの最大数。このプロパティーは、zone.max-processes rctl を設定するための望ましい方法です。このプロパティーを設定すると、max-lwps プロパティーが明示的に設定されていないかぎり、max-lwps プロパティーの値がプロセススロット数の 10 倍の数に暗黙的に設定されます。
このゾーンに許容されるセマフォー ID の最大数。このプロパティーは、zone.max-sem-ids rctl を設定するための望ましい方法です。
このゾーンに許容される共有メモリー ID の最大数。このプロパティーは、zone.max-shm-ids rctl を設定するための望ましい方法です。
このゾーンに許容される共有メモリーの最大容量。このプロパティーは、zone.max-shm-memory rctl を設定するための望ましい方法です。この数値には、K、M、G、T の単位を適用できます。たとえば、1M は 1 メガバイトです。
ゾーンで実行されているプロセスに使用するスケジューリングクラスを指定します。このプロパティーを指定しないと、スケジューリングクラスは次のように確立されます。
cpu-shares プロパティーまたは同等の rctl が設定されている場合、スケジューリングクラス FSS が使用されます。
cpu-shares も同等の rctl も設定されず、ゾーンのプールプロパティーがデフォルトのスケジューリングクラスを持つプールを参照する場合、そのクラスが使用されます。
その他の条件下では、システムのデフォルトのスケジューリングクラスが使用されます。
このリソースは、ブート時にゾーンで排他的に利用するためのプールとプロセッサのセットを作成します。ゾーンが実行している間、これらのプロセッサはほかのゾーンまたは大域ゾーンでは使用できません。プールの詳細については、poolcfg(1M) および pooladm(1M) マニュアルページを参照してください。
専用 CPU を明示的に選択したり自動的に選択したりできます。
cpus、cores、または sockets のいずれかを、CPU、コア、またはソケット ID のリストに設定します。psrinfo -t および pooladm を使用して、どの CPU、コア、またはソケットが使用できるかを調べます。
指定したいずれかのリソースが別のゾーンまたはプールに割り当てられている場合、そのゾーンはブートに失敗します。これには割り当てられたリソースのサブセットが含まれます。たとえば、割り当てられたソケットのコアが別の場所で割り当てられている場合です。
指定したいずれかの CPU リソースが存在していなかったり、障害が発生したり、オフラインの場合、ゾーンのブート時に警告が表示されます。ゾーンは、オンラインである指定された CPU リソースをすべて受け取ります。
一部の CPU に障害が発生しているコアなど、CPU リソースが部分的にオンラインである場合、ゾーンは、コアから残りのオンライン CPU を受け取り、警告が表示されます。
指定されたどの CPU リソースもオンラインになっていない場合、ゾーンはブートできません。
これは、ゾーンの各ブートまたはライブゾーン再構成に応じて異なることがあります。
ncpus を整数範囲またはスカラー値に設定します。範囲は - を使用して表され、たとえば 1-4 は 1 から 4 つのプロセッサを表します。範囲を指定した場合、ゾーンが実行している間に、ゾーン専用の CPU の数量が変わることがあります。
オプションで「importance」を設定して、専用 CPU に関連付けられたリソースプールの pool.importance 値を構成します。「importance」値は整数値です。範囲を使用する場合、重要性がより高いプールに優先的に CPU が割り当てられます。重要性ベースの割り当ての説明については、libpool(3LIB) マニュアルページを参照してください。
設定された最小または整数値に対応できる十分なオンライン CPU が使用できない場合、ゾーンはブートまたはライブ再構成できません。
自動 CPU が構成されている場合、ゾーン専用の特定の CPU は実行中に変更されることがあります。たとえば、自動実行ゾーンで使用されている CPU リソースが別の場所で割り当てられている場合、この CPU リソースは使用可能な別の CPU リソースに置き換えられます。実行している自動 CPU ゾーン専用の CPU リソースの数量も、範囲で指定した制約内で変更することがあります。
solaris-kz ブランドゾーンは実行中に CPU を変更できません。これらは、ncpus の範囲値をサポートしていません。実行している solaris-kz ブランドゾーンで使用されている CPU リソースは、自動的に選択されている場合でも、別の場所に割り当てることはできません。このため、特定の CPU を使用するゾーンは、自動 CPU を使用する solaris-kz ブランドゾーンより前にブートすることをお勧めします。
このリソースには、pool および cpu-shares プロパティーとの互換性はありません。このリソースの単一のインスタンスのみをゾーンに追加できます。
このゾーンが使用できるメモリーの上限。これらの各数値には、K、M、G、T の単位を適用できます。たとえば、1M は 1 メガバイトです。これらの各プロパティーはオプションですが、このリソースを追加するときは少なくとも 1 つのプロパティーを設定する必要があります。このリソースの単一のインスタンスのみをゾーンに追加できます。physical プロパティーは、このゾーンの max-rss を設定します。これは大域ゾーンで実行中の rcapd(1M) によって強制されます。swap プロパティーは、zone.max-swap rctl を設定するための望ましい方法です。locked プロパティーは、zone.max-locked-memory rctl を設定するための望ましい方法です。
ゾーンで使用できる CPU 時間に対して制限を設定します。使用される単位は、ゾーン内のすべてのユーザースレッドが使用できる 1 つの CPU の割合 (パーセント) に換算され、小数 (たとえば .75) または帯小数 (整数と小数が混在した数、たとえば 1.25) で表現されます。ncpu 値 1 は CPU の割合が 100% であることを意味し、値 1.25 は 125%、.75 は 75% (以下同様) を意味します。上限が設けられたゾーン内のプロジェクトに独自の上限がある場合は、最小値が優先されます。
capped-cpu プロパティーは、zone.cpu-cap リソース制御の別名であり、zone.cpu-cap リソース制御に関連しています。resource_controls (5) を参照してください。
ゾーン管理の承認を、指定されたユーザーまたは役割に委任します。ユーザーは有効なローカルアカウントに対応している必要があります。auths に使用できる値は次のとおりです。
このゾーンへの zlogin(1) の使用の認証を許可します。
構成済みゾーンの通常の管理を許可します。
新しいゾーンのクローンを作成するソースとして、指定されたゾーンの使用を許可します。
ゾーンの永続的な構成の変更を許可します。
実行中のゾーンのライブ構成を検査して変更することを許可します。
ゾーンのインストールを含む専用の zpool で排他的に使用される 1 つまたは複数のストレージリソースを定義します。ストレージに指定可能な値は、suri(5) で定義されています。
ゾーンに委任される zpool で排他的に使用される 1 つまたは複数のストレージリソースを定義します。ストレージに指定可能な値は、suri(5) で定義されています。名前に指定可能な値は、zpool(1M) で定義されています。rpool という名前は許可されません。
solaris-kz(5) で説明されている、カーネルゾーン一時停止イメージおよびホストデータに使用される暗号化鍵への管理アクセスを提供します。raw の値は、command_file モードの場合を除いて直接設定できません。
カーネルゾーンの一時停止イメージの場所を構成します。1 つの suspend リソースのみが許可されます。suspend リソースが存在しない場合、一時停止および再開はカーネルゾーンによってサポートされません。suspend リソースでは path または storage のいずれかを指定でき、両方は指定できません。path が指定される場合、これは一時停止ファイルの書き込み先の完全パスで、親ディレクトリが存在する必要があります。storage が指定される場合、これは suri(5) で説明されているストレージ URI によって参照されるデバイスである必要があります。
次の表は、リソース、プロパティー名、および型の一覧です。
resource property-name type (global) zonename simple (global) zonepath simple (global) autoboot simple (global) autoshutdown simple (global) bootargs simple (global) pool simple (global) limitpriv simple (global) brand simple (global) ip-type simple (global) hostid simple (global) cpu-shares simple (global) max-lwps simple (global) max-msg-ids simple (global) max-sem-ids simple (global) max-shm-ids simple (global) max-shm-memory simple (global) scheduling-class simple (global) fs-allowed list of simple (global) tenant simple fs dir simple special simple raw simple type simple options list of simple net address simple allowed-address list of simple configure-allowed-address simple cos simple defrouter list of simple etsbw_lcl simple physical simple id simple anet linkname simple lower-link simple allowed-address list of simple auto-mac-address simple configure-allowed-address simple defrouter list of simple mac-address simple mac-slot simple mac-prefix simple mtu simple maxbw simple priority simple vlan-id simple vsi-typeid simple vsi-vers simple vsi-mgrid simple rxfanout simple rxrings simple txrings simple link-protection list of simple allowed-dhcp-cids list of simple pkey simple linkmode simple FIXME someone needs to update id simple evs simple vport simple anet:mac auto-mac-address simple mac-address simple mac-prefix simple id simple device match simple storage simple allow-partition simple allow-raw-io simple id simple rctl name simple value list of complex attr name simple type simple value simple dataset name simple alias simple dedicated-cpu ncpus simple or range cpus list of simple cores list of simple sockets list of simple importance simple virtual-cpu ncpus simple capped-memory physical simple with scale swap simple with scale locked simple with scale capped-cpu ncpus simple admin user simple auths list of simple rootzpool storage simple zpool storage simple name simple hostkey raw simple suspend path simple storage simple
この表について、いくつか説明を補足します。「rctl」リソースタイプの複合プロパティー「value」は、名前/値の 3 つの組み合わせで構成されます。名前は「priv」、「limit」、および「action」で、それぞれ単純値を指定します。「attr」リソースの「name」プロパティーの構文には、ゾーン名と同じような制限がありますが、相違点もあります。 つまり、英数字で始める必要がありますが、英数字以外にハイフン (-)、下線 (_)、およびピリオド (.) も使用できます。「zone」で始まる属性名はシステム用に予約されています。また、「autoboot」大域プロパティーの値は、必ず「true」または「false」にしてください。
カーネル統計 (kstat(3KSTAT)) モジュール caps を使用して、システムは上限が設定されたすべてのプロジェクトおよびゾーンの情報を維持管理します。この情報を入手するには、kstat モジュール名として caps を指定して、カーネル統計 (kstat(3KSTAT)) を読み取ります。次のコマンドは、アクティブなすべての CPU キャップのカーネル統計を表示します。
# kstat caps::'/cpucaps/'
ゾーン内で実行されている kstat(1M) コマンドは、そのゾーンとそのゾーン内のプロジェクトに関連する CPU キャップしか表示しません。「使用例」を参照してください。
kstat(1M) で使用するキャップ関連の引数を次に示します。
kstat モジュール。
kstat クラス。kstat –c オプションとともに使用します。
kstat 名。kstat –n オプションとともに使用します。id はプロジェクトまたはゾーンの識別子です。
次のフィールドは、すべての CPU キャップの統計情報を要求する kstat(1M) コマンドに応答して表示されます。
kstat のこの使用法では、このフィールドには値 caps が入ります。
前述のとおり、cpucaps_project_id または cpucaps_zone_id
キャップを上回って費やされた合計時間 (秒)。
キャップを下回って費やされた合計時間 (秒)。
監視された最大 CPU 使用率。
待機キューに入っているスレッドの数。
上限が設けられたプロジェクトまたはゾーンに属しているすべてのスレッドの現在の合計 CPU 使用率。1 つの CPU の割合 (パーセント) で表されます。
キャップ値。1 つの CPU の割合 (パーセント) で表されます。
統計情報が表示されるゾーンの名前。
kstat コマンドの出力例については、「使用例」を参照してください。
archiveadm(1M) によって作成される統合アーカイブは、Solaris インスタンスをアーカイブする手段を提供します。各統合アーカイブには、1 つ以上の大域または非大域ゾーンに対応するデータおよびメタデータを格納できます。デフォルトで、archiveadm(1M) はシステムまたはゾーンクローニングに適したアーカイブを生成します。オプションで、archiveadm(1M) はシステム復旧に適したアーカイブを生成できます。
zonecfg create -a archive [options] サブコマンドを使用して、統合アーカイブからゾーンを構成した場合、アーカイブ作成オプションは、アーカイブ構成が保持される度合いに影響することがあります。クローンアーカイブから構成すると、複数のホストで同じである場合に問題を引き起こす可能性のあるプロパティー値がデフォルト値をとります。これらのプロパティーは次のとおりです。
host id
allowed-address
mac-address
allowed-address
さらに、アーカイブされたゾーン名とインストールされるゾーンの名前が一致していない場合、一部のプロパティーは新しいゾーン名を反映するように自動的に更新されます。
zonepath の最後の要素がアーカイブされたゾーン名と一致する場合、zonepath の最後の要素が新しいゾーン名で置き換えられます。
データセットリソースの場合、別名がアーカイブされたゾーン名に一致する場合、別名が新しいゾーン名で置き換えられます。
データセットリソースの場合、name プロパティーの最後の要素がアーカイブされたゾーン名に一致する場合、name プロパティーの最後の要素が新しいゾーン名で置き換えられます。
統合アーカイブからの構成では、リソースやプロパティー値を変更する、必要に応じた後続のコマンドの使用を妨げません。
サポートしているオプションは、次のとおりです。
zonecfg コマンドファイルの名前を指定します。command_file は、zonecfg サブコマンドを 1 行に 1 つずつ記述するテキストファイルです。
ライブ編集モードを有効にします。安定したストレージからの永続的な構成の代わりに、実行中のゾーンのライブ構成を編集するよう zonecfg に指示します。使用した場合、zonecfg は現在のライブゾーン構成のスナップショットを取得します。このモードでは、zonecfg サブコマンドの完全なセットがサポートされます。ライブ構成は、確定された直後に反映され、ゾーンの次回のリブートまでアクティブなままになります。ライブモードは実行中のゾーンでのみ許可され、solaris.zone.liveconfig/zonename の承認が必要です。
ゾーンの名前を指定します。ゾーン名では、大文字と小文字が区別されます。ゾーン名は英数字で始める必要がありますが、英数字以外に下線 (_)、ハイフン (-)、およびピリオド (.) も使用できます。global という名前と SYS で始まるすべての名前は、予約されているので使用できません。
特定のプロパティーで次のトークンを使用することがサポートされています。
ゾーンの名前に評価されます。
特定リソースの ID プロパティーに評価されます。このトークンは、id プロパティーをサポートするリソースのスコープ内で使用されます。
% に評価されます。
add および select サブコマンドを使用して、特定のリソースを選択できます。選択した時点で、スコープがそのリソースに変更されます。end および cancel サブコマンドを使用して、そのリソースの指定を終了することができます。指定を終了した時点で、スコープが大域に戻ります。add、remove、set などの一部のサブコマンドでは、スコープごとにセマンティクスが異なります。
zonecfg は、サブコマンドをセミコロンで区切ったリストをサポートします。例:
# zonecfg -z myzone "add net; set physical=myvnic; end"
破壊的な動作や作業内容の消失を伴う可能性のあるサブコマンドには、強制的にその処理を実行するために –F オプションが用意されています。端末デバイスから入力しているときに、–F オプションを指定しないでそのようなコマンドを実行した場合は、オプションを指定するかどうかを適切なタイミングで確認されます。それ以外の状況で –F オプションを指定しないでそのようなコマンドを実行した場合、そのアクションは許可されず、診断メッセージが標準エラーに書き込まれます。
サポートされているサブコマンドは次のとおりです。
大域スコープまたはリソース固有のスコープで、特定のリソースタイプの指定を開始します。スコープがそのリソースタイプに変わります。
リソース固有のスコープでは、指定された名前と値を持つプロパティーを追加します。プロパティー値の構文は、プロパティータイプによって異なります。通常は、単純値または単純値のリストを使用します。リストの場合は、角括弧で囲み、各値をコンマで区切ります ([foo,bar,baz])。「プロパティー」を参照してください。
リソースの指定を終了し、スコープを大域に戻します。指定途中のリソースをすべて破棄します。cancel は、リソースのスコープだけに適用できます。
プロパティーの値をデフォルト値にクリアします。
現在の構成をメモリーから安定したストレージに確定します。zoneadm で構成を使用するには、その構成を確定する必要があります。オプション –n および –q はデフォルトモードで許可されません。
現在のメモリー内のライブ構成と一致するように実行中のゾーンを再構成し、実行されたアクションを出力します。適用された変更はすぐに反映され、ゾーンの次回のリブートまでアクティブなままになります。commit サブコマンドの呼び出しの前にライブ構成が外部で変更された場合、処理はエラーを返します。このような場合、確定を成功させるには、ライブ構成を再ロードして、目的の変更を再適用する必要があります。
サポートしているオプションは、次のとおりです。
実行中のゾーンの構成を変更しない予行演習モードで再構成を実行します。予行演習モードは実際の再構成と同様に動作しますが、実行中のゾーンに変更を加えません。予行演習を使用して、実際の再構成によって実行されることが予想されるアクションを確認します。
静寂モード。ゾーン再構成に関連するすべてのメッセージを抑止します。
メモリー内構成を確定するまでは、reload サブコマンドを使って変更を取り消すことができます。zonecfg セッションが終了するときには、commit 処理が自動的に実行されます。構成が正しく設定されていないと確定できないので、この処理では自動的に構成が確認されます。
指定されたゾーンのメモリー内構成を作成します。新しいゾーンの構成を開始するときは、create を使用します。このゾーンを安定した記憶領域に保存する方法については、commit を参照してください。
既存の構成を上書きする場合は、–F オプションを指定して、強制的に処理を実行します。template と同じ構成を作成する場合は、–t template オプションを指定します。template は設定済みゾーンの名前です。
create はデフォルトテンプレート SYSdefault を使用します。デフォルトテンプレートは、svc:/system/zones:default サービスの default_template SMF プロパティーを使用することによって、システム全体ベースで変更できます。管理者は、–t (特定のテンプレートを使用) または –b (ブランクテンプレートを使用) を使用することによって、このゾーンのデフォルトを置き換えることができます。
新しいホストで切り離されたゾーンを構成できるようにするには、–a directory オプションを使用します。path パラメータは、この新しいホスト上に移動されている、切り離されたゾーンのゾーンパスの位置です。切り離されたゾーンが構成されたあとは、「zoneadm attach」コマンド (zoneadm(1M) を参照) を使用してインストールするようにしてください。新しいゾーンのすべての検証は、ゾーンの構成中ではなく attach 処理中に行われます。
archiveadm(1M) によって作成された統合アーカイブからゾーンを構成できるようにするには、–a アーカイブオプションを使用します。アーカイブは絶対パスか、ファイル、http、または https URI を指定できます。統合アーカイブに複数のゾーンが含まれる場合、–z archived_zone オプションを使用して、構成に使用するアーカイブ内のゾーンを指定する必要があります。https URI を使用してアーカイブにアクセスする場合、–x オプションを使用して、証明書、CA 証明書、鍵ファイルの場所を指定できます。指定する場合、cert、cacert、および key は PEM 形式にする必要があります。詳細については、上記の「統合アーカイブからの構成」を参照してください。
空の構成を作成する場合は、–b オプションを使用します。引数が指定されていない場合、create は Oracle Sun のデフォルト設定を適用します。
指定された構成をメモリー内および安定した記憶領域から削除します。このアクションはすぐに実行されるので、確定する必要はありません。削除した構成を元に戻すことはできません。
この操作を強制的に実行する場合は、–F オプションを使用します。
リソースの指定を終了します。このサブコマンドは、リソースのスコープだけに適用できます。zonecfg は、現在のリソースが完全に指定されていることを確認します。完全に指定されている場合は、メモリー内構成に追加され (メモリー内構成を安定したストレージに保存する方法については commit を参照)、スコープは大域範囲または以前のリソース固有の範囲に戻ります。指定が完全でない場合は、対応するエラーメッセージが通知されます。
標準出力に構成を出力します。output-file に構成を出力する場合は、–f オプションを使用します。このオプションを使用すると、コマンドファイルに適した形式で出力が作成されます。
一般ヘルプまたは特定項目のヘルプを出力します。
現在の構成に関する情報を表示します。resource-type が指定されている場合は、関連するタイプのリソースについてのみ情報を表示します。property-name 値ペアが指定されている場合は、その条件を満たしているリソースの情報だけを表示します。リソースのスコープでは、引数が無視され、info は現在追加または変更されているリソースの情報を表示します。
特定のプロパティーまたはリソースタイプが zonecfg 対話型モードで property-name.template: template-value としてリクエストされた場合、トークンが表示されることがあります。このテンプレート値の評価された出力は、property-name: propperty-value で提供されます。「使用例」を参照してください。
大域スコープでは、指定されたリソースタイプを削除します。[] 構文は、0 個以上の項目を角括弧の中に指定できることを意味します。リソースの単一インスタンスを削除するだけの場合、そのリソースが一意に識別されるように、property-name と property-value のペアを十分に指定する必要があります。プロパティーの名前と値の対をまったく指定しないと、すべてのインスタンスが削除されます。1 つより多くのペアを指定した場合は、–F オプションを指定しないかぎり、確認が必要です。
指定されたリソースタイプのうち、指定された property-name と property-value の対の条件に一致するものを、変更対象として選択します。このサブコマンドは、大域スコープだけに適用できます。スコープがそのリソースタイプに変わります。{} 構文は、1 つまたは複数の項目をこの中に指定できることを意味します。リソースが一意に識別されるように、property-name property-value ペアを十分に指定する必要があります。
指定されたプロパティー名を、指定された値に設定します。プロパティーには、zonename や zonepath のような大域プロパティーと、リソース固有のプロパティーがあります。このサブコマンドは、大域スコープとリソース固有のスコープの両方で使用できます。
現在の構成が正しいかどうかを確認します。
各リソースに必須プロパティーがすべて指定されていこと。
zonepath が指定されていること。
–v オプションが指定された場合、デバイスリソース内で指定されたデバイスが、別名が付けられたデータセット内で作成された ZFS ボリュームと競合して、ZFS ボリュームを非表示にする可能性があるときに、警告が発行されます。dev(7FS) を参照してください。
構成を、最後に確定されたときの状態に戻します。この操作を強制的に実行する場合は、–F オプションを使用します。
未確定のすべての変更を破棄し、安定したストレージから構成を再ロードする (デフォルトモード) か、実行中のゾーンの最新の構成を取得します (ライブモード)。この操作を強制的に実行する場合は、–F オプションを使用します。
永続的な構成を、最後に確定されたときの状態に戻します。この操作を強制的に実行する場合は、–F オプションを使用します。このサブコマンドは、ライブモードでは許可されません。
zonecfg のセッションを終了します。必要な場合は、確定操作が自動的に試行されます。EOF 文字を使用して zonecfg を終了することもできます。この操作を強制的に実行する場合は、–F オプションを使用します。
次の例では、zonecfg を使って新しいゾーンの環境を作成します。/usr/local は、大域ゾーンから /opt/local にマウントされるループバックです。/opt/sfw は、大域ゾーンからマウントされるループバックで、nxge0 上の VNIC が 3 つの IP アドレスとともにこのゾーンに追加され、ゾーンに対する公平配分スケジューラ (FSS) の CPU 共有の数に関する制限が、rctl リソースタイプを使用して設定されます。この例では、所定のリソースを変更するために選択する方法も示されています。このケースでは、zonecfg によって自動的に作成される anet リソースを選択することによって実行します。
example# zonecfg -z myzone3 my-zone3: No such zone configured Use 'create' to begin configuring a new zone. zonecfg:myzone3> create zonecfg:myzone3> info zonepath zonepath.template: /system/zones/%{zonename} zonepath: /system/zones/myzone3 zonecfg:myzone3> set autoboot=true zonecfg:myzone3> add fs zonecfg:myzone3:fs> set dir=/opt/local zonecfg:myzone3:fs> set special=/usr/local zonecfg:myzone3:fs> set type=lofs zonecfg:myzone3:fs> add options [ro,nodevices] zonecfg:myzone3:fs> end zonecfg:myzone3> add fs zonecfg:myzone3:fs> set dir=/mnt zonecfg:myzone3:fs> set special=/dev/dsk/c0t0d0s7 zonecfg:myzone3:fs> set raw=/dev/rdsk/c0t0d0s7 zonecfg:myzone3:fs> set type=ufs zonecfg:myzone3:fs> end zonecfg:myzone3> add fs zonecfg:myzone3:fs> set dir=/opt/sfw zonecfg:myzone3:fs> set special=/opt/sfw zonecfg:myzone3:fs> set type=lofs zonecfg:myzone3:fs> add options [ro,nodevices] zonecfg:myzone3:fs> end zonecfg:myzone3> select anet linkname=net0 zonecfg:myzone3:anet> set lower-link=nxge0 zonecfg:myzone3:anet> set allowed-address="192.168.0.1/24,192.168.1.2/\ 24,192.168.2.3/24" zonecfg:myzone3:anet> end zonecfg:my-zone3> set cpu-shares=5 zonecfg:my-zone3> add capped-memory zonecfg:my-zone3:capped-memory> set physical=50m zonecfg:my-zone3:capped-memory> set swap=100m zonecfg:my-zone3:capped-memory> end zonecfg:myzone3> exit使用例 2 排他的 IP ゾーンを作成する
次の例では、net0 という名前の VNIC が割り当てられるゾーンを作成します。VNIC が作成されるリンクは自動的に決定されます。IP アドレスおよびルーティングは、新しいゾーンの中で ipadm(1M) を使用して構成されます。
example# zonecfg -z excl zonecfg:excl> create zonecfg:excl> set zonepath=/export/zones/excl zonecfg:excl> exit使用例 3 共有 IP ゾーンを作成する
次の例では、IP スタックを大域ゾーンと共有し、単一の IP アドレスとデフォルトルーターが割り当てられるゾーンを作成します。
example# zonecfg -z shared zonecfg:shared> create -b zonecfg:shared> set zonepath=/export/zones/shared zonecfg:shared> set ip-type=shared zonecfg:shared> add net zonecfg:shared:net> set physical=nge0 zonecfg:shared:net> set address=192.168.0.3/24 zonecfg:shared:net> set defrouter=192.168.0.1 zonecfg:shared:net> end zonecfg:shared> exit使用例 4 ゾーンをリソースプールに関連付ける
次の例は、既存のゾーンを既存のリソースプールに関連付ける方法を示しています。
example# zonecfg -z myzone zonecfg:myzone> set pool=mypool zonecfg:myzone> exit
リソースプールの詳細については、pooladm(1M) および poolcfg(1M) を参照してください。
使用例 5 ゾーンの名前を変更するzonename プロパティーの変更は、構成済み状態のゾーンでのみ許可されています。インストール済み状態のゾーンの場合は、zoneadm(1M) rename サブコマンドを使用してください。次の例は、既存のゾーンの名前を変更する方法を示したものです。
example# zonecfg -z myzone zonecfg:myzone> set zonename=myzone2 zonecfg:myzone2> exit使用例 6 ゾーンの特権セットを変更する
次の例では、次回ゾーンのブート時に制限される既存のゾーンのプロセスの特権セットを変更する方法を示しています。この場合の特権セットは、システムの日付と時間を変更する特権に加え、通常ゾーンが持っている標準的な安全特権セットになります。
example# zonecfg -z myzone zonecfg:myzone> set limitpriv="default,sys_time" zonecfg:myzone2> exit使用例 7 大域ゾーンの zone.cpu-shares プロパティーを設定する
次のコマンドでは、大域ゾーンの zone.cpu-shares プロパティーを設定します。
example# zonecfg -z global zonecfg:global> set cpu-shares=5 zonecfg:global> exit使用例 8 パターンマッチングを使用する
次のコマンドでは、zonecfg のパターンマッチングのサポートを説明しています。ゾーン flexlm で、次のように入力します。
zonecfg:flexlm> add device zonecfg:flexlm:device> set match="/dev/cua/a00[2-5]" zonecfg:flexlm:device> end
大域ゾーンで、次のように入力します。
global# ls /dev/cua a a000 a001 a002 a003 a004 a005 a006 a007 b
ゾーン flexlm で、次のように入力します。
flexlm# ls /dev/cua a002 a003 a004 a005使用例 9 ゾーンのキャップを 3 つの CPU に設定する
次のシーケンスでは、zonecfg コマンドを使ってゾーンの CPU キャップを 3 つの CPU に設定します。
zonecfg:myzone> add capped-cpu zonecfg:myzone>capped-cpu> set ncpus=3 zonecfg:myzone>capped-cpu>capped-cpu> end
前のシーケンスでは capped-cpu プロパティーを使用し、次のシーケンスでは zone.cpu-cap リソース制御を使用していますが、これらのシーケンスは同等です。
zonecfg:myzone> add rctl zonecfg:myzone:rctl> set name=zone.cpu-cap zonecfg:myzone:rctl> add value (priv=privileged,limit=300,action=none) zonecfg:myzone:rctl> end使用例 10 kstat を使って CPU キャップを監視する
次のコマンドは、すべての CPU キャップに関する情報を表示します。
# kstat -n /cpucaps/ module: caps instance: 0 name: cpucaps_project_0 class: project_caps above_sec 0 below_sec 2157 crtime 821.048183159 maxusage 2 nwait 0 snaptime 235885.637253027 usage 0 value 18446743151372347932 zonename global module: caps instance: 0 name: cpucaps_project_1 class: project_caps above_sec 0 below_sec 0 crtime 225339.192787265 maxusage 5 nwait 0 snaptime 235885.637591677 usage 5 value 18446743151372347932 zonename global module: caps instance: 0 name: cpucaps_project_201 class: project_caps above_sec 0 below_sec 235105 crtime 780.37961782 maxusage 100 nwait 0 snaptime 235885.637789687 usage 43 value 100 zonename global module: caps instance: 0 name: cpucaps_project_202 class: project_caps above_sec 0 below_sec 235094 crtime 791.72983782 maxusage 100 nwait 0 snaptime 235885.637967512 usage 48 value 100 zonename global module: caps instance: 0 name: cpucaps_project_203 class: project_caps above_sec 0 below_sec 235034 crtime 852.104401481 maxusage 75 nwait 0 snaptime 235885.638144304 usage 47 value 100 zonename global module: caps instance: 0 name: cpucaps_project_86710 class: project_caps above_sec 22 below_sec 235166 crtime 698.441717859 maxusage 101 nwait 0 snaptime 235885.638319871 usage 54 value 100 zonename global module: caps instance: 0 name: cpucaps_zone_0 class: zone_caps above_sec 100733 below_sec 134332 crtime 821.048177123 maxusage 207 nwait 2 snaptime 235885.638497731 usage 199 value 200 zonename global module: caps instance: 1 name: cpucaps_project_0 class: project_caps above_sec 0 below_sec 0 crtime 225360.256448422 maxusage 7 nwait 0 snaptime 235885.638714404 usage 7 value 18446743151372347932 zonename test_001 module: caps instance: 1 name: cpucaps_zone_1 class: zone_caps above_sec 2 below_sec 10524 crtime 225360.256440278 maxusage 106 nwait 0 snaptime 235885.638896443 usage 7 value 100 zonename test_001使用例 11 特定のゾーンまたはプロジェクトの CPU キャップを表示する
kstat –c および –i オプションを使用すると、次に示すように特定のゾーンまたはプロジェクトの CPU キャップを表示できます。最初のコマンドは特定のプロジェクトを対象とした表示を行い、2 番目のコマンドはゾーン 1 内部の同じプロジェクトを対象とした表示を行います。
# kstat -c project_caps # kstat -c project_caps -i 1使用例 12 ゾーン管理権を委任する
次の例は、現在のゾーンの管理権を役割に割り当てる方法を示しています。
example# zonecfg -z myzone zonecfg:myzone> add admin zonecfg:myzone:admin> set user=zadmin zonecfg:myzone:admin> set auths=login,manage zonecfg:myzone:admin> end zonecfg:myzone> commit
これらのコマンドを実行すると、RBAC user_attr(4) データベース内で次のようにエントリが更新されます。
zadmin::::type=role;\ auths=solaris.zone.login/myzone,solaris.zone.manage/myzone;profiles=\ Zone Management使用例 13 デフォルト以外のプロパティーを使用して排他的 IP ゾーンを作成する
次の例はゾーンを作成し、mylink0 上に指定の MAC アドレスを持ち、最大帯域幅が 100Mbps、高い優先度、RX 側に専用ハードウェアリング、TX 側に専用ハードウェアリングなし (つまりソフトウェアベース)、および VLAN ID が 2 の VNIC が自動的に作成されます。
example# zonecfg -z excl excl: No such zone configured Use 'create' to begin configuring a new zone zonecfg:excl> create -b zonecfg:excl> set zonepath=/export/zones/excl zonecfg:excl> add anet zonecfg:excl:anet> set linkname=mynic0 zonecfg:excl:anet> set lower-link=mylink0 zonecfg:excl:anet> set mac-address=8:0:20:fe:4e:b8 zonecfg:excl:anet> set maxbw=100M zonecfg:excl:anet> set priority=high zonecfg:excl:anet> set vlan-id=2 zonecfg:excl:anet> set rxrings=hw zonecfg:excl:anet> set txrings=sw zonecfg:excl:anet> end zonecfg:excl> exit使用例 14 読み取り専用ゾーンを作成する
次の例では、ルートファイルシステムがゾーンによる変更から保護される新しいゾーンを作成します。/var 内のファイルは、fixed-configuration プロファイルが適用されるため、書き込み可能です。
example# zonecfg -z rozone rozone: No such zone configured Use 'create' to begin configuring a new zone zonecfg:rozone> create zonecfg:rozone> set brand=solaris zonecfg:rozone> set zonepath=/export/zones/rozone zonecfg:rozone> set autoboot=true zonecfg:rozone> set file-mac-profile=fixed-configuration zonecfg:rozone> set ip-type=exclusive zonecfg:rozone> add net zonecfg:rozone:net> set physical=vnic0 zonecfg:rozone:net> end zonecfg:rozone> exit使用例 15 IB パーティションを使用して排他的 IP ゾーンを作成する
次の例では、デフォルトプロパティーを持つゾーンを作成します。ゾーンは、ゾーンのブート時に IPoIB データリンクを自動的に作成し、ゾーンの停止時にデータリンクを削除します。
example# zonecfg -z excl excl: No such zone configured Use 'create' to begin configuring a new zone zonecfg:excl> create zonecfg:excl> set zonepath=/export/zones/excl zonecfg:excl> set ip-type=exclusive zonecfg:excl> add anet zonecfg:excl> set linkname=part0 zonecfg:excl> set lower-link=net4 zonecfg:excl> set pkey=ffff zonecfg:excl:anet> end zonecfg:excl> exit使用例 16 専用のストレージリソースおよび zpool にインストールされるゾーンを作成する
次の例では、ゾーンのインストール全体を含む 1 つのストレージリソースで構成される zpool リソースを使用して新しいゾーンを作成します。zpool が自動的に作成されるか、ゾーンのインストール時に作成済みの zpool がインポートされます。名前は zoss_rpool になります。
example# zonecfg -z zoss zoss: No such zone configured Use 'create' to begin configuring a new zone zonecfg:zoss> create zonecfg:zoss> set zonepath=/zoss zonecfg:zoss> add rootzpool zonecfg:zoss:rootzpool> add storage iscsi://127.0.0.1/luname.naa.6001\ 44f03d70c80000004ea57da10001 zonecfg:zoss:rootzpool> end zonecfg:zoss> exit使用例 17 委任された zpool リソースを使用してゾーンを作成する
次の例では、2 つのストレージリソースで構成されるゾーンに委任された zpool リソースを使用して新しいゾーンを作成します。zpool が自動的に作成されるか、ゾーンのインストール時に作成済みの zpool がインポートされます。名前は zoss_mypool になります。
example# zonecfg -z zoss zoss: No such zone configured Use 'create' to begin configuring a new zone zonecfg:zoss> create zonecfg:zoss> set zonepath=/zoss zonecfg:zoss> add zpool zonecfg:zoss:zpool> set name=mypool zonecfg:zoss:zpool> add storage dev:/dev/dsk/c0t1d0 zonecfg:zoss:zpool> add storage dev:/dev/dsk/c1t1d0 zonecfg:zoss:zpool> end zonecfg:zoss> exit使用例 18 実行中のゾーンのライブ構成を検査する
次の例では、実行中のゾーンのライブ構成を検査します。
example# zonecfg -z myzone -r zonecfg:myzone> info使用例 19 ゾーンをリブートせずに新しい anet を実行中のゾーンに一時的に追加する
次の例では、ゾーンをリブートせずに新しい anet を実行中のゾーンに一時的に追加します。
example# zonecfg -z myzone -r zonecfg:myzone> add anet zonecfg:myzone> set linkname=anet1 zonecfg:myzone> set lower-link=net1 zonecfg:myzone> end zonecfg:myzone> commit使用例 20 統合アーカイブからのゾーン構成の作成
次の例では、/export/archvies に格納された統合アーカイブから新しいゾーン構成を作成します。アーカイブには、ゾーンパス /zones/web で web というゾーンが 1 つだけ含まれます。info サブコマンドからわかるように、ゾーンパスは、上記の「統合アーカイブからの構成」セクションで説明したとおりに調整されています。
example# zonecfg -z ex17 ex17: No such zone configured Use 'create' to begin configuring a new zone zonecfg:ex17> create -a /export/archives/web.uar zonecfg:ex17> info zonepath zonepath: /zones/web zonecfg:ex17> set zonepath=/zones/ex17 zonecfg:ex17> exit
同様に、これは非対話型モードで行うこともできます。
example# zonecfg -z ex17 "create -a /export/archives/web.uar; set zonepath=/zones/web"使用例 21 セキュアな Web サーバー上の統合アーカイブからのゾーン構成の作成
この例では、セキュアな Web サーバー上のアーカイブからゾーンを構成する非対話型コマンドを示します。–z オプションは、特定のアーカイブされたゾーンを構成ソースとして使用することを指定するために使用します。証明書、CA 証明書、および鍵が最初にこのマシンに転送されています。
example# zonecfg -z ex19 create \ -a https://install.example.com/archives/combo.uar \ -z database \ -x cert=/root/install.pem \ -x cacert=/root/example.com.pem \ -x key=/root/sslkey.pem \; \ set zonepath=/zones/ex19使用例 22 大域ゾーンの p2v のゾーン構成の作成
この例では、アーカイブされた大域ゾーンをソースとして使用した統合アーカイブからのゾーン構成の作成を示します。アーカイブ内に見つかったゾーン構成は、zonep2vchk(1M) によって生成されており、そのために推奨される追加のカスタマイズについての注意事項が含まれることがあります。
example# zonecfg -z ex20 ex20: No such zone configured Use 'create' to begin configuring a new zone set zonepath=/zones/ex20 zonecfg:ex20> create -a /export/p2v.uar -z global zonecfg:ex20> info attr attr: name: zonep2vchk-info type: string value: "p2v of host m4k" attr: name: zonep2vchk-net-blue0 type: string value: "original system had NIC blue0 with MAC address 0:8:20:9e:eb:8c and IP address 10.147.23.12: consider anet (linkname=blue0 mac-address=0:8:20:9e:eb:8c allowed-address=10.147.23.12)" attr: name: zonep2vchk-num-cpus type: string value: "original system had 4 CPUs: consider capped-cpu (ncpus=4.0) or dedicated-cpu (ncpus=4)" attr: name: zonep2vchk-physmem type: string value: "original system had 32 GB: consider capped-memory (physical=32G)" attr: name: zonep2vchk-swap type: string value: "original system had 48 GB: consider capped-memory (swap=48G)" zonecfg:ex20> select anet linkname=blue0 zonecfg:ex20:anet> set allowed-address=10.147.23.12 zonecfg:ex20:anet> set configure-allowed-address=true zonecfg:ex20:anet> end zonecfg:ex20> add capped-memory zonecfg:ex20:capped-memory> set swap=48G zonecfg:ex20:capped-memory> end zonecfg:ex20> exit使用例 23 エラスティック仮想スイッチに接続する anet リソースを持つゾーンの作成。
次の例では、テナント tenantA の EVS evsa および VPort vport0 に接続する VNIC anet リソースを持つゾーンを作成します。
example# zonecfg -z evszone evszone: No such zone configured Use 'create' to begin configuring a new zone zonecfg:evszone> create zonecfg:evszone> set zonepath=/export/zones/evszone zonecfg:evszone> set tenant=tenantA zonecfg:evszone> add anet zonecfg:evszone:net> set evs=EVSA zonecfg:evszone:net> set vport=vport0 zonecfg:rozone:net> end zonecfg:rozone> exit example# zoneadm -z evszone install example# zoneadm -z evszone boot example# dladm show-vnic -c LINK TENANT EVS VPORT OVER MACADDRESS VIDS evszone/net0 tenantA EVSA vport0 net2 2:8:20:1a:c1:e4 0
ゾーンがブートすると、evszone/net0 VNIC anet は、vport EVSA/vport0 の MAC アドレス、IP アドレス、および SLA プロパティーを持ちます。
使用例 24 ゾーン移行のためにゾーン構成を別のシステムにコピーする1 つの大域ゾーンから別の大域ゾーンにゾーンを移行する場合、最初にゾーン構成を移行する必要があります。export サブコマンドにより、すべてのゾーン構成がエクスポートされ、新しい大域ゾーンで正しく保持され、zonecfg –f オプションを指定して使用できるようになります。この例に示すような手順を使用しない場合、カーネルゾーンが一時停止ファイルにアクセスしたり、新しい大域ゾーンに正しく接続したりすることができません。
global1# zonecfg -z ex22 export -f /net/scratch/export/ex22.cfg global2# zonecfg -z ex22 -f /net/scratch/export/ex22.cfg
次の終了ステータスが返されます。
正常終了。
エラーが発生した。
無効な使用法。
属性についての詳細は、マニュアルページの attributes(5) を参照してください。
|
ppriv(1)、prctl(1)、lgrpinfo(1)、zlogin(1)、archiveadm(1M)、dladm(1M)、format(1M)、ipadm(1M)、kstat(1M)、mount(1M)、pooladm(1M)、poolcfg(1M)、poold(1M)、psrinfo(1M)、rcapd(1M)、rctladm(1M)、route(1M)、suriadm(1M)、svcadm(1M)、zfs(1M)、zoneadm(1M)、zonep2vchk(1M)、zpool(1M)、priv_str_to_set(3C)、kstat(3KSTAT)、user_attr(4)、vfstab(4)、attributes(5)、brands(5)、fnmatch(5)、mwac(5)、privileges(5)、rbac(5)、resource_controls (5)、solaris-kz(5)、suri(5)、tpd(5)、zones(5)、dev(7FS)、hsfs(7FS)、zfs(7FS)、uscsi(7I)、evsadm(1M)
Resource Management and Oracle Solaris Zones Developer’s Guide
zonecfg で使用するすべての文字データは、US-ASCII エンコーディングにする必要があります。
一般に、すべてのデバイスに対してゾーン内で安全に使用できるどうかの監査が行われるわけではないため、ゾーンにデバイスを追加すると、そのゾーンがシステムのセキュリティーおよび安定性に悪影響を与えることがあります。
sd または ssd ターゲットドライバを使用するストレージデバイス (prtconf -D /dev/dsk/c2t40d3 などを使用すると検査できます) は、ゾーンに安全に委任できます。このため、ゾーン管理者は、このようなデバイスに対してラベル付けやパーティション分割を実行できます。
format(1M) によってディスクのラベル付けを行えるようにするためには、ディスク/LUN 全体をゾーンに委任して、allow-partition プロパティーを設定するようにしてください。例:
zonecfg:myzone> add device zonecfg:myzone> set match=/dev/*dsk/c2t40d3* zonecfg:myzone> set allow-partition=true zonecfg:myzone> end
推奨はされませんが、ディスクの単一スライス (match=/dev/dsk/c2t40d3s0 など) のみを委任することもできます。これを安全に行うためには、allow-partition プロパティーを true に設定せず、スライスまたはパーティションによってディスクラベルのディスクヘッダーがオーバーラップしないようにする必要があります (ディスクラベルはパーティションまたはディスクの最初の 2 ブロックまたは最後の 2 ブロック内にあります)。
ストレージデバイスへの raw アクセスを有効にするには、allow-raw-io プロパティーを true に設定します。ゾーンプロセスで raw SCSI コマンド (uscsi(7I) を参照) を実行できるようになるため、これは安全ではありません。
ゾーンの内側では、使用中デバイスのチェックが機能しません。それが依存している /devices/ ツリーが存在しないからです。今後のプロジェクトでは、この制限が解消される可能性があります。
「add fs」リソースによって指定された lofs ファイルシステムのマウントポイントは、ゾーンによってマウントされたファイルシステム内に指定できません。特に、そのようなマウントポイントは /var および /export 内に指定できません。