マニュアルページセク ション 1M: システム管理コマンド

印刷ビューの終了

更新: 2014 年 7 月
 
 

zonecfg(1M)

名前

zonecfg - ゾーン構成の設定

形式

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) のマニュアルページを参照してください。

リソース

次のリソースタイプがサポートされています。

attr

汎用属性。

capped-cpu

CPU 使用率の制限。

capped-memory

物理メモリー、スワップメモリー、およびロックされたメモリーの制限。

dataset

ZFS データセット。

dedicated-cpu

稼働している間、このゾーン専用に割り当てられるシステムプロセッサのサブセット。

device

デバイス。

fs

ファイルシステム。

keysource

暗号化鍵

net

ネットワークインタフェース。

anet

自動ネットワークインタフェース。

mac

ゾーン用に構成される追加の MAC アドレス。mac リソースは anet リソース内でのみ有効です。

admin

委任された管理者。

rctl

リソース制御。

suspend

一時停止イメージ

rootzpool

ゾーンのインストール専用の ZFS zpool です。

virtual-cpu

ゾーン用に構成された仮想 CPU。

zpool

ゾーンに委任される 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

fs

dirspecialrawtypeoptions

net

addressallowed-addressconfigure-allowed-addressphysicaldefrouterid

anet

linknamelower-linkallowed-addressauto-mac-addressconfigure-allowed-addressdefroutermac-addressmac-slotmac-prefixmtumaxbwpriorityvlan-idvsi-typeidvsi-versvsi-mgridrxfanoutrxringstxringslink-protectionallowed-dhcp-cidspkeylinkmodeetsbw-lclcosidevsvport

anet

auto-mac-addressmac-addressmac-prefixid

device

matchallow-partitionallow-raw-ioidstorage

rctl

namevalue

attr

nametypevalue

dataset

namealias

dedicated-cpu

ncpusimportance

cpuscoressockets

virtual-cpu

ncpus

capped-memory

physicalswaplocked

capped-cpu

ncpus

admin

user、auths

rootzpool

ストレージ

zpool

ストレージ、名前

hostkey

raw

suspend

path、storage

これらのプロパティー名のプロパティー値は、単純値、複合値、またはリスト値で指定します。許可されるタイプはプロパティーごとに異なります。単純値は文字列で、引用符で囲むこともできます。複合値は次の構文で指定します。

(<name>=<value>,<name>=<value>,...)

ここで、各 <value> は単純値であり、<name> 文字列は与えられたプロパティー内で一意になります。リストは次の構文で指定します。


[<value>,...]

ここで、<value> は、単純値、複合値のいずれかです。値 (単純値または複合値) が 1 つだけのリストは、リスト構文を使わずにその値を指定することと等価です。つまり、「foo」は「[foo]」と等価です。リストは空でもかまいません (「[]」と表記)。

プロパティー値の解釈において、zonecfgfnmatch(5) で指定されている正規表現に対応しています。「使用例」を参照してください。

次にプロパティータイプについて説明します。

global: zonename

ゾーンの名前。

global: zonepath

ゾーンのファイルシステムのパス。zonepath のデフォルト値は /system/zones/%{zonename} です。

global: autoboot

システムがブートするときに、ゾーンを自動的にブートするかどうかを指定するブール値。ゾーンサービスが無効になっている場合は、このプロパティーの設定に関係なく、ゾーンは自動的にブートされません。ゾーンサービスを有効にするには、次のように svcadm コマンドを使用します。

# svcadm enable svc:/system/zones:default

ゾーンサービスを無効にする場合は、enabledisable に置き換えます。svcadm(1M) を参照してください。

global: autoshutdown

大域ゾーンのクリーンシャットダウン時にこのゾーンに対して実行するアクション。shutdown (クリーンゾーンシャットダウン、デフォルト)、halt、または suspend を指定できます。

global: bootargs

ゾーンのブート時に渡される引数 (オプション)。ただし、zoneadm boot コマンドにオプションが指定された場合は、そちらが優先されます。有効な引数は、zoneadm(1M) で説明されています。

global: pool

ブート時にこのゾーンをバインドするリソースプールの名前。このプロパティーには dedicated-cpu リソースとの互換性はありません。

global: limitpriv

このゾーン内のいずれかのプロセスが入手できる特権のセットの最大数。プロパティーは、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 として表示されています。

global: brand

ゾーンのブランドタイプ。

global: ip-type

ゾーンは独自の排他的な IP のインスタンスを持つ (デフォルト) か、大域ゾーンと IP インスタンスを共有することができます。デフォルトゾーンテンプレート SYSdefault では、ip-typeexclusive に設定されます。追加で提供される SYSdefault-shared-ip テンプレートでは、ip-type は shared に設定されます。

このプロパティーは exclusive および shared の値を取ります。

global: hostid

