Go to main content

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

印刷ビューの終了

更新: 2018年8月8日
 
 

zonecfg(8)

名前

zonecfg - ゾーン構成の設定

形式

zonecfg [-z zonename [-r]]
zonecfg [-z zonename [-r]] subcommand
zonecfg [-z zonename [-r]] 
-f command_file
zonecfg help [subcommand]

説明

zonecfg ユーティリティーは、ゾーンの構成を作成、変更、および一覧表示します。作成機能と変更機能は承認されたユーザーだけが使用でき、ルートの実効ユーザー ID でプロセスを実行する必要があります。それ以外の場合は、ゾーンの構成を変更できません。

ゾーン構成は、いくつかのリソースおよびプロパティーで構成されます。

ユーザーインタフェースを簡素化するために、zonecfg ではスコープの概念が使用されます。デフォルトのスコープは大域です。

次の形式の zonecfg コマンドは、非対話形式で使用されます。

zonecfg –z [–r] zonename subcommand

zonecfg ユーティリティーは 2 つの編集モードで実行できます。

default

安定したストレージに格納されている永続的なゾーン構成の作成、変更、および一覧表示が可能です。デフォルトモードで zonecfg によって変更されたパラメータは、稼働中のゾーンには影響しません。変更を有効にするには、ゾーンを zoneadm(8) apply サブコマンドを使用して再構成するか、リブートする必要があります。

–z zonename オプションが指定されていない場合は、構成セッションがゾーンなしで開始されます。これを使用すると、エクスポートはできるが、保持したり、適用したりできない構成を作成できます。

永続的な構成の変更を許可するには、solaris.zone.config/zonename の承認が必要です。

live

実行中のゾーンのライブ構成の作成、変更、および一覧表示が可能です。ライブモードで zonecfg によって変更されたパラメータは、確定された直後に有効になり、ゾーンの次回のリブートまでアクティブなままになります。ライブモードは実行中のゾーンでのみ使用可能で、solaris.zone.liveconfig/zonename の承認が必要です。

ライブゾーン再構成によってサポートされるリソースについての詳細は、それぞれのブランドマニュアルページを参照してください。

ゾーンの作成と変更のほか、zonecfg ユーティリティーは大域ゾーンのリソース管理設定を永続的に指定したり、fs-allowed、データセット、およびデバイスの設定と組み合わせて file-mac-profile を指定することによって、大域ゾーンを不変大域ゾーンとして構成したりできます。

以降の文では、「rctl」を「resource control」(リソース制御) の略語として使用します。resource-controls(7) のマニュアルページを参照してください。

すべてのゾーンに、それぞれ関連するブランドが構成されます。ブランドによって、ゾーン内で使用されるユーザーレベルの環境のみでなく、ゾーンがインストール、ブート、またはシャットダウンされるときのゾーンのさまざまな動作も決まります。ゾーンのインストールが完了したあとは、そのブランドを変更することはできません。デフォルトのブランドは、大域ゾーンにインストールされているディストリビューションによって決まります。ブランドの中には、zonecfg のすべてのプロパティーおよびリソースをサポートしないものがあります。各ブランドについての詳細は、ブランド固有のマニュアルページを参照してください。ブランドの概要については、brands(7) のマニュアルページを参照してください。

リソース

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

attr

汎用属性。

capped-cpu

CPU 使用率の制限。

capped-memory

物理メモリー、スワップメモリー、およびロックされたメモリーの制限。オプションで、solaris-kz ブランドゾーンの物理メモリー用の pagesize-policy を指定します。

dataset

ZFS データセット。

dedicated-cpu

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

device

デバイス。

fs

ファイルシステム。

ib-vhca

仮想 InfiniBand デバイス。

port

仮想 InfiniBand デバイスのポート。ポートリソースは、ib-vhca リソーススコープでのみ有効です。

keysource

暗号化鍵

net

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

anet

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

mac

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

vlan

ゾーン用に構成される追加の VLAN ID。VLAN リソースは anet リソース内でのみ有効です。

smf-dependency

ゾーンの SMF インスタンスの SMF 依存関係。

admin

委任された管理者。

rctl

リソース制御。

suspend

中断イメージ

rootzpool

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

virtual-cpu

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

zpool

ゾーンに委任される ZFS zpool です。

npiv

ファイバチャネル NPIV ポート。

verified-boot

ゾーンのベリファイドブート設定。

複数インスタンスリソースには、リソースの各インスタンスを一意に識別する識別子があります。この識別子は、info サブコマンドの出力で、すべての複数インスタンスリソースの各インスタンスの横に表示される数字です。識別子は自動的に生成され、ユーザーが変更することはできず、zonecfg セッションでのみ一貫性があります。

疎ルートおよび完全ルート非大域ゾーン

以前のリリースの Oracle Solaris がこの概念を提供しました。 疎ルートゾーンこの機能は、SVr4 パッケージングシステムと密接に関連しており、ディスク容量の節約と管理作業の軽減を目的としていました。

新しいパッケージングシステムである IPS では、ゾーンにインストールするパッケージをより柔軟に選択できるようになっています。したがって、ファイルシステムテクノロジが進歩したこと (特に ZFS 複製解除) も考慮すれば、疎ルートゾーンを削除することは非常に実用的です。IPS パッケージングとファイルシステムの進歩が組み合わされた結果、すべてのゾーンに疎ルートゾーンのメリットがもたらされています。

プロパティー

各リソースタイプには、1 つまたは複数のプロパティーが割り当てられます。また、いくつかの大域プロパティー (特定のリソースのプロパティーではなく、構成全体のプロパティー) も割り当てられます。

次のプロパティーがサポートされています。

(大域)

zonename

(大域)

zonepath

(大域)

autoboot

(大域)

autoshutdown

(大域)

global-time

(大域)

bootargs

(大域)

boot-priority

(大域)

pool

(大域)

limitpriv

(大域)

brand

(大域)

cpu-shares

(大域)

hostid

(大域)

max-adi-metadata-memory

(大域)

max-lwps

(大域)

max-msg-ids

(大域)

max-processes

(大域)

max-sem-ids

(大域)

max-shm-ids

(大域)

max-shm-memory

(大域)

scheduling-class

(大域)

fs-allowed

(大域)

file-mac-profile

(大域)

tenant

(大域)

cpu-arch

(大域)

host-compatible

(大域)

boot-disk-protection

fs

dirspecialrawtypeoptions

net

addressallowed-addressconfigure-allowed-addressphysicaldefrouterid

anet

linknamelower-linkallowed-addressauto-mac-addressconfigure-allowed-addressdefroutermac-addressmac-slotmac-prefixmtumaxbwbwsharepriorityvlan-idvsi-typeidvsi-versvsi-mgridrxfanoutrxringstxringslink-protectionallowed-dhcp-cidspkeylinkmodeetsbw-lclcosidevsvportiovvlanring-groupautopush

mac

auto-mac-addressmac-addressmac-prefixallowed-mac-addressid

vlan

vlan-iddynamic-vlan-id

device

matchstoragecreate-sizeallow-partitionallow-raw-ioallow-mhdidbootpri

ib-vhca

over-hcasmi-enabledid

port

pkeyid

rctl

namevalue

attr

nametypevalue

dataset

namealias

dedicated-cpu

ncpusimportance

cpuscoressockets

virtual-cpu

ncpus

capped-memory

physicalswaplockedpagesize-policy

capped-cpu

ncpus

admin

userauths

rootzpool

storage

zpool

storagename

npiv

virtual-port-wwnover-hba

verified-boot

policycert

hostkey

raw

suspend

pathstorage

これらの名前とペアになっているプロパティー値の場合、これらは文字列または文字列のリストのいずれかです。許可されるタイプはプロパティーごとに異なります。単一の値を引用符で囲むこともできます。

リストは次の構文で指定します。

[<value>,...]

ここで、各 <value> は文字列プロパティーです。値が 1 つだけのリストは、リスト構文を使わずにその値を指定することと等価です。つまり、「foo」は「[foo]」と等価です。リストは空でもかまいません (「[]」と表記)。

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

global: zonename

ゾーンの名前。

global: zonepath

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

global: global-time

ゾーンがグローバル/システム全体の時間を変更できるか (true の場合)、ゾーン固有の時間を変更できるか (false の場合) を示すブール値。

global: autoboot

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

# svcadm enable svc:/system/zones:default

ゾーンサービスを無効にする場合は、enabledisable に置き換えます。詳細は、svcadm(8) のマニュアルページを参照してください。

global: autoshutdown

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

global: bootargs

ゾーンのブートに渡される引数 (オプション)。ただし、zoneadm boot コマンドにオプションが指定された場合を除きます。その場合は、それらが優先されます。有効な引数は、zoneadm(8) のマニュアルページで説明されています。

