JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
マニュアルページセクション 1M: システム管理コマンド     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

紹介

System Administration Commands - パート 1

System Administration Commands - パート 2

System Administration Commands - パート 3

umount_smbfs(1M)

unlink(1M)

unshare(1M)

unshareall(1M)

unshare_nfs(1M)

update_drv(1M)

useradd(1M)

userdel(1M)

usermod(1M)

utmp2wtmp(1M)

utmpd(1M)

uucheck(1M)

uucico(1M)

uucleanup(1M)

uucpd(1M)

uusched(1M)

Uutry(1M)

uutry(1M)

uuxqt(1M)

vbiosd(1M)

vdiskadm(1M)

vdpd(1M)

virt-convert(1M)

virtinfo(1M)

vmstat(1M)

vmtasks(1M)

vntsd(1M)

volcopy(1M)

volcopy_ufs(1M)

vrrpadm(1M)

vrrpd(1M)

vscanadm(1M)

vscand(1M)

vtdaemon(1M)

wall(1M)

wanboot_keygen(1M)

wanboot_keymgmt(1M)

wanboot_p12split(1M)

wanbootutil(1M)

wbemadmin(1M)

wbemconfig(1M)

wbemlogviewer(1M)

wcadmin(1M)

whodo(1M)

wpad(1M)

wracct(1M)

wtmpfix(1M)

wusbadm(1M)

ypbind(1M)

ypinit(1M)

ypmake(1M)

ypmap2src(1M)

yppasswdd(1M)

yppoll(1M)

yppush(1M)

ypserv(1M)

ypserv_resolv(1M)

ypset(1M)

ypstart(1M)

ypstop(1M)

ypupdated(1M)

ypxfr(1M)

ypxfr_1perday(1M)

ypxfr_1perhour(1M)

ypxfr_2perday(1M)

ypxfrd(1M)

zdb(1M)

zdump(1M)

zfs(1M)

zfs_allow(1M)

zfs_encrypt(1M)

zfs_share(1M)

zic(1M)

zoneadm(1M)

zoneadmd(1M)

zonecfg(1M)

zonep2vchk(1M)

zonestatd(1M)

zpool(1M)

zstreamdump(1M)

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

zonecfg

- ゾーン構成の設定

形式

zonecfg -z zonename
zonecfg -z zonename subcommand
zonecfg -z zonename -f command_file
zonecfg help

機能説明

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

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

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

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

zonecfg -z zonename subcommand

zonecfg 経由で変更されたパラメータは、稼働中のゾーンには影響しません。変更を適用するには、ゾーンをリブートする必要があります。

ゾーンの作成と変更のほか、zonecfg ユーティリティーは大域ゾーンのリソース管理設定を永続的に指定するためにも使用できます。

以降の文では、「rctl」を「resource control」(リソース制御) の略語として使用します。resource_controls(5) を参照してください。

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

リソース

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

attr

汎用属性。

capped-cpu

CPU 使用率の制限。

capped-memory

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

dataset

ZFS データセット。

dedicated-cpu

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

device

デバイス。

fs

ファイルシステム。

net

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

anet

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

admin

委任された管理者。

rctl

リソース制御。

rootzpool

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

zpool

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

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

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

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

プロパティー

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

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

(大域)

zonename

(大域)

zonepath

(大域)

autoboot

(大域)

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

fs

dirspecialrawtypeoptions

net

addressallowed-addressconfigure-allowed-addressphysicaldefrouter

anet

linknamelower-linkallowed-addressauto-mac-addressconfigure-allowed-addressdefroutermac-addressmac-slotmac-prefix mtumaxbwpriorityvlan-idvsi-typeidvsi-versvsi-mgridrxfanoutrxringstxrings link-protectionallowed-dhcp-cidspkeylinkmodeetsbw-lclcos

device

matchallow-partitionallow-raw-io

rctl

namevalue

attr

nametypevalue

dataset

namealias

dedicated-cpu

ncpusimportance

capped-memory

physicalswaplocked

capped-cpu

ncpus

admin

user、auths

rootzpool

ストレージ

zpool

ストレージ、名前

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

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

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

[<value>,...]

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

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

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

global: zonename