ゾーンは、システムを統合しやすくするために、32 ビットのホスト識別子をエミュレートできます。ゾーンの hostid プロパティーはデフォルトで空になっており、ゾーンがホスト識別子をエミュレートしないことを意味しています。ゾーンのホスト識別子には、0 から FFFFFFFE の 16 進値を指定してください。接頭辞 0x または 0X はオプションです。大文字と小文字の両方の 16 進数を使用できます。

global: fs-allowed

ゾーン内にマウントできる追加ファイルシステムのコンマ区切りリスト (たとえば、ufs,pcfs)。デフォルトでは、hsfs(7FS) とネットワークファイルシステムだけがマウントできます。

このプロパティーは、add fs または add dataset によってゾーンにマウントされたファイルシステムには適用されません。


Caution

注意  - デフォルト以外のファイルシステムマウントを許可すると、ゾーン管理者が偽のファイルシステムイメージでシステムに損害を与えることが可能になるため、このような許可はサポートされていません。


global: file-mac-profile

読み取り専用ポリシーから除外されるファイルシステムの部分、つまりゾーンが書き込むことができるファイルシステムの部分を定義します。

このプロパティーでは現在、nonestrictfixed-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-configurationfixed-configuration と同じですが、/etc 内のファイルへの書き込みも追加で許可されます。

global: tenant

注 -  このプロパティーと、anet リソースの evs および vport プロパティーを使用するには、エラスティック仮想スイッチ (EVS) IPS パッケージをインストールし、evsadm(1M) マニュアルページとOracle Solaris 11.2 での仮想ネットワークとネットワークリソースの管理 の説明に従って、EVS コントローラを構成します。

VNIC anet が接続する EVS を所有するテナントの名前を定義します。evsadm(1M) を参照してください。

fs: dir、special、raw、type、options

ファイルシステムをマウントする方法や場所などを決めるために必要な値。mount(1M)mount(2)fsck(1M)、および vfstab(4) を参照してください。

net: address、allowed-address、configure-allowed-address、physical、defrouter、id

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-addresstrue に設定されている場合、ゾーンがブートするたびに allowed-address で指定されたアドレスがインタフェース上に自動的に構成されます。これが false に設定されている場合、allowed-address はゾーンのブート時に構成されません。デフォルトでは、allowed-address が指定されると configure-allowed-addresstrue に構成されます。さらに、allowed-address リストが提供されている場合は、defrouter プロパティーも必要に応じて指定できます。ただし、defrouter 値が指定されて configure-allowed-addressfalse に構成された場合、defrouter 値は無視されて、該当する警告メッセージが表示されます。physical プロパティーに指定されたインタフェースを大域ゾーンで使用してはいけません。allowed-address とデフォルトルーターが zonecfg によって指定された場合、これらは、非大域排他的 IP ゾーンで ipadm(1M) によってインタフェースが有効にされているとき (通常はゾーンのブート中) に、そのインタフェースに適用されます。非大域排他的 IP ゾーンは、ほかのどのアドレスをそのインタフェースに適用することもできなくなります。また、指定された IP バージョンの別のソースアドレスを持つパケットを送信することもできなくなります。zonecfg によって設定されたデフォルトのルーターは、–p フラグと route(1M) を使用して非大域排他的 IP ゾーン内から恒久的に削除することはできません。

複数の排他的 IP ゾーン間で 1 つのデータリンクを共有することはできません。

anet: 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、mac

anet リソースは、排他的 IP ゾーンについてのネットワークリソースの自動作成を表します。zonecfg がデフォルトの SYSdefault テンプレートを使用してゾーンを作成すると、次のプロパティーを持つ anet リソースがゾーン構成に自動的に入ります。

linkname=net0
lower-link=auto
mac-address=default
link-protection=mac-nospoof

そのようなゾーンのブート時に、ゾーンの一時 VNIC または IPoIB データリンクが自動的に作成されます。ゾーンが停止すると、VNIC または IPoIB データリンクは削除されます。


注 -  EVS および VPort を使用するには、エラスティック仮想スイッチ (EVS) IPS パッケージをインストールし、evsadm(1M) マニュアルページとOracle Solaris 11.2 での仮想ネットワークとネットワークリソースの管理 の説明に従って EVS コントローラを構成します。

EVS は、1 つまたは複数のサーバー (物理マシン) にまたがる仮想スイッチです。これは分離された L2 セグメントを示し、そのセグメントに接続されている VNIC anet を持つゾーン間のネットワーク接続を提供します。VPort は 3 タプル <tenant、evs、vport> によって一意に識別されるため、VNIC anet を EVS に接続する必要がある場合は、この情報をゾーンの構成に含める必要があります。


注 -  EVS に接続する VNIC anet は、VPort からほかのプロパティーを取得するため、許可される anet プロパティーは linkname のみです。

サポートされるプロパティーについては、下記を参照してください。これらのプロパティーはすべてオプションです。大域ゾーンだけが、自動的に作成された VNIC または IPoIB データリンクまたはそのプロパティーを変更できます。zonecfg に設定されたプロパティーを VNIC または IPoIB リンクの作成時に VNIC または IPoIB リンクに割り当てることができない場合、ゾーンはブートに失敗します。