global: pool

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

global: limitpriv

このゾーン内のいずれかのプロセスが入手できる特権のセットの最大数。プロパティーは、priv_str_to_set(3C) のマニュアルページで説明されているコンマ区切りの特権セットの仕様で構成するようにしてください。名前の前にダッシュ (-) または感嘆符 (!) を付けると、結果として得られるセットから特権を除外できます。このコンテキストでは、特別な特権文字列「zone」はサポートされていません。特別な文字列「default」がプロパティーで最初のトークンとして出現する場合、zones(7) のマニュアルページで説明されている、リソースとセキュリティーの分離を保持する安全な特権のセットに展開します。プロパティーが不足しているか空である場合、この同じ安全な特権のセットと同等になります。

システム管理者は、ゾーンに対して特権の構成を行う際に細心の注意を払う必要があります。一部の特権は、ゾーンのブートに必須のためこのメカニズムを介して除外できません。さらに、ゾーン内のプロセスがほかのゾーンのプロセスに過度に影響を与えてしまうため、特定の特権はゾーンに対して付与されていません。zoneadm(8) は、ゾーンを「ブート」または「準備」しようとする際、無効な特権がゾーンの特権セットとの間で追加される、または削除される場合を示しています。

特権については、privileges(7) のマニュアルページを参照してください。コマンド「ppriv -l」(ppriv(1) のマニュアルページを参照) は、すべての Oracle Solaris 特権のリストを生成します。ppriv で表示されるように特権を指定できます。privileges(7) のマニュアルページでは、特権が PRIV_privilege_name の形式で一覧表示されています。たとえば、このプロパティーで特権 sys_time を指定した場合、これは privileges(7) のマニュアルページでは PRIV_SYS_TIME として表示されています。

global: brand

ゾーンのブランドタイプ

global: ip-type

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

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

共有 IP 機能は、将来のリリースで削除される可能性があります。排他的 IP を使用することを強くお勧めします。この機能が削除されると、この機能を使用するように構成されているゾーンはブートしなくなります。

そのゾーンを引き続き使用するには、IP タイプが shared に設定されているゾーンをすべて、IP タイプが exclusive に設定されるように変換してください。ほとんどの場合は、これにより zonecfg (8) の「net」リソースが「anet」リソースに置き換えられます。大域ゾーンの IPMP グループの一部であるインタフェースを使用している共有 IP ゾーンが存在する場合は、DLMP アグリゲーションの使用に切り替えるようにしてください。大域ゾーンで、古い IPMP インタフェース上に DLMP アグリゲーションを作成したあと、lower-link がその DLMP アグリゲーションを指す zonecfg (8) の「anet」リソースを作成します。共有 IP の制限されたサポートが、特定のマルチレベルサーバー Trusted Extensions 構成に対して保持されます。

global: hostid

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

global: fs-allowed

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

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


Caution

注意  -  デフォルト以外のファイルシステムマウントを許可すると、ゾーン管理者が偽のファイルシステムイメージでシステムに損害を与えることが可能になります。 デフォルト以外のファイルシステムは、非大域ゾーンによる安全な使用について監査されていません。このオプションを使用すると、ゾーンのセキュリティーを損なうことがあります。これには、システム全体のパニックやその他の問題の発生が含まれることがあるため、このオプションは注意して使うようにしてください。


global: file-mac-profile

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

このプロパティーでは現在、nonestrictdynamic-zonesfixed-configuration、および flexible-configuration の 5 つの値がサポートされています。

none は、このゾーンを通常の読み取りまたは書き込みゾーンとまったく同じにします。その他の設定はすべて、このゾーンを不変ゾーンにします。strict は、読み取り専用ポリシーに対する例外を許可しません。fixed-configuration は、構成ファイルを含むディレクトリを除き、このゾーンによる /var 内およびその下にあるファイルへの書き込みを許可します。

/var/ld
/var/lib/postrun
/var/pkg
/var/spool/cron
/var/spool/postrun
/var/svc/manifest

dynamic-zonesfixed-configuration と同じですが、非大域ゾーンとカーネルゾーンの作成および破棄が許可されます。このプロファイルは、大域ゾーン (カーネルゾーンの大域ゾーンを含む) に対してのみ有効です。

flexible-configurationdynamic-zones と同じですが、/etc 内のファイルへの書き込みも追加で許可されます。

global: tenant

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

VNIC anet が接続する EVS を所有するテナントの名前を定義します。evsadm(8) のマニュアルページを参照してください。

global: cpu-arch

solaris-kz ブランドゾーンに対して構成された移行クラスを指定します。

移行クラスは、ソースホストとターゲットホスト間で互換性のあるハードウェア機能を有効にし、それらの間でライブ移行またはウォーム移行を行えるようにするために使用されます。

このプロパティーの指定可能な値については、solaris-kz(7) のマニュアルページを参照してください。

global: host-compatible

solaris-kz ブランドゾーンに対して構成されたホスト互換性レベルを指定します。

互換性レベルは、大域ゾーンで動作している Oracle Solaris のバージョンによってサポートされている、ソースホストとターゲットホスト間で互換性のある機能を有効にし、それらの間でライブ移行またはウォーム移行を行えるようにするために使用されます。

移行クラスとホストの互換性レベルの両方で有効にされた機能のみがカーネルゾーンに表示されます。

互換性レベルに含まれる機能は、互換性レベル修飾子を指定することによって拡張できます。各修飾子のあとに示されているように、修飾子は指定された互換性レベルでのみ使用できます。現在のところ、これは SPARC プラットフォームでのみ機能し、x86 プラットフォームではサポートされていません。

使用可能なホストの互換性レベルは次のとおりです。

native

現在のバージョンの Oracle Solaris でサポートされているすべての機能が有効になります。これにより、異なるバージョンの Oracle Solaris を実行しているほかのホストへの移行ができなくなる可能性があります。

level1

level1 レベルには、ADI、DAX、および VA マスク機能が含まれます。

値を設定しない場合、デフォルトのカーネルゾーンのホスト互換性レベルには Oracle Solaris 11.2 でサポートされている機能のみが含まれます。

次の virtinfo コマンドを使用すると、カーネルゾーンがサポートされている場合、現在のバージョンの Solaris でサポートされているホスト互換性レベルを確認できます。

# virtinfo -c supported get host-compatible-levels kernel-zone

使用可能な互換性レベル修飾子は次のとおりです。

adi

ADI 機能を有効にし、デフォルトの互換性レベルでのみ使用できます。

このプロパティーのジェネリックな構文は次のとおりです。

host-compatible=<compatible-level-name>[,modifier-name]...

デフォルトの互換性レベルの修飾子を指定する場合の構文は次のとおりです。

host-compatible=<modifier-name>[,modifier-name]...

移行クラスでサポートされていない機能を有効にするために修飾子を使用することはできません。

global: boot-disk-protection

solaris-kz ブランドゾーンに対するブートディスク保護機能を有効または無効にします。これは、on または off に設定できます。デフォルト値は off です。

on に設定されている場合、ブートディスクはホスト ID をキーとして、また SCSI3_RESV_WRITEEXCLUSIVEREGISTRANTSONLY を予約タイプとして PGR 予約を使用して予約されます。このゾーンが切断またはアンインストールされると、予約は削除されます。

クラスタソフトウェアも管理対象のディスクに対して PGR 予約を使用するため、この機能は、ほかのいずれかのクラスタソフトウェアでも管理されているディスクに対しては使用できません。その場合は、boot-disk-protectionoff に設定する必要があります。また、大域ゾーンで実行されているクラスタソフトウェアを、ブートディスクを管理しないように再構成することもできます。

この機能では、すべてのブートディスクを、SCSI-3 PGR 予約をサポートするストレージ LUN に配置する必要があることに注意してください。いずれかのブートディスクがこの要件を満たしていない場合、そのゾーンを接続したり、インストールしたりすることはできません。

fs: dirspecialrawtypeoptions

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

net: addressallowed-addressconfigure-allowed-addressphysicaldefrouterid

net リソースは、ゾーンに対する物理ネットワークリソースの割り当てを表します。割り当ての前に、リソースは大域ゾーンに存在する必要があります。

ネットワークインタフェースのネットワークアドレスと物理インタフェース名。ネットワークアドレスは、次のいずれかになります。

  • 有効な IPv4 アドレス。後続の「/」とプレフィックス長は任意です。

  • 有効な IPv6 アドレス。後続の「/」とプレフィックス長は必須です。

  • IPv4 アドレスに解決されるホスト名。

IPv6 アドレスに解決されるホスト名はサポートされていません。