ゾーンの名前。

global: zonepath

ゾーンのファイルシステムのパス。

global: autoboot

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

# svcadm enable svc:/system/zones:default

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

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 によってゾーンにマウントされたファイルシステムには適用されません。


注意

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


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 内のファイルへの書き込みも追加で許可されます。

fs: dir、special、raw、type、options

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

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

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

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

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

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

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

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

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

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

ゾーンは排他的 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

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

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

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

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

linkname

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

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

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

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

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

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

  • auto: 最初にファクトリ MAC アドレスの使用を試みます。どれも使用できない場合は、ランダムな MAC アドレスを割り当てます。

ランダムな 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 をサポートします。

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

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

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


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


rctl: name、value

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

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: ncpus、importance

このゾーンが排他的に使用するために割り当てられるべき CPU の数。ゾーンは、ブート時にプールおよびプロセッサのセットを作成します。リソースプールの詳細については、pooladm(1M) および poolcfg(1M) を参照してください。ncpu プロパティーには、プロセッサ数を単一の値か範囲 (たとえば 1-4) で指定できます。importance プロパティーは省略可能であり、これが設定されると、poold(1M) によって使用される pset.importance の値を指定します。このリソースを使用する場合、ゾーンに割り当てるのに十分な数の空きプロセッサがゾーンのブート時に必要であり、足りないとゾーンはブートしません。このゾーンに割り当てられたプロセッサを、大域ゾーンやほかのゾーンが使用することはできません。このリソースには、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

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

rootzpool: ストレージ

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

zpool: ストレージ、名前

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

次の表は、リソース、プロパティー名、および型の一覧です。

resource          property-name   type
(global)          zonename        simple
(global)          zonepath        simple
(global)          autoboot        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
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
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
device            match           simple
                  allow-partition simple
                  allow-raw-io    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
                  importance      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

この表について、いくつか説明を補足します。「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 コマンドの出力例については、「使用例」を参照してください。

オプション

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

-f command_file

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

-z zonename

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

サブコマンド

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

現在の構成をメモリーから安定した記憶領域に確定します。zoneadm で構成を使用するには、その構成を確定する必要があります。メモリー内構成を確定するまでは、revert サブコマンドを使って変更を取り消すことができます。zonecfg セッションが終了するときには、commit 処理が自動的に実行されます。構成が正しく設定されていないと確定できないので、この処理では自動的に構成が確認されます。

create [-F] [ -a path |-b | -t template]

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

既存の構成を上書きする場合は、-F オプションを指定して、強制的に処理を実行します。template と同じ構成を作成する場合は、-t template オプションを指定します。template は設定済みゾーンの名前です。

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

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

空の構成を作成する場合は、-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 | brand | pool | limitpriv
info [resource-type [property-name=property-value ]*]

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

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

大域有効範囲では、指定されたリソースタイプを削除します。[] 構文は、0 個以上の項目を角括弧の中に指定できることを意味します。リソースの単一インスタンスを削除するだけの場合、そのリソースが一意に識別されるように、プロパティーの名前と値ペアを十分に指定する必要があります。プロパティーの名前と値の対をまったく指定しないと、すべてのインスタンスが削除されます。2 つ以上のペアを指定した場合は、-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 オプションを使用します。

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> set zonepath=/export/home/my-zone3
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 ゾーンの名前を変更する

次の例は、既存のゾーンの名前を変更する方法を示したものです。

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

終了ステータス

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

0

正常終了。

1

エラーが発生した。

2

無効な使用法。

属性

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

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

関連項目

ppriv(1)prctl(1)zlogin(1)dladm(1M)format(1M)ipadm(1M)kstat(1M)mount(1M)pooladm(1M)poolcfg(1M)poold(1M)rcapd(1M)rctladm(1M)route(1M)suriadm(1M)svcadm(1M)zfs(1M)zoneadm(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)suri(5)zones(5)dev(7FS)hsfs(7FS)zfs(7FS)uscsi(7I)

『Oracle Solaris Administration: Oracle Solaris Zones, Oracle Solaris 10 Zones, and Resource Management』

注意事項

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/ ツリーが存在しないからです。今後のプロジェクトでは、この制限が解消される可能性があります。