linkname

自動作成される VNIC または IPoIB データリンクの名前を指定します。デフォルトでは、このプロパティーは、netN という形式の (ゾーンの) 最初に利用可能な名前に自動的に設定されます。ここで、N は負でない整数です。たとえば、net0net1 などのようになります。info サブコマンドによって、自動的に選択される linkname が表示されます。

大域ゾーンを含む複数のゾーンが、同じ名前のリンクを同時に持つことができます。

evs
vport

EVS が指定され、オプションで VPort が指定された場合、VNIC anet は、その VPort でその EVS に接続されることによって作成されます。グローバルテナントプロパティーが指定された場合、EVS はそのテナントの名前空間内で検索されます。

VPort が指定された場合、VPort の SLA プロパティー (maxbwcos、および 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) マニュアルページを参照してください。

lower-link

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 データリンクがスキップされます。リンクは次の発見的方法を使用して選択されます。

  1. リンク状態が up のリンクアグリゲーション。

  2. リンク状態が up の物理 Ethernet リンクのうち、アルファベット順にもっとも小さいリンク名を持つもの。

  3. up のものがない場合、net0 という名前のデータリンクがあれば、それが使用されます。

上記のどれも満たすことができない場合、ゾーンはブートに失敗します。

allowed-address

net リソースの排他的 IP ゾーンについての allowed-address プロパティーの説明を参照してください。

auto-mac-address

mac-address プロパティー (下記参照) が random または auto に設定されている場合に、ゾーンで永続的に同じアドレスが再取得されるように、ランダムに生成された MAC アドレスのリストを保持します。ランダムに生成されたアドレスをリセットするには、管理者がこのプロパティーをクリアする必要があります。

configure-allowed-address

net リソースの排他的 IP ゾーンについての configure-allowed-address プロパティーの説明を参照してください。

cos

データリンクに関連付けられた 802.1p の優先度。このプロパティーの詳細は、dladm(1M) を参照してください。

defrouter

net リソースの排他的 IP ゾーンについての defrouter プロパティーの説明を参照してください。

etsbw-lcl

TX 側の ETS 帯域幅を示します。このプロパティーの詳細は、dladm(1M) を参照してください。

mac-address

指定した値またはキーワードに基づいて、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-prefix

ランダムな MAC アドレスの割り当てがリクエストされた場合に使用する MAC アドレス接頭辞のリストを指定します。それ以外の場合、このプロパティーは無視されます。このプロパティーは、IPoIB データリンクでは無効です。

mac-slot

出荷時の MAC アドレスがリクエストされた場合に使用する MAC アドレススロット識別子のリストを指定します。それ以外の場合、このプロパティーは無視されます。このプロパティーは、IPoIB データリンクでは無効です。

mtu

VNIC の最大転送単位 (バイト)。dladm(1M)mtu プロパティーを参照してください。

maxbw

VNIC の全二重帯域幅を指定します。dladm(1M)maxbw プロパティーを参照してください。デフォルトでは、VNIC は lower-link に設定された maxbw を使用し、何も設定されない場合は帯域幅制限はありません。

priority

VNIC の相対的な優先度を指定します。サポートされる値とデフォルトについては、dladm(1M)priority プロパティーを参照してください。

vlan-id

この VNIC の VLAN タグを使用可能にして、VLAN タグの ID を指定します。デフォルト値は存在しません。つまり、このプロパティーを設定しないと、VNIC はどの VLAN にも参加しません。このプロパティーは、IPoIB データリンクではサポートされません。

vsi-typeid

VNIC に関連付けられた VSI タイプ ID を指定します。dladm(1M) の説明を参照してください。

vsi-vers

VNIC に関連付けられた VSI バージョンを指定します。dladm(1M) の説明を参照してください。

vsi-mgrid

VNIC に関連付けられた VSI マネージャー ID を指定します。dladm(1M) の説明を参照してください。

rxfanout

受信側ファンアウトスレッドの数を指定します。dladm(1M) の説明を参照してください。

rxrings

VNIC の受信リングを指定します。サポートされる値とデフォルトについては、dladm(1M)rxrings プロパティーを参照してください。

txrings

VNIC の送信リングを指定します。サポートされる値とデフォルトについては、dladm(1M)txrings プロパティーを参照してください。

link-protection

コンマ区切り値を使用して、1 つ以上のリンク保護のタイプを使用可能にします。サポートされる値については、dladm(1M)protection プロパティーを参照してください。このデフォルト値は mac-nospoof です。

ip-nospoof をこのプロパティーに追加しても、allowed-address も設定しないかぎり効果はありません。allowed-address を設定すると、ip-nospooflink-protection のセットに暗黙に追加され、allowed-address をクリアするとこれが削除されます。

allowed-dhcp-cids