物理インタフェース名はネットワークインタフェース名です。

省略可能なデフォルトルートの値は、ネットワークアドレスと同様に指定しますが、後ろに / (スラッシュ) とネットワーク接頭辞長を決して付けないでください。defrouter 機能を正しく使用できるようにするには、このプロパティーを使用するゾーンを、大域ゾーンが常駐するサブネットとは異なるサブネット上に配置してください。また、異なる defrouter 設定を使用する各ゾーン (あるいはゾーンセット) を異なるサブネット上に配置してください。

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

ゾーンは排他的 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(8) によってインタフェースが有効にされているとき (通常はゾーンのブート中) に、そのインタフェースに適用されます。非大域排他的 IP ゾーンは、ほかのどのアドレスをそのインタフェースに適用することもできなくなります。また、指定された IP バージョンの別のソースアドレスを持つパケットを送信することもできなくなります。zonecfg を使用して設定されたデフォルトルーターを、route(8)–p フラグを使用して、非大域排他的 IP ゾーン内から永続的に削除することはできません。

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

solaris-kz ブランドゾーンへの IPoIB VNIC の割り当ては、現在サポートされていません。

anet: linknamelower-linkallowed-addressauto-mac-addressconfigure-allowed-addressdefroutermac-addressmac-slotmac-prefixmtumaxbwbwsharepriorityvlan-idvsi-typeidvsi-versvsi-mgridrxfanoutrxringstxringslink-protectionallowed-dhcp-cidspkeylinkmodeetsbw-lclcosidevsvportmaciovvlanring-groupautopush

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

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

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

ゾーン内に構成された特定の anet リソースのための IP インタフェースが存在する場合は、このゾーンから anet リソースを削除するために LZR を呼び出す前に、まずこのインタフェースを無効にするか、または削除する必要があります。そうしないと、anet リソースの削除は失敗します。


注 -  EVS および VPort を使用するには、エラスティック仮想スイッチ (EVS) IPS パッケージをインストールし、evsadm(8) のマニュアルページとManaging Network Virtualization and Network Resources in Oracle Solaris 11.4の説明に従って、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(8) のマニュアルページを参照してください。

lower-link

VNIC または IPoIB が作成されるリンクを指定します。このプロパティーのデフォルト値は、Ethernet リンクでは auto です。pkey を指定する場合、lower-link を有効な IPoIB phys クラスデータリンクとともに指定する必要があります。管理者は、anet リソースを追加するとき、値を明示的に指定できます。リンクには、dladm create-vnic–l オプションまたは dladm create-part–l オプションの引数として受け入れられるすべてのリンクを使用できます (dladm(8) のマニュアルページを参照してください)。このプロパティーが linkname (auto 以外) に設定され、そのリンクが存在しない場合、ゾーンはブートに失敗します。auto に設定されると、zoneadmd(8) デーモンは、ゾーンがブートするたびに、VNIC が作成されるリンクを自動的に選択します。ブート中に自動的に VNIC を作成するためにデフォルトの lower-link を選択すると、すべての IPoIB データリンクがスキップされます。リンクは次の発見的方法を使用して選択されます。

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

  2. 物理 Ethernet リンクのうち、次のようなリンクを選択します。

    1. リンク状態が up

    2. 使用可能な VF の最大数 (iov=auto/on の場合のみ)

    3. 排他的なリンググループをサポートします (ring-group=exclusive の場合のみ)

    4. 使用可能な空き mac-slots の最大数

    5. アルファベット順にもっとも小さい名前を持つもの

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

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

allowed-address

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

auto-mac-address

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

bwshare

VNIC の帯域幅共有を指定します。dladm(8) のマニュアルページの bwshare プロパティーを参照してください。このプロパティーは現在、特定の NIC でのみサポートされています。

configure-allowed-address

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

cos

データリンクに関連付けられた 802.1p の優先度。このプロパティーの詳細については、dladm(8) のマニュアルページを参照してください。

defrouter

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

etsbw-lcl

TX 側の ETS 帯域幅を示します。このプロパティーの詳細については、dladm(8) のマニュアルページを参照してください。

mac-address

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

  • factory: ファクトリ MAC アドレスを VNIC に割り当てます。

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

  • auto: 可能であれば、NIC でサポートしている場合は最初にランダムな mac-address の割り当てを試み、そうでない場合は出荷時の mac-address の割り当てを試みます。これがデフォルト値です。

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

mac-prefix

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

mac-slot

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

ゾーンで mac-address=factory または mac-address=auto が設定されている場合、これらのゾーンは事前にブートして最初にスロットを取得する可能性があるため、この設定は非推奨であり、使用するべきではありません。特定のファクトリ MAC アドレスが必要な場合、mac-address でアドレスを明示的に指定して、スロットを使用する可能性があるその他のゾーンがこのゾーンより前にブートしないようにします。

allowed-mac-address

1 から 5 オクテットの長さの MAC 接頭辞のリストを指定します。これが設定されている場合、VNIC の MAC アドレスが allowed-mac-address リスト内のいずれかの MAC アドレス接頭辞で始まるかぎり、solaris-kz(7) ブランドゾーンは VNIC を作成できます。

特定の使用例では、KZ の内部で必要な可能性がある MAC アドレスの値は前もってわかりません。これによって、動的 MAC アドレス構成が必要となります。この設定を使用すると、MAC アドレスがリスト内のエントリの 1 つで始まるかぎり、ゲストは、必要とする MAC アドレスをホストにプッシュして、そのアドレス内で VNIC の作成を正常に行うことができます。

このプロパティーが指定されている場合、anet mac リソースのほかのプロパティーは指定できません。

allowed-mac-address を特殊なキーワード「any」に設定すると、ゲストは、任意の有効なユニキャスト MAC アドレスを使用して VNIC を作成できます。

mtu

VNIC の最大転送単位 (バイト)。dladm(8) のマニュアルページの mtu プロパティーを参照してください。

maxbw

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

priority

VNIC の相対的な優先度を指定します。dladm(8) のマニュアルページの priority プロパティーを参照してください。

ring-group

このプロパティーを設定すると、ゾーンで Ethernet リンクのハードウェアリンググループ機能を使用できます。このプロパティーの指定可能な値は次のとおりです。

auto

特定の下位リンクに exclusive または shared のどちらを使用するかは、OS が決定します (デフォルト)。

shared

専用のハードウェアリンググループを使用しません。

exclusive

排他的なハードウェアリンググループを使用します。排他的なハードウェアリンググループが使用可能でない場合は、anet の作成が失敗します。

このプロパティーが exclusive であり、かつ lower-link が指定されていない場合、lower-link の選択ロジックでは、これをその他の条件に加えて考慮に入れます (詳細は、lower-link プロパティーを参照してください)。

このプロパティーには次の制限があります。

  • anet iov プロパティーとは互換性がありません。

vlan-id

この VNIC の VLAN または PVLAN タグを使用可能にして、VLAN タグの ID を指定します。デフォルト値は存在しません。つまり、このプロパティーを設定しないと、VNIC はどの VLAN にも参加しません。このプロパティーは、IPoIB データリンクではサポートされません。サポートされる VLAN ID 形式については、dladm(8) のマニュアルページを参照してください。

vsi-typeid

VNIC に関連付けられた VSI タイプ ID を指定します。dladm(8) のマニュアルページの説明を参照してください。

vsi-vers

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

vsi-mgrid

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

rxfanout

受信側ファンアウトスレッドの数を指定します。dladm(8) のマニュアルページの説明を参照してください。

rxrings

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

txrings

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

link-protection

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

anetlink-protection を完全に無効にするには、link-protection 値を none に設定します。ここでは、スプーフィング対策が必要ない (ゾーンは信頼されているか、拡張ネットワークサービスをラップする) か、システムまたはネットワークの別の場所でチェックされことが前提となっています。

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

allowed-dhcp-cids

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

pkey

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

linkmode

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

cm

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

ud

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

iov

このプロパティーを設定すると、solaris-kz ブランドゾーンでネットワークデバイスの SR-IOV VF を使用できます。このプロパティーの指定可能な値は次のとおりです。

  • auto: VF が使用可能な場合はそれを使用します。そうでない場合は、準仮想デバイスの使用にフォールバックします。

  • on: VF を使用する必要があります。VF が使用できない場合、anet の作成は失敗します。

  • off: VF を使用しません (デフォルト)。

このプロパティーが auto/on であり、かつ lower-link が指定されていない場合、下位リンクの選択ロジックでは、これをその他の条件に加えて考慮に入れます (詳細は、lower-link プロパティーを参照してください)。