このプロパティーを設定すると、VNIC の dhcp-nospoof が有効になります。詳細は、dladm(1M) を参照してください。

pkey

InfiniBand パーティションキー値を 16 進数で指定します。pkey は、0x 接頭辞が付いているかどうかに関係なく、常に 16進数として扱われます。このプロパティーは、IPoIB データリンクのみで有効です。

linkmode

IB パーティションデータリンク上のリンクトランスポートのサービスタイプを設定します。デフォルト値は cm です。このプロパティーは、IPoIB データリンクのみで有効です。有効な値は次のとおりです。

cm

接続モード。このモードでは 65520 のデフォルトの MTU を使用し、65535 バイトの最大 MTU をサポートします。リモートノードに対して接続モードが使用できない場合は、代わりに低信頼データグラムモードが自動的に使用されます。

ud

低信頼データグラムモード。このモードでは 2044 のデフォルトの MTU を使用し、4092 バイトの最大 MTU をサポートします。

ID 値はネットワークインタフェースの識別に使用される正の整数です。solaris-kz(5) を参照してください。

mac: auto-mac-address、mac-address、mac-prefix、id

mac リソースは anet リソースに MAC アドレスを追加するために使用され、プライマリ MAC アドレスは anet:mac-address プロパティーによって指定されます。

auto-mac-address

mac-address プロパティー (下記参照) が random または auto に設定されている場合に、ゾーンで永続的に同じアドレスが再取得されるように、ランダムに生成された MAC アドレスのリストを保持します。ランダムに生成されたアドレスをリセットするには、管理者がこのプロパティーをクリアする必要があります。

mac-address

指定した値またはキーワードに基づいて、MAC アドレスの VNIC のリストを設定します。リストの要素がキーワードでない場合は、ユニキャスト MAC アドレスとして解釈されます。このプロパティーは、IPoIB データリンクではサポートされません。サポートされるキーワードは次のとおりです。

factory:

ファクトリ MAC アドレスを VNIC に割り当てます。ファクトリ MAC アドレスが要求された場合、mac-slot プロパティーを使用して MAC アドレススロット識別子を指定できます。そうでない場合、次に使用可能なファクトリ MAC アドレスが使用されます。

random:

ランダムな MAC アドレスを VNIC に割り当てます。mac-prefix プロパティーを使用して接頭辞を指定します。そうでない場合、ローカルビットが設定された有効な IEEE OUI で構成されたデフォルトの接頭辞が使用されます。

auto:

NIC がサポートする場合はランダムな MAC アドレスを割り当て、そうでない場合は factory mac-address を割り当てようとします。これがデフォルト値です。

ランダムな MAC アドレスが選択された場合、生成されたアドレスは、ゾーンのブートやゾーンの切り離し、接続を行なったあとも保持されます。これにより、ゾーンは安定したクライアント ID を維持することによって DHCP リースを保持できるほか、安定した MAC アドレスを持つことによるほかの利点を活用することができます。

mac-prefix

ランダムな MAC アドレスの割り当てがリクエストされた場合に使用する MAC アドレス接頭辞のリストを指定します。それ以外の場合、このプロパティーは無視されます。このプロパティーは、IPoIB データリンクでは無効です。

id 値は、リソースを一意に識別するために使用される正の整数です。

device: match、allow-partition、allow-raw-io、id

照合するデバイス名。これは、照合する glob パターンにすることも絶対パス名にすることもできます。デバイスリソースと別名を付けたデータセットは、/dev/zvol 内で名前空間の競合が発生する可能性があります。dev(7FS) を参照してください。

または、ストレージ URI にストレージプロパティーを設定できます (suri(5) を参照)。この場合、ゾーンのブート時に SURI がマップされ、一致するデバイスノードをゾーン内で使用できます。ゾーンが停止すると SURI がマップ解除されます。この場合、allow-partition は自動的に true に設定されます。

allow-partitionallow-raw-io はどちらも true または false に設定でき、デフォルトで false になっています。「注意事項」 を参照してください。


注 - 一般に、ゾーンにデバイスを追加すると、システムのセキュリティーが損なわれる可能性があります。「注意事項」を参照してください。

ID 値は仮想ブロックデバイスの識別に使用される正の整数です。solaris-kz(5) を参照してください。

rctl: name、value

リソース制御の名前、特権、制限、アクション。prctl(1) および rctladm(1M) を参照してください。rctl の値の望ましい設定方法は、特定の rctl に関連する大域的なプロパティー名を使用する方法です。

virtual-cpus: ncpus

solaris-kz ブランドゾーンに構成される仮想 CPU の数を指定します。solaris-kz(5) を参照してください。

attr: name、type、value

汎用属性の名前、型、および値。type は、intuintbooleanstring のいずれかでなければなりません。値には、その型の値を指定する必要があります。uint は符号なしの (負でない) 整数です。

dataset: name、alias

ゾーン内からアクセスする ZFS データセットの名前。zfs(1M) を参照してください。各データセットがゾーン内の仮想 ZFS プールとして表示されるように、データセットに別名が付けられます。別名はこの仮想プールの名前です。ZFS プール名に適用される名前制限と、その結果、データセットの別名の値にも適用される名前制限については、zpool(1M) を参照してください。別名 rpool はゾーンの rpool データセットから予約されています。別名を付けたデータセットとデバイスリソースは、/dev/zvol 内で名前空間の競合が発生する可能性があります。dev(7FS) を参照してください。

global: cpu-shares

このゾーンに割り当てられている公平配分スケジューラ (FSS) の配分数。このプロパティーには dedicated-cpu リソースとの互換性はありません。このプロパティーは、zone.cpu-shares rctl を設定するための望ましい方法です。

global: max-lwps

このゾーンの、同時に使用できる LWP の最大数。このプロパティーは、zone.max-lwps rctl を設定するための望ましい方法です。

global: max-msg-ids

このゾーンに許容されるメッセージキュー ID の最大数。このプロパティーは、zone.max-msg-ids rctl を設定するための望ましい方法です。

global: max-processes

このゾーンの、同時に使用できるプロセステーブルスロットの最大数。このプロパティーは、zone.max-processes rctl を設定するための望ましい方法です。このプロパティーを設定すると、max-lwps プロパティーが明示的に設定されていないかぎり、max-lwps プロパティーの値がプロセススロット数の 10 倍の数に暗黙的に設定されます。

global: max-sem-ids

このゾーンに許容されるセマフォー ID の最大数。このプロパティーは、zone.max-sem-ids rctl を設定するための望ましい方法です。

global: max-shm-ids

このゾーンに許容される共有メモリー ID の最大数。このプロパティーは、zone.max-shm-ids rctl を設定するための望ましい方法です。

global: max-shm-memory

このゾーンに許容される共有メモリーの最大容量。このプロパティーは、zone.max-shm-memory rctl を設定するための望ましい方法です。この数値には、K、M、G、T の単位を適用できます。たとえば、1M は 1 メガバイトです。

global: scheduling-class

ゾーンで実行されているプロセスに使用するスケジューリングクラスを指定します。このプロパティーを指定しないと、スケジューリングクラスは次のように確立されます。

  • cpu-shares プロパティーまたは同等の rctl が設定されている場合、スケジューリングクラス FSS が使用されます。

  • cpu-shares も同等の rctl も設定されず、ゾーンのプールプロパティーがデフォルトのスケジューリングクラスを持つプールを参照する場合、そのクラスが使用されます。

  • その他の条件下では、システムのデフォルトのスケジューリングクラスが使用されます。

dedicated-cpu: cpus、cores、sockets ncpus、importance

このリソースは、ブート時にゾーンで排他的に利用するためのプールとプロセッサのセットを作成します。ゾーンが実行している間、これらのプロセッサはほかのゾーンまたは大域ゾーンでは使用できません。プールの詳細については、poolcfg(1M) および pooladm(1M) マニュアルページを参照してください。

専用 CPU を明示的に選択したり自動的に選択したりできます。

特定の CPU リソースの選択

cpuscores、または sockets のいずれかを、CPU、コア、またはソケット ID のリストに設定します。psrinfo -t および pooladm を使用して、どの CPU、コア、またはソケットが使用できるかを調べます。

指定したいずれかのリソースが別のゾーンまたはプールに割り当てられている場合、そのゾーンはブートに失敗します。これには割り当てられたリソースのサブセットが含まれます。たとえば、割り当てられたソケットのコアが別の場所で割り当てられている場合です。

指定したいずれかの 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 プロパティーとの互換性はありません。このリソースの単一のインスタンスのみをゾーンに追加できます。

capped-memory: physical、swap、locked

このゾーンが使用できるメモリーの上限。これらの各数値には、K、M、G、T の単位を適用できます。たとえば、1M は 1 メガバイトです。これらの各プロパティーはオプションですが、このリソースを追加するときは少なくとも 1 つのプロパティーを設定する必要があります。このリソースの単一のインスタンスのみをゾーンに追加できます。physical プロパティーは、このゾーンの max-rss を設定します。これは大域ゾーンで実行中の rcapd(1M) によって強制されます。swap プロパティーは、zone.max-swap rctl を設定するための望ましい方法です。locked プロパティーは、zone.max-locked-memory rctl を設定するための望ましい方法です。

capped-cpu: ncpus

ゾーンで使用できる CPU 時間に対して制限を設定します。使用される単位は、ゾーン内のすべてのユーザースレッドが使用できる 1 つの CPU の割合 (パーセント) に換算され、小数 (たとえば .75) または帯小数 (整数と小数が混在した数、たとえば 1.25) で表現されます。ncpu1 は CPU の割合が 100% であることを意味し、値 1.25 は 125%、.75 は 75% (以下同様) を意味します。上限が設けられたゾーン内のプロジェクトに独自の上限がある場合は、最小値が優先されます。