このプロパティーの制限を次に示します。

  • solaris-kz ブランドゾーンでのみ使用できます。

  • これは、lower-linkidmac-addressmac-prefixmac-slotmaxbwbwshare、および priority を除くすべての anet プロパティーと互換性がありません。

  • lower-link がリンクアグリゲーションの場合、iov には「off」または「auto」のみ指定できます。

autopush

対応する DLPI デバイスが開かれたときに、あるリンクに関連付けられたストリームにプッシュする一連の STREAMS モジュール。このプロパティーは、コンマで区切られたモジュール名のリストです。これは、排他的 IP ゾーンでのみ使用できます。

id

ネットワークインタフェースの識別に使用される正の整数。solaris-kz(7) のマニュアルページを参照してください。

vlan: vlan-iddynamic-vlan-id

vlan リソースは、anet リソースに VLAN ID を追加するために使用されます。anet のポート VLAN ID は、anet:vlan-id プロパティーによって指定されます。

vlan-id

外部ネットワークと solaris-kz ゾーンの間でフレームを送受信する必要のある VLAN ID を指定します。

dynamic-vlan-id

VLAN ID のリストまたは VLAN ID の範囲を指定します。これが設定されている場合、VLAN ID が dynamic-vlan-id リスト内に含まれているかぎり、solaris-kz(7) ブランドゾーンは、特定の VLAN で VNIC を作成できます。

特定の使用例では、KZ の内部で必要な可能性がある VLAN ID の値は前もってわかりません。これによって、動的 VLAN ID 構成が必要となります。この設定を使用すると、VLAN ID がリスト内のエントリの 1 つであるかぎり、ゲストは、必要とする VLAN ID をホストにプッシュして、その中で VNIC の作成を正常に行うことができます。

このプロパティーが指定されている場合、anet mac リソースのほかのプロパティーは指定できません。

dynamic-vlan-id を特殊なキーワード「any」に設定すると、ゲストは、有効な任意の VLAN ID を使用できます。

追加の一連の VLAN ID を指定すると、solaris-kz ブランドゾーンの内部で作成されたゾーンと VNIC を独自の VLAN に配置できるようになります。このリソースは、solaris-kz ブランドゾーンを VLAN 対応にします。ホストは、これらの VLAN 用のパケットを、変更せずに solaris-kz ゾーンに転送します (VLAN タグを削除しません)。そのあと、solaris-kz ゾーンは、そのパケットを適切なクライアントに転送します。

送信側では、これらの VLAN 上のパケットは solaris-kz によってタグ付けされ、ホストに渡されます。ホストは、宛先 MAC に基づいて、タグを削除せずにパケットを転送します。

mac: auto-mac-addressmac-addressmac-prefixid

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 値は、リソースを一意に識別するために使用される正の整数です。

ib-vhca: over-hcaidport

ib-vhca リソースは、カーネルゾーンの仮想 Infiniband HCA デバイスの自動作成を表します。このようなゾーンがブートすると、一時的な VHCA が作成されます。これは、そのゾーンが停止すると破棄されます。

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

over-hca

仮想 InfiniBand デバイスの構成のために使用する物理 InfiniBand デバイスを設定します。このデバイス名は、ibadm コマンドで一覧表示されます。詳細は、ibadm(8) のマニュアルページを参照してください。

smi-enabled

仮想 HCA でサブネット管理パケット (SMP) を使用できるかどうかを指定します。このプロパティーの値が「on」の場合、この仮想 HCA では SMP を使用できます。このプロパティーが「off」の場合、この仮想 HCA では SMP を使用できません。値が「readonly」の場合、この仮想 HCA ではクエリー SMP 操作のみ使用でき、「set」操作は使用できません。デフォルトは「off」です。値「on」は、ファブリックのセキュリティーへの影響を考慮した上でなければ推奨されません。「on」で実行する場合は、ファブリックコンポーネントに M_Key を設定するようにしてください。

id

ib-vhca リソースを一意に識別します。

port: pkeyid
pkey

InfiniBand パーティションキー値を指定します。pkey 値には、キーワードまたは 16 進数値のコンマ区切りリストのどちらかを指定できます。16 進数値を指定するために 0x 接頭辞を使用してはいけません。pkey に対して許可されるキーワードは次のとおりです。

auto

指定された over-hca 値に基づいて、自動的に生成された pkey 値を割り当てます。これがデフォルト値です。

id

Id は、ポートリソースを一意に識別するために使用されます。各 id は物理ポート番号に対応します。

ゾーンブート上の各ポートに割り当てられた GUID は、実行中のゾーンのライブ構成を検査することによって取得できます。

device: matchstoragecreate-sizeallow-partitionallow-raw-ioallow-mhdidbootpri

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

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

カーネルゾーンには storage プロパティーのみを使用できることに注意してください。match プロパティーはサポートされていません。詳細は、solaris-kz(7) のマニュアルページを参照してください。

ストレージ URI でデバイスの作成がサポートされている場合は、create-size を設定して作成対象のデバイスのサイズを記述できます。ストレージ URI が存在し、create-size が設定されている場合、create-size は無視されます。

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


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

id 値は、仮想ブロックデバイスを識別するために使用される正の整数です。詳細は、solaris-kz(7) のマニュアルページを参照してください。

bootpri プロパティーは、ブートディスクの相対的なブート優先順位を指定します。詳細は、solaris-kz(7) のマニュアルページを参照してください。

rctl: namevalue

リソース制御の名前、特権、制限、アクション。prctl(1) および rctladm(8) のマニュアルページを参照してください。rctl 値を設定するための望ましい方法は、特定の rctl に関連付けられたグローバルプロパティー名の使用です。

複数の rctl 値を指定でき、その形式は次のとおりです。

(priv=<value>,limit=<value>,action=<value>)
virtual-cpus: ncpus

solaris-kz ブランドゾーンに構成される仮想 CPU の数を指定します。solaris-kz(7) のマニュアルページを参照してください。

attr: nametypevalue

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

attr リソースの name プロパティーは、ゾーン名に似ているが、同じではない方法で構文的に制限されています。つまり、英数字で始まる必要があり、英数字に加えハイフン (-)、下線 (_)、およびドット (.) 文字を含むことができます。「zone」で始まる属性名はシステム用に予約されています。また、autoboot および global-time 大域プロパティーの値は、必ず「true」または「false」にしてください。

dataset: namealias

ゾーン内からアクセスする ZFS データセットの名前。zfs(8) のマニュアルページを参照してください。各データセットがゾーン内の仮想 ZFS プールとして表示されるように、データセットに別名が付けられます。


注 -  委任されたデータセットリソースとしてサポートされる唯一の ZFS データセットタイプは filesystem です。その他のデータセットタイプ (ボリュームやスナップショットなど) は追加できません。

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

global: cpu-shares

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

global: max-adi-metadata-memory

バッキングストアに書き込まれる可能性のあるページの ADI メタデータを格納するためのメモリーの合計容量。このプロパティーは、zone.max-adi-metadata-memory 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(8) および pooladm(8) マニュアルページを参照してください。

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

特定の CPU リソースの選択

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

resource-management(7) で説明されているように、これらのプロパティーを id リスト文字列に設定できます。

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

指定された CPU リソースのいずれかが存在しないか、障害が発生したか、またはオフラインである場合は、ゾーンのブート時に警告が表示されます。ゾーンは、オンラインである指定された CPU リソースをすべて受け取ります。

一部の CPU に障害が発生しているコアなど、CPU リソースが部分的にオンラインである場合、そのゾーンはコアから残りのオンライン CPU を受信し、警告が表示されます。

指定されたどの CPU リソースもオンラインでない場合、そのゾーンはブートに失敗します。

自動的に選択された CPU リソース

これは、ゾーンの各ブートまたはライブゾーン再構成に応じて異なることがあります。

ncpus を整数範囲またはスカラー値に設定します。範囲は - を使用して表されます。たとえば、1-4 は 1 から 4 つのプロセッサを表します。範囲が指定されている場合、ゾーン専用の CPU の数量は、そのゾーンの実行中に変更されることがあります。

オプションで、「重要性」を設定してプールを構成します。専用の CPU に関連付けられたリソースプールの重要性の値。「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: physicalswaplockedpagesize-policy

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

pagesize-policy プロパティーは、solaris-kz ブランドにポリシーを指定して、その物理メモリーに大きいページを使用するために使われます。詳細は、solaris-kz(7) のマニュアルページを参照してください。

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(7) を参照してください。

global: boot-priority

ゾーンの自動ブート時にゾーンの委任リスタータによって使用される優先度。優先順位は、highnormal、および low に設定できます。詳細は、svc.zones(8) のマニュアルページを参照してください。

smf-dependency: fmrigroupingname