capped-cpu プロパティーは、zone.cpu-cap リソース制御の別名であり、zone.cpu-cap リソース制御に関連しています。resource_controls (5) を参照してください。

admin: user、auths

ゾーン管理の承認を、指定されたユーザーまたは役割に委任します。ユーザーは有効なローカルアカウントに対応している必要があります。auths に使用できる値は次のとおりです。

login

このゾーンへの zlogin(1) の使用の認証を許可します。

manage

構成済みゾーンの通常の管理を許可します。

copyfrom

新しいゾーンのクローンを作成するソースとして、指定されたゾーンの使用を許可します。

config

ゾーンの永続的な構成の変更を許可します。

liveconfig

実行中のゾーンのライブ構成を検査して変更することを許可します。

rootzpool: ストレージ

ゾーンのインストールを含む専用の zpool で排他的に使用される 1 つまたは複数のストレージリソースを定義します。ストレージに指定可能な値は、suri(5) で定義されています。

zpool: ストレージ、名前

ゾーンに委任される zpool で排他的に使用される 1 つまたは複数のストレージリソースを定義します。ストレージに指定可能な値は、suri(5) で定義されています。名前に指定可能な値は、zpool(1M) で定義されています。rpool という名前は許可されません。

keysource: raw

solaris-kz(5) で説明されている、カーネルゾーン一時停止イメージおよびホストデータに使用される暗号化鍵への管理アクセスを提供します。raw の値は、command_file モードの場合を除いて直接設定できません。

suspend: path、storage

カーネルゾーンの一時停止イメージの場所を構成します。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」にしてください。

カーネル統計を使った CPU キャップの監視

カーネル統計 (kstat(3KSTAT)) モジュール caps を使用して、システムは上限が設定されたすべてのプロジェクトおよびゾーンの情報を維持管理します。この情報を入手するには、kstat モジュール名として caps を指定して、カーネル統計 (kstat(3KSTAT)) を読み取ります。次のコマンドは、アクティブなすべての CPU キャップのカーネル統計を表示します。

# kstat caps::'/cpucaps/'

ゾーン内で実行されている kstat(1M) コマンドは、そのゾーンとそのゾーン内のプロジェクトに関連する CPU キャップしか表示しません。「使用例」を参照してください。

kstat(1M) で使用するキャップ関連の引数を次に示します。

caps

kstat モジュール。

project_caps または zone_caps

kstat クラス。kstat –c オプションとともに使用します。

cpucaps_project_id または cpucaps_zone_id

kstat 名。kstat –n オプションとともに使用します。id はプロジェクトまたはゾーンの識別子です。

次のフィールドは、すべての CPU キャップの統計情報を要求する kstat(1M) コマンドに応答して表示されます。

module

kstat のこの使用法では、このフィールドには値 caps が入ります。

name

前述のとおり、cpucaps_project_id または cpucaps_zone_id

above_sec

キャップを上回って費やされた合計時間 (秒)。

below_sec

キャップを下回って費やされた合計時間 (秒)。

maxusage

監視された最大 CPU 使用率。

nwait

待機キューに入っているスレッドの数。

usage

上限が設けられたプロジェクトまたはゾーンに属しているすべてのスレッドの現在の合計 CPU 使用率。1 つの CPU の割合 (パーセント) で表されます。

value

キャップ値。1 つの CPU の割合 (パーセント) で表されます。

zonename

統計情報が表示されるゾーンの名前。

kstat コマンドの出力例については、「使用例」を参照してください。

統合アーカイブからの構成

archiveadm(1M) によって作成される統合アーカイブは、Solaris インスタンスをアーカイブする手段を提供します。各統合アーカイブには、1 つ以上の大域または非大域ゾーンに対応するデータおよびメタデータを格納できます。デフォルトで、archiveadm(1M) はシステムまたはゾーンクローニングに適したアーカイブを生成します。オプションで、archiveadm(1M) はシステム復旧に適したアーカイブを生成できます。

zonecfg create -a archive [options] サブコマンドを使用して、統合アーカイブからゾーンを構成した場合、アーカイブ作成オプションは、アーカイブ構成が保持される度合いに影響することがあります。クローンアーカイブから構成すると、複数のホストで同じである場合に問題を引き起こす可能性のあるプロパティー値がデフォルト値をとります。これらのプロパティーは次のとおりです。

-

host id

anet

allowed-address

anet

mac-address

net

allowed-address

さらに、アーカイブされたゾーン名とインストールされるゾーンの名前が一致していない場合、一部のプロパティーは新しいゾーン名を反映するように自動的に更新されます。

zonepath

zonepath の最後の要素がアーカイブされたゾーン名と一致する場合、zonepath の最後の要素が新しいゾーン名で置き換えられます。

dataset/alias

データセットリソースの場合、別名がアーカイブされたゾーン名に一致する場合、別名が新しいゾーン名で置き換えられます。

dataset/name

データセットリソースの場合、name プロパティーの最後の要素がアーカイブされたゾーン名に一致する場合、name プロパティーの最後の要素が新しいゾーン名で置き換えられます。

統合アーカイブからの構成では、リソースやプロパティー値を変更する、必要に応じた後続のコマンドの使用を妨げません。

オプション

サポートしているオプションは、次のとおりです。

–f command_file

zonecfg コマンドファイルの名前を指定します。command_file は、zonecfg サブコマンドを 1 行に 1 つずつ記述するテキストファイルです。

–r

ライブ編集モードを有効にします。安定したストレージからの永続的な構成の代わりに、実行中のゾーンのライブ構成を編集するよう zonecfg に指示します。使用した場合、zonecfg は現在のライブゾーン構成のスナップショットを取得します。このモードでは、zonecfg サブコマンドの完全なセットがサポートされます。ライブ構成は、確定された直後に反映され、ゾーンの次回のリブートまでアクティブなままになります。ライブモードは実行中のゾーンでのみ許可され、solaris.zone.liveconfig/zonename の承認が必要です。

–z zonename

ゾーンの名前を指定します。ゾーン名では、大文字と小文字が区別されます。ゾーン名は英数字で始める必要がありますが、英数字以外に下線 (_)、ハイフン (-)、およびピリオド (.) も使用できます。global という名前と SYS で始まるすべての名前は、予約されているので使用できません。

トークン

トークン

特定のプロパティーで次のトークンを使用することがサポートされています。

%{zonename}

ゾーンの名前に評価されます。

%{id}

特定リソースの ID プロパティーに評価されます。このトークンは、id プロパティーをサポートするリソースのスコープ内で使用されます。

%%

% に評価されます。

サブコマンド

サブコマンド

add および select サブコマンドを使用して、特定のリソースを選択できます。選択した時点で、スコープがそのリソースに変更されます。end および cancel サブコマンドを使用して、そのリソースの指定を終了することができます。指定を終了した時点で、スコープが大域に戻ります。addremoveset などの一部のサブコマンドでは、スコープごとにセマンティクスが異なります。

zonecfg は、サブコマンドをセミコロンで区切ったリストをサポートします。例:

# zonecfg -z myzone "add net; set physical=myvnic; end"

破壊的な動作や作業内容の消失を伴う可能性のあるサブコマンドには、強制的にその処理を実行するために –F オプションが用意されています。端末デバイスから入力しているときに、–F オプションを指定しないでそのようなコマンドを実行した場合は、オプションを指定するかどうかを適切なタイミングで確認されます。それ以外の状況で –F オプションを指定しないでそのようなコマンドを実行した場合、そのアクションは許可されず、診断メッセージが標準エラーに書き込まれます。

サポートされているサブコマンドは次のとおりです。

add resource-type (global scope)
add property-name property-value (resource scope)

大域スコープまたはリソース固有のスコープで、特定のリソースタイプの指定を開始します。スコープがそのリソースタイプに変わります。

リソース固有のスコープでは、指定された名前と値を持つプロパティーを追加します。プロパティー値の構文は、プロパティータイプによって異なります。通常は、単純値または単純値のリストを使用します。リストの場合は、角括弧で囲み、各値をコンマで区切ります ([foo,bar,baz])。「プロパティー」を参照してください。

cancel

リソースの指定を終了し、スコープを大域に戻します。指定途中のリソースをすべて破棄します。cancel は、リソースのスコープだけに適用できます。

clear property-name

プロパティーの値をデフォルト値にクリアします。

commit [–n] [–q]
デフォルトモード

現在の構成をメモリーから安定したストレージに確定します。zoneadm で構成を使用するには、その構成を確定する必要があります。オプション –n および –q はデフォルトモードで許可されません。

ライブモード

現在のメモリー内のライブ構成と一致するように実行中のゾーンを再構成し、実行されたアクションを出力します。適用された変更はすぐに反映され、ゾーンの次回のリブートまでアクティブなままになります。commit サブコマンドの呼び出しの前にライブ構成が外部で変更された場合、処理はエラーを返します。このような場合、確定を成功させるには、ライブ構成を再ロードして、目的の変更を再適用する必要があります。

サポートしているオプションは、次のとおりです。

–n

実行中のゾーンの構成を変更しない予行演習モードで再構成を実行します。予行演習モードは実際の再構成と同様に動作しますが、実行中のゾーンに変更を加えません。予行演習を使用して、実際の再構成によって実行されることが予想されるアクションを確認します。

–q

静寂モード。ゾーン再構成に関連するすべてのメッセージを抑止します。

メモリー内構成を確定するまでは、reload サブコマンドを使って変更を取り消すことができます。zonecfg セッションが終了するときには、commit 処理が自動的に実行されます。構成が正しく設定されていないと確定できないので、この処理では自動的に構成が確認されます。

create [–F] [ –a directory |–b | –t template]
create [–F] –a archive [–z archived_zone]
[–<cert|ca-cert|key>=path] ...