ゾーンの SMF インスタンスの SMF 依存関係を定義します。ゾーンのすべての SMF 依存関係では、restart_on が none となっています。各 smf-dependency リソースには FMRI プロパティーを 1 つ指定する必要があります。grouping を省略すると、デフォルト値 require_all が使用されます。name はオプションであり、require_any 依存関係の場合など、複数の FMRI のグループ化が必要な場合にのみ使用するようにしてください。既存の名前を設定すると、grouping の値が自動的に指定されます。接頭辞「SMF-DEP-」の付いた名前はシステム用に予約されているため、設定できません。依存関係タイプ、グループ化、および restart_on の定義の詳細は、smf(7) のマニュアルページを参照してください。

admin: userauths

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

clonefrom

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

config

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

liveconfig

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

login

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

manage

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

migrate

ホスト間でゾーンの移行を許可します。移行はインストール済みおよび実行中のゾーンに対して許可されます。

migrate.cold

ホスト間でゾーンのコールド移行を許可します。移行はインストール済みゾーンに対してのみ許可されます。

rootzpool: storage

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

zpool: storagename

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

npiv: virtual-port-wwnover-hba

64 ビットポートの一意のワールドワイド名を、オプションであり自動的に生成される wwn で設定される virtual-port-wwn とともに、npiv に設定します。ユーザーは生成されるこの wwn をオーバーライドできます。

プロパティー over-hba もオプションで、空の文字列にすることができます。これは、物理 HBA ポートがラウンドロビンポリシーで選択されて、使用可能なポート全体に分散されることを意味します。このプロパティーを設定する場合、over-hba の値は、/dev/cfg/c* の下に示されているような、1 つの物理 NPIV 対応の FC HBA コントローラに対する「c」が先頭に付いた符号なし整数でなければなりません。詳細は、cfgadm_fp(8) のマニュアルページを参照してください。

verified-boot: policycert
policy

ゾーンのゲストでのブートローダーとカーネルモジュールの ELF 署名検証を制御します。この値は、「none」、「warning」、および「enforce」に設定できます。「None」は、検証をスキップします。「warning」は、検証の失敗に関するメッセージをログに記録します。「enforce」を指定すると、失敗時にモジュールをロードしません。デフォルトでは、ポリシーは「warning」に設定されます。

cert

サードパーティーソフトウェアや自己署名付きソフトウェアのためのユーザーがインストールした公開鍵証明書を追加します。これらの証明書ファイルは、デフォルトの Oracle 証明書に加えて ELF 署名検証に使用されます。証明書パスは、file:///http://、または https:// URL を使用して追加できます。

keysource: raw

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

suspend: pathstorage

カーネルゾーンの中断イメージの場所を構成します。1 つの suspend リソースのみが許可されます。suspend リソースが存在しない場合、中断および再開はカーネルゾーンによってサポートされません。suspend リソースでは path または storage のいずれかを指定でき、両方は指定できません。path が指定される場合、これは中断ファイルの書き込み先の完全パスで、親ディレクトリが存在する必要があります。storage が指定される場合、これは suri(7) のマニュアルページで説明されているストレージ URI によって参照されるデバイスである必要があります。現在、NFS タイプの URI はまだサポートされていません。

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

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

# kstat caps::'/cpucaps/'

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

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

caps

kstat モジュール。

project_caps または zone_caps

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

cpucaps_project_id または cpucaps_zone_id

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

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

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

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

-

host id

anet

allowed-address

anet

mac-address

anet:mac

mac-address

net

allowed-address

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

zonepath

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

dataset/alias

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

dataset/name

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

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

オプション

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

–f command_file

zonecfg コマンドファイルの名前を指定します。command_file は、export サブコマンドの出力から取得された zonecfg サブコマンド (1 行に 1 つ) のテキストファイルです。

–r

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

–z zonename

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

トークン

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

%{zonename}

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

%{id}

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

%{global-rootzpool}

大域ゾーンの rootzpool 名に評価されます。

%%

% に評価されます。

-----------------------------------------------------------------
|Resource  | Property | Supported Tokens                        |
|---------------------------------------------------------------|
|global    | zonepath | %{zonename}                             |
|---------------------------------------------------------------|
|dataset   | name     | %{zonename}                             |
|---------------------------------------------------------------|   
|device    | match    | %{zonename}, %{id}, %{global-rootzpool} |
|          | storage  | %{zonename}, %{id}, %{global-rootzpool} |
|---------------------------------------------------------------|
|fs        | raw      | %{zonename}                             |
|          | special  | %{zonename}                             |
|---------------------------------------------------------------|
|net       | physical | %{id}                                   |
|---------------------------------------------------------------|
|anet      | linkname | %{id}                                   |
|---------------------------------------------------------------|
|suspend   | storage  | %{zonename}, %{global-rootzpool}        |
|          | path     | %{zonename}                             |
|---------------------------------------------------------------|
|rootzpool | storage  | %{zonename}, %{global-rootzpool}        |
|---------------------------------------------------------------|
|zpool     | storage  | %{zonename}, %{global-rootzpool}        |
-----------------------------------------------------------------

サブコマンド

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

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

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

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

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

add resource-type
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] [–x <cert|ca-cert|key>=path] ...

指定されたゾーンのメモリー内構成を作成します。新しいゾーンの構成を開始するときは、create を使用します。このゾーンを安定した記憶領域に保存する方法については、commit を参照してください。

既存の構成を上書きする場合は、–F オプションを指定して、強制的に処理を実行します。これを使用すると、zonecfg –f input.cfg をこのオプションとともに使用して、ゾーン構成全体を再インポートできます。特定の状態にあるゾーンに対しては、追加の検証チェックが実行されます。たとえば、インストール済みゾーンはそのブランドを変更できません。

create はデフォルトテンプレート SYSdefault を使用します。デフォルトテンプレートは、svc:/system/zones:default サービスの default_template SMF プロパティーを使用することによって、システム全体ベースで変更できます。管理者は、–t (特定のテンプレートを使用) または –b (ブランクテンプレートを使用) を使用することによって、このゾーンのデフォルトを置き換えることができます。

新しいホストで切り離されたゾーンを構成できるようにするには、–a directory オプションを使用します。path パラメータは、この新しいホスト上に移動されている、切り離されたゾーンのゾーンパスの位置です。切り離されたゾーンが構成されたあとは、「zoneadm attach」コマンド (zoneadm(8) のマニュアルページを参照) を使用してインストールするようにしてください。新しいゾーンのすべての検証は、ゾーンの構成中ではなく attach 処理中に行われます。

archiveadm(8) によって作成された統合アーカイブからゾーンを構成できるようにするには、–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 [–r] [–f output-file]

標準出力に構成を出力します。ユーザーによって明示的に設定されたデフォルト値以外の値のみが含まれます。output-file に構成を出力する場合は、–f オプションを使用します。このオプションを使用すると、コマンドファイルに適した形式で出力が作成されます。-r オプションが指定されている場合は、そのゾーンがすでに存在するとき、出力を再インポートに使用できます。

help [subcommand]

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

info zonename | zonepath | autoboot | autoshutdown | brand | pool | limitpriv | global-time
info [–a] [–i | –I] [resource-type [identifier | [property-name=property-value]*]]

現在の構成に関する情報を表示します。resource-type が指定されている場合は、そのタイプのリソースについてのみ情報を表示します。識別子またはプロパティー名の値ペアが指定されている場合は、その条件を満たしているリソースの情報だけを表示します。リソース固有のスコープでは、info は現在追加または変更されているリソースの情報を表示します。

このサブコマンドは、デフォルト値以外の値を持つプロパティーのみ表示します。–a オプションを使用すると、値がデフォルトかデフォルト以外かに関係なく、すべてのプロパティーを出力します。「使用例」のセクションを参照してください。

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

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

–i

常に識別子を含めます

–I

識別子を含めません

–a

すべてのプロパティー (デフォルト値を持つか持たないかに関係なく) を表示します。

remove resource-type [identifier | {property-name=property-value}]

指定されたリソースを削除します。リソースの単一インスタンスのみを削除する必要がある場合、そのリソースが一意に識別されるように、identifier または十分な property name-value ペアのいずれかを指定する必要があります。identifier または property name-value ペアをまったく指定しないと、すべてのインスタンスが削除されます。resource-type の複数のインスタンスがある場合は、–F オプションを使用する場合を除き、確認が必要です。

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

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

set property-name =property-value

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

verify [–v]

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

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

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

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