指定されたゾーンのメモリー内構成を作成します。新しいゾーンの構成を開始するときは、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 証明書、鍵ファイルの場所を指定できます。指定する場合、certcacert、および key は PEM 形式にする必要があります。詳細については、上記の「統合アーカイブからの構成」を参照してください。

空の構成を作成する場合は、–b オプションを使用します。引数が指定されていない場合、create は Oracle Sun のデフォルト設定を適用します。

delete [–F]

指定された構成をメモリー内および安定した記憶領域から削除します。このアクションはすぐに実行されるので、確定する必要はありません。削除した構成を元に戻すことはできません。

この操作を強制的に実行する場合は、–F オプションを使用します。

end

リソースの指定を終了します。このサブコマンドは、リソースのスコープだけに適用できます。zonecfg は、現在のリソースが完全に指定されていることを確認します。完全に指定されている場合は、メモリー内構成に追加され (メモリー内構成を安定したストレージに保存する方法については commit を参照)、スコープは大域範囲または以前のリソース固有の範囲に戻ります。指定が完全でない場合は、対応するエラーメッセージが通知されます。

export [–f output-file]

標準出力に構成を出力します。output-file に構成を出力する場合は、–f オプションを使用します。このオプションを使用すると、コマンドファイルに適した形式で出力が作成されます。

help [usage] [subcommand] [syntax] [command-name]

一般ヘルプまたは特定項目のヘルプを出力します。

info zonename | zonepath | autoboot | autshutdown | brand | pool | limitpriv
info[ resource-type [property-name =property-value]*]

現在の構成に関する情報を表示します。resource-type が指定されている場合は、関連するタイプのリソースについてのみ情報を表示します。property-name 値ペアが指定されている場合は、その条件を満たしているリソースの情報だけを表示します。リソースのスコープでは、引数が無視され、info は現在追加または変更されているリソースの情報を表示します。

特定のプロパティーまたはリソースタイプが zonecfg 対話型モードで property-name.template: template-value としてリクエストされた場合、トークンが表示されることがあります。このテンプレート値の評価された出力は、property-name: propperty-value で提供されます。「使用例」を参照してください。

remove resource-type {property-name=property-value}(global scope)

大域スコープでは、指定されたリソースタイプを削除します。[] 構文は、0 個以上の項目を角括弧の中に指定できることを意味します。リソースの単一インスタンスを削除するだけの場合、そのリソースが一意に識別されるように、property-nameproperty-value のペアを十分に指定する必要があります。プロパティーの名前と値の対をまったく指定しないと、すべてのインスタンスが削除されます。1 つより多くのペアを指定した場合は、–F オプションを指定しないかぎり、確認が必要です。

select resource-type {property-name=property-value}

指定されたリソースタイプのうち、指定された property-nameproperty-value の対の条件に一致するものを、変更対象として選択します。このサブコマンドは、大域スコープだけに適用できます。スコープがそのリソースタイプに変わります。{} 構文は、1 つまたは複数の項目をこの中に指定できることを意味します。リソースが一意に識別されるように、property-name property-value ペアを十分に指定する必要があります。

set property-name=property-value

指定されたプロパティー名を、指定された値に設定します。プロパティーには、zonenamezonepath のような大域プロパティーと、リソース固有のプロパティーがあります。このサブコマンドは、大域スコープとリソース固有のスコープの両方で使用できます。

verify [–v]

現在の構成が正しいかどうかを確認します。

  • 各リソースに必須プロパティーがすべて指定されていこと。

  • zonepath が指定されていること。

–v オプションが指定された場合、デバイスリソース内で指定されたデバイスが、別名が付けられたデータセット内で作成された ZFS ボリュームと競合して、ZFS ボリュームを非表示にする可能性があるときに、警告が発行されます。dev(7FS) を参照してください。

revert [–F]

構成を、最後に確定されたときの状態に戻します。この操作を強制的に実行する場合は、–F オプションを使用します。

reload [–F ]

未確定のすべての変更を破棄し、安定したストレージから構成を再ロードする (デフォルトモード) か、実行中のゾーンの最新の構成を取得します (ライブモード)。この操作を強制的に実行する場合は、–F オプションを使用します。

revert [–F]

永続的な構成を、最後に確定されたときの状態に戻します。この操作を強制的に実行する場合は、–F オプションを使用します。このサブコマンドは、ライブモードでは許可されません。

exit [–F]

zonecfg のセッションを終了します。必要な場合は、確定操作が自動的に試行されます。EOF 文字を使用して zonecfg を終了することもできます。この操作を強制的に実行する場合は、–F オプションを使用します。

使用例 1 新しいゾーンの環境を作成する

次の例では、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/webweb というゾーンが 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

終了ステータス

次の終了ステータスが返されます。

0

正常終了。

1

エラーが発生した。

2

無効な使用法。

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
system/zones
インタフェースの安定性
流動的

関連項目

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 内に指定できません。