reload [–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 myzone
my-zone3: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:myzone> create
zonecfg:myzone> info zonepath
zonepath.template: /system/zones/%{zonename}
zonepath: /system/zones/myzone
zonecfg:myzone> set autoboot=true
zonecfg:myzone> add fs
zonecfg:myzone:fs> set dir=/opt/local
zonecfg:myzone:fs> set special=/usr/local
zonecfg:myzone:fs> set type=lofs
zonecfg:myzone:fs> add options [ro,nodevices]
zonecfg:myzone:fs> end
zonecfg:myzone> add fs
zonecfg:myzone:fs> set dir=/mnt
zonecfg:myzone:fs> set special=/dev/dsk/c0t0d0s7
zonecfg:myzone:fs> set raw=/dev/rdsk/c0t0d0s7
zonecfg:myzone:fs> set type=ufs
zonecfg:myzone:fs> end
zonecfg:myzone> add fs
zonecfg:myzone:fs> set dir=/opt/sfw
zonecfg:myzone:fs> set special=/opt/sfw
zonecfg:myzone:fs> set type=lofs
zonecfg:myzone:fs> add options [ro,nodevices]
zonecfg:myzone:fs> end
zonecfg:myzone> select anet linkname=net0
zonecfg:myzone:anet> set lower-link=nxge0
zonecfg:myzone:anet> set allowed-address="192.168.0.1/24, \
  192.168.1.2/24,192.168.2.3/24"
zonecfg:myzone: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:myzone> exit
使用例 2 排他的 IP ゾーンを作成する

次の例では、net0 という名前の VNIC が割り当てられるゾーンを作成します。VNIC が作成されるリンクは自動的に決定されます。IP アドレスおよびルーティングは、新しいゾーンの中で ipadm(8) を使用して構成されます。

example# zonecfg -z excl-ip
zonecfg:excl-ip> create
zonecfg:excl-ip> exit
使用例 3 共有 IP ゾーンを作成する

次の例では、IP スタックを大域ゾーンと共有し、単一の IP アドレスとデフォルトルーターが割り当てられるゾーンを作成します。

example# zonecfg -z shared-ip
zonecfg:shared-ip> create -b
zonecfg:shared-ip> set ip-type=shared
zonecfg:shared-ip> add net
zonecfg:shared-ip:net> set physical=nge0
zonecfg:shared-ip:net> set address=192.168.0.3/24
zonecfg:shared-ip:net> set defrouter=192.168.0.1
zonecfg:shared-ip:net> end
zonecfg:shared-ip> exit
使用例 4 ゾーンをリソースプールに関連付ける

次の例は、既存のゾーンを既存のリソースプールに関連付ける方法を示しています。

example# zonecfg -z myzone
zonecfg:myzone> set pool=mypool
zonecfg:myzone> exit

リソースプールの詳細については、pooladm(8) および poolcfg(8) のマニュアルページを参照してください。

使用例 5 ゾーンの名前を変更する

zonename プロパティーの変更は、構成済み状態のゾーンでのみ許可されています。インストール済み状態のゾーンの場合は、zoneadm(8) rename サブコマンドを使用してください。次の例は、既存のゾーンの名前を変更する方法を示したものです。

example# zonecfg -z myzone
zonecfg:myzone> set zonename=myzone2
zonecfg:myzone2> exit
使用例 6 ゾーンの特権セットを変更する

次の例は、特権のセットを変更する方法を示しています。既存のゾーンのプロセスは、次回ゾーンがブートされるときに限られます。この特定の場合の特権セットは、ゾーンが通常持っている標準的な安全特権セットに加え、dtrace のプロファイルおよびシステムコールプロバイダを使用する特権になりますが、次のようないくつかの注意事項があります。

example# zonecfg -z myzone
zonecfg:myzone> set limitpriv="default,dtrace_user"
zonecfg:myzone2> exit
使用例 7 システム全体の時間を設定するために global-time プロパティーを変更する
example# zonecfg -z myzone
zonecfg:myzone> set global-time="true"
zonecfg:myzone2> exit
使用例 8 大域ゾーンの zone.cpu-shares プロパティーを設定する

次のコマンドでは、大域ゾーンの zone.cpu-shares プロパティーを設定します。

example# zonecfg -z global
zonecfg:global> set cpu-shares=5
zonecfg:global> exit
使用例 9 パターンマッチングを使用する

次のコマンドでは、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
使用例 10 ゾーンのキャップを 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
使用例 11 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
使用例 12 特定のゾーンまたはプロジェクトの CPU キャップを表示する

kstat –c および –i オプションを使用すると、次に示すように特定のゾーンまたはプロジェクトの CPU キャップを表示できます。最初のコマンドは特定のプロジェクトを対象とした表示を行い、2 番目のコマンドはゾーン 1 内部の同じプロジェクトを対象とした表示を行います。

# kstat -c project_caps

# kstat -c project_caps -i 1
使用例 13 ゾーン管理権を委任する

次の例は、現在のゾーンの管理権を役割に割り当てる方法を示しています。

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(5) データベース内で次のようにエントリが更新されます。

zadmin::::type=role; \
  auths=solaris.zone.login/myzone,solaris.zone.manage/myzone; \
  profiles=Zone Management
使用例 14 デフォルト以外のプロパティーを使用して排他的 IP ゾーンを作成する

次の例はゾーンを作成し、mylink0 上に指定の MAC アドレスを持ち、最大帯域幅が 100Mbps、高い優先度、RX 側に専用ハードウェアリング、TX 側に専用ハードウェアリングなし (つまりソフトウェアベース)、および VLAN ID が 2 の VNIC が自動的に作成されます。

example# zonecfg -z excl-ip
excl-ip: No such zone configured
Use 'create' to begin configuring a new zone
zonecfg:excl-ip> create -b
zonecfg:excl-ip> add anet
zonecfg:excl-ip:anet> set linkname=mynic0
zonecfg:excl-ip:anet> set lower-link=mylink0
zonecfg:excl-ip:anet> set mac-address=8:0:20:fe:4e:b8
zonecfg:excl-ip:anet> set maxbw=100M
zonecfg:excl-ip:anet> set priority=high
zonecfg:excl-ip:anet> set vlan-id=2
zonecfg:excl-ip:anet> set rxrings=hw
zonecfg:excl-ip:anet> set txrings=sw
zonecfg:excl-ip:anet> end
zonecfg:excl-ip> exit
使用例 15 読み取り専用ゾーンを作成する

次の例では、ルートファイルシステムがゾーンによる変更から保護される新しいゾーンを作成します。/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 autoboot=true
zonecfg:rozone> set file-mac-profile=fixed-configuration
zonecfg:rozone> add net
zonecfg:rozone:net> set physical=vnic0
zonecfg:rozone:net> end
zonecfg:rozone> exit
使用例 16 IB パーティションを使用して排他的 IP ゾーンを作成する

次の例では、デフォルトプロパティーを持つゾーンを作成します。ゾーンは、ゾーンのブート時に IPoIB データリンクを自動的に作成し、ゾーンの停止時にデータリンクを削除します。

example# zonecfg -z excl-ip
excl-ip: No such zone configured
Use 'create' to begin configuring a new zone
zonecfg:excl-ip> create
zonecfg:excl-ip> set ip-type=exclusive
zonecfg:excl-ip> add anet
zonecfg:excl-ip> set linkname=part0
zonecfg:excl-ip> set lower-link=net4
zonecfg:excl-ip> set pkey=ffff
zonecfg:excl-ip:anet> end
zonecfg:excl-ip> exit
使用例 17 専用のストレージリソースと rootzpool にインストールされたゾーンの作成

次の例では、ゾーンのインストール全体を含む 1 つのストレージリソースで構成された rootzpool リソースを使用して新しいゾーンを作成します。ゾーンのインストール中に、rootzpool が自動的に作成されるか、または事前に作成された ZFS プールがインポートされます。ゾーン名が zoss であるこの場合、プールの名前は zoss_rpool になります。

example# zonecfg -z zoss
zoss: No such zone configured
Use 'create' to begin configuring a new zone
zonecfg:zoss> create
zonecfg:zoss> add rootzpool
zonecfg:zoss:rootzpool> add storage \
  iscsi://127.0.0.1/luname.naa.600144f03d70c80000004ea57da10001
zonecfg:zoss:rootzpool> end
zonecfg:zoss> exit
使用例 18 委任された 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
使用例 19 npiv リソースを使用したゾーンの作成

次の例では、ゾーンに委任された 2 つの npiv リソースを使用して新しいゾーンを作成します。2 つの npiv ポートが、ゾーンのインストール時に自動的に作成されます。

example# zonecfg -z vzone
vzone: No such zone configured
Use 'create' to begin configuring a new zone
zonecfg:vzone> create
zonecfg:vzone> add npiv
zonecfg:vzone:npiv> set virtual-port-wwn=2100000000000001
zonecfg:vzone:npiv> set over-hba=c9
zonecfg:vzone:npiv> end
zonecfg:vzone> add npiv
zonecfg:vzone:npiv> end
zonecfg:vzone> exit
使用例 20 実行中のゾーンのライブ構成を検査する

次の例では、実行中のゾーンのライブ構成を検査します。

example# zonecfg -z myzone -r
zonecfg:myzone> info
使用例 21 ゾーンをリブートせずに新しい 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
使用例 22 統合アーカイブからのゾーン構成の作成

次の例では、/export/archives に格納されている統合アーカイブから新しいゾーン構成を作成します。アーカイブには、ゾーンパス /zones/webweb というゾーンが 1 つだけ含まれます。info サブコマンドからわかるように、ゾーンパスは、上記の「統合アーカイブからの構成」セクションで説明したとおりに調整されています。

example# zonecfg -z uar-zone
uar-zone: No such zone configured
Use 'create' to begin configuring a new zone
zonecfg:uar-zone> create -a /export/archives/web.uar
zonecfg:uar-zone> info zonepath
zonepath: /zones/web
zonecfg:uar-zone> set zonepath=/system/zones/uar-zone
zonecfg:uar-zone> exit

同様に、これは非対話型モードで行うこともできます。

example# zonecfg -z uar-zone \
  "create -a /export/archives/web.uar; set zonepath=/system/zones/uar-zone"

使用例 23 セキュアな Web サーバー上の統合アーカイブからのゾーン構成の作成

この例では、セキュアな Web サーバー上のアーカイブからゾーンを構成する非対話型コマンドを示します。–z オプションは、特定のアーカイブされたゾーンを構成ソースとして使用することを指定するために使用します。証明書、CA 証明書、および鍵が最初にこのマシンに転送されています。

example# zonecfg -z uar-zone 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=/system/zones/uar-zone"
使用例 24 大域ゾーンの p2v のゾーン構成の作成

この例では、アーカイブされた大域ゾーンをソースとして使用した統合アーカイブからのゾーン構成の作成を示します。アーカイブ内に見つかったゾーン構成は、zonep2vchk(8) によって生成されており、そのために推奨される追加のカスタマイズについての注意事項が含まれることがあります。

example# zonecfg -z uar-gz
uar-gz: No such zone configured
Use 'create' to begin configuring a new zone
zonecfg:uar-gz> create -a /export/p2v.uar -z global
zonecfg:uar-gz> 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:uar-gz> select anet linkname=blue0
zonecfg:uar-gz:anet> set allowed-address=10.147.23.12
zonecfg:uar-gz:anet> set configure-allowed-address=true
zonecfg:uar-gz:anet> end
zonecfg:uar-gz> add capped-memory
zonecfg:uar-gz:capped-memory> set swap=48G
zonecfg:uar-gz:capped-memory> end
zonecfg:uar-gz> exit
使用例 25 エラスティック仮想スイッチに接続する 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 tenant=tenantA
zonecfg:evszone> add anet
zonecfg:evszone:anet> set evs=EVSA
zonecfg:evszone:anet> 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 プロパティーが与えられます。

使用例 26 ベリファイドブート設定を変更する
# zonecfg -z vbzone1 
zonecfg:vbzone1> add verified-boot
zonecfg:vbzone1:verified-boot> set policy=enforce
zonecfg:vbzone1:verified-boot> add cert \
  file:///etc/certs/elfsign/mycert.pem
zonecfg:vbzone1:verified-boot> add cert \
  http://keyserv.hang10software.com/keydist/hang10se.pem
zonecfg:vbzone1:verified-boot> end
使用例 27 ゾーン移行のためにゾーン構成を別のシステムにコピーする

1 つの大域ゾーンから別の大域ゾーンにゾーンを手動で移行する場合、最初にゾーン構成を移行する必要があります。export サブコマンドにより、すべてのゾーン構成がエクスポートされ、新しい大域ゾーンで正しく保持され、zonecfg –f オプションを指定して使用できるようになります。この例に示すような手順を使用しない場合、カーネルゾーンが中断ファイルにアクセスしたり、新しい大域ゾーンに正しく接続したりすることができません。

global-1# zonecfg -z myzone export -f /net/scratch/export/myzone.cfg

global-2# zonecfg -z myzone -f /net/scratch/export/myzone.cfg
使用例 28 カーネルゾーンでの anet iov プロパティーの使用

この例では、iov-kz は 1 つの anet を含むカーネルゾーンです。

global# zonecfg -z iov-kz
zonecfg:iov-kz> select anet id=0
zonecfg:iov-kz:anet> set iov=auto
zonecfg:iov-kz:anet> end
zonecfg:iov-kz> exit

lower-link が auto でない場合、ユーザーはカーネルゾーンをブートする前に、lower-link の iov がオンになっていることを確認する必要があります。lower-link が auto である場合、ユーザーは、iov がオンであるリンクが大域ゾーンに少なくとも 1 つ存在することを確認する必要があります。

iov がオンでない場合は、次を実行することによってオンにできます。

# dladm set-linkprop -p iov=on net1

VF が使用可能な場合は、カーネルゾーンをブートしたあとに、VF がカーネルゾーン内の物理 NIC デバイスとして表示されます。

iov-kz# dladm show-phys
LINK      MEDIA        STATE      SPEED    DUPLEX    DEVICE
net0      Ethernet     up         10000    full      ixgbevf0
使用例 29 カーネルゾーン内のデバイスプロパティーに NFS SURI を使用する
# zonecfg -z nfs-kz 
zonecfg:nfs-kz> add device
zonecfg:nfs-kz> set \
  storage=nfs://user1:staff@testsys1/export/test/nfs-kz-dev1
zonecfg:nfs-kz> set create-size=8g
zonecfg:nfs-kz> end
zonecfg:nfs-kz> exit
使用例 30 複数の VLAN ID が指定された anet リソースを使用してゾーンを作成する
# zonecfg -z vlan-kz
zonecfg:vlan-kz> create -t SYSsolaris-kz
zonecfg:vlan-kz> select anet id=0
zonecfg:vlan-kz> set mac-address=0:1:2:3:4:5
zonecfg:vlan-kz:anet> set vlan-id=11
zonecfg:vlan-kz:anet> add vlan
zonecfg:vlan-kz:anet:vlan> set vlan-id=45
zonecfg:vlan-kz:anet:vlan> end
zonecfg:vlan-kz:anet> add vlan
zonecfg:vlan-kz:anet:vlan> set vlan-id=46
zonecfg:vlan-kz:anet:vlan> end
zonecfg:vlan-kz:anet> info vlan
	vlan 0:
		vlan-id: 45
	vlan 1:
		vlan-id: 46
zonecfg:vlan-kz:anet> end
zonecfg:vlan-kz> commit
zonecfg:vlan-kz> exit

これは、ホストの仮想スイッチが、次の <mac-address, vlan-id> タプルを使用してフレームを処理するように構成されていることを示しています。

-- <0:1:2:3:4:5, 11>
-- <0:1:2:3:4:5, 45>
-- <0:1:2:3:4:5, 46>

<0:1:2:3:4:5, 11> タプルが指定されて到着するフレームは VID が削除され、solaris-kz に渡されます。ゲストには、VID 11 でタグ付けされたパケットは表示されません。一方、<0:1:2:3:4:5, 45> と <0:1:2:3:4:5, 46> が指定されたフレームは、そのまま solaris-kz に渡されます。

vlan-kz 内に VID が 45 の VLAN データリンク vlan45 が存在する場合、ゲストの仮想スイッチはそのフレームから VID 45 を削除し、そのフレームを vlan45 に渡します。ゲスト内の vlan45 データリンクから発信されるすべてのフレームが、ゲストの仮想スイッチによってタグ付けされ、ホストの anet に渡されます。ホスト anet は、送信する NIC にフレームを直接渡します。

使用例 31 ゾーンの boot-priority および SMF 依存関係を設定する

ゾーンの高いブート優先度およびその SMF インスタンスの依存関係を設定するには、次が必要です

svc:/application/frobnicate:default

また、次のいずれかも必要です

svc:/system/zones/zone:appfirewall
svc:/3rdparty/my-firewall:default

そして、ゾーンを除外します

svc:/system/zones/zone:dataload
example# zonecfg -z foo 
zonecfg:foo> set boot-priority=high 
zonecfg:foo> add smf-dependency 
zonecfg:foo:smf-dependency> set
  fmri=svc:/application/frobnicate:default 
zonecfg:foo:smf-dependency> end 
zonecfg:foo> add smf-dependency 
zonecfg:foo:smf-dependency> set name=firewall 
zonecfg:foo:smf-dependency> set fmri=svc:/system/zones/zone:appfirewall 
zonecfg:foo:smf-dependency> set grouping=require_any 
zonecfg:foo:smf-dependency> end 
zonecfg:foo> add smf-dependency 
zonecfg:foo:smf-dependency> set name=firewall 
zonecfg:foo:smf-dependency> set fmri=svc:/3rdparty/my-firewall:default 
zonecfg:foo:smf-dependency> end 
zonecfg:foo> add smf-dependency 
zonecfg:foo:smf-dependency> set fmri=svc:/system/zones/zone:dataload 
zonecfg:foo:smf-dependency> set grouping=exclude_all 
zonecfg:foo:smf-dependency> end 
zonecfg:foo> exit
使用例 32 MAC アドレスと VLAN ID の動的構成のための solaris-kz ブランドゾーンの設定
# zonecfg -z dyn-vlan-kz
zonecfg:dyn-vlan-kz> create -t SYSsolaris-kz
zonecfg:dyn-vlan-kz> select anet id=0
zonecfg:dyn-vlan-kz> set mac-address=0:1:2:3:4:5
zonecfg:dyn-vlan-kz:anet> add mac
zonecfg:dyn-vlan-kz:anet:mac> add allowed-mac-address fa:16:3f
zonecfg:dyn-vlan-kz:anet:mac> add allowed-mac-address fa:80:20:21:22
zonecfg:dyn-vlan-kz:anet:mac> end
zonecfg:dyn-vlan-kz:anet> end
zonecfg:dyn-vlan-kz:anet> info mac
	mac 0:
		mac-address not specified
		auto-mac-address not specified
		mac-prefix not specified
		allowed-mac-address: fa:16:3f
		allowed-mac-address: fa:80:20:21:22
		id: 0
zonecfg:dyn-vlan-kz:anet> add vlan
zonecfg:dyn-vlan-kz:anet:vlan> add dynamic-vlan-id 100-199
zonecfg:dyn-vlan-kz:anet:vlan> add dynamic-vlan-id 400-498
zonecfg:dyn-vlan-kz:anet:vlan> end
zonecfg:dyn-vlan-kz:anet> info vlan
	vlan 0:
		vlan-id: not specified
		dynamic-vlan-id: 100-199
		dynamic-vlan-id: 400-498
		dynamic-vlan-id: 500
zonecfg:dyn-vlan-kz:anet> end
zonecfg:dyn-vlan-kz> commit
zonecfg:dyn-vlan-kz> exit

そのため、solaris-kz ブランドゾーンを実行すると、fa:80:20:21:22:00 - fa:80:20:21:22:ff または fa:16:3f:00:00:00 - fa:16:3f:ff:ff:ff の任意の MAC アドレスまたは 200 の VLAN ID (100 - 199、400 - 498、および 500) のいずれか、あるいはその両方を持つ VNIC を作成できます。

使用例 33 info -a を使用したゾーンのすべてのプロパティーの表示

次の例では、zonecfg は新しいゾーンの環境を作成します。zonepath/system/zones/%{zonename} に設定されます。これはデフォルト値に一致します。info サブコマンド (オプションなし) の使用時に、このプロパティーはそのデフォルト値に一致するほかのすべてのプロパティーとともに、出力から除外されます。

example# zonecfg -z zone1	
zonecfg:zone1> info 
zonename: zone1 
brand: solaris 
anet 0: 
linkname: net0 
configure-allowed-address: true

ここで –a オプションを使用して、それらがデフォルト値に一致するかどうかに関係なく、すべてのプロパティーを表示できます。

zonecfg:zone1> info -a 
zonename: zone1 
zonepath.template: /system/zones/%{zonename}
zonepath: /system/zones/zone1 
brand: solaris 
autoboot: false 
autoshutdown: shutdown 
bootargs: 
file-mac-profile: 
pool: 
limitpriv: 
scheduling-class: 
ip-type: exclusive 
hostid: 
tenant: 
fs-allowed: 
anet 0: 
linkname: net0 
lower-link: auto 
allowed-address: 
configure-allowed-address: true 
defrouter: 
allowed-dhcp-cids: 
link-protection: mac-nospoof 
mac-address: auto 
auto-mac-address: 
mac-prefix: 
mac-slot: 
vlan-id: 
priority: 
rxrings: 
txrings: 
mtu: 
maxbw: 
bwshare: 
rxfanout: 
vsi-typeid: 
vsi-vers: 
vsi-mgrid: 
etsbw-lcl: 
cos: 
pkey: 
linkmode: 
evs: 
vport: 
使用例 34 solaris-kz ブランドゾーンに高可用性のための anet を設定する
# dladm set-linkprop -p iov=on net0
# dladm set-linkprop -p iov=on net2
# dladm create-aggr -l net0 -l net2 -m dlmp halink0

# zonecfg -z ha-kz
zonecfg:ha-kz> create -t SYSsolaris-kz
zonecfg:ha-kz> add anet
zonecfg:ha-kz:anet> set lower-link=halink0
zonecfg:ha-kz:anet> set iov=off
zonecfg:ha-kz:anet> set maxbw=500
zonecfg:ha-kz:anet> set id=0
zonecfg:ha-kz:anet> end
zonecfg:ha-kz> add anet
zonecfg:ha-kz:anet> set lower-link=halink0
zonecfg:ha-kz:anet> set iov=auto
zonecfg:ha-kz:anet> set bwshare=60
zonecfg:ha-kz:anet> set id=1
zonecfg:ha-kz:anet> end
zonecfg:ha-kz> commit
zonecfg:ha-kz> exit

したがって、solaris-kz ブランドゾーンで実行されている 2 つの anet データリンクは、DLMP アグリゲーションによってネットワークの障害から確実に保護されます。

使用例 35 エクスポートのための構成の作成
# zonecfg
Use 'create' to begin configuring a new zone.
zonecfg> create -t SYSsolaris
zonecfg> set autoboot=true
zonecfg> export -r
create -Fb
set brand=solaris
set autoboot=true
add anet
set linkname=net0
set configure-allowed-address=true
end
使用例 36 ゾーン構成の再インポート
# zonecfg -z myzone info autoboot
autoboot: false
# zonecfg -z myzone <<EOF
> create -Fb
> set brand=solaris
> add anet
> set linkname=net0
> end
> set autoboot=true
> EOF
Zone myzone already exists; overwriting.
# zonecfg -z myzone info autoboot
autoboot: true

終了ステータス

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

0

正常終了。

1

エラーが発生しました。

2

無効な使用法。

属性

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

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

関連項目

lgrpinfo(1), ppriv(1), prctl(1), zlogin(1), priv_str_to_set(3C), kstat(3KSTAT), dev(4FS), hsfs(4FS), zfs(4FS), uscsi(4I), user_attr(5), vfstab(5), mwac(7), attributes(7), brands(7), fnmatch(7), privileges(7), rbac(7), resource-controls(7), resource-management(7), solaris(7), solaris-kz(7), suri(7), tpd(7), zones(7), archiveadm(8), dladm(8), evsadm(8), format(8), ipadm(8), kstat(8), mount(8), pooladm(8), poolcfg(8), poold(8), psrinfo(8), rcapd(8), rctladm(8), route(8), suriadm(8), svcadm(8), zfs(8), zoneadm(8), zonep2vchk(8), zpool(8)

リソース管理および Oracle Solaris ゾーンに関する開発ガイド

zonecfg で使用するすべての文字データは、US-ASCII エンコーディングにする必要があります。

一般に、すべてのデバイスに対してゾーン内で安全に使用できるどうかの監査が行われるわけではないため、ゾーンにデバイスを追加すると、そのゾーンがシステムのセキュリティーおよび安定性に悪影響を与えることがあります。

sd または ssd ターゲットドライバを使用するストレージデバイス (prtconf -D /dev/dsk/c2t40d3 などを使用すると検査できます) は、ゾーンに安全に委任できます。このため、ゾーン管理者は、このようなデバイスに対してラベル付けやパーティション分割を実行できます。

format(8) によってディスクのラベル付けを可能にするためには、ディスク/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(4I) のマニュアルページを参照) を実行できるようになるため、これは安全ではありません。

allow-mhd プロパティーを設定すると、アプリケーションでデバイスに対して mhd(4I) ioctl を使用できます。

ゾーンの内側では、使用中デバイスのチェックが機能しません。それが依存している /devices/ ツリーが存在しないからです。今後のプロジェクトでは、この制限が解消される可能性があります。

add fs」リソースによって指定された lofs ファイルシステムのマウントポイントは、ゾーンによってマウントされたファイルシステム内に指定できません。特に、そのようなマウントポイントは /var および /export 内に指定できません。