Oracle® Solaris ゾーンの紹介

印刷ビューの終了

更新: 2014 年 12 月
 
 

リソースタイプのプロパティー

リソースには、構成可能なプロパティーもあります。リソースタイプとそれに関連付けられるプロパティーは次のとおりです。

admin

ユーザー名と特定のゾーンに対するそのユーザーの承認を定義します。

zonecfg:my-zone> add admin
zonecfg:my-zone:admin> set user=zadmin
zonecfg:my-zone:admin> set auths=login,manage
zonecfg:my-zone:admin> end

auths プロパティーには、次の値を使用できます。

  • login (solaris.zone.login)

  • manage (solaris.zone.manage)

  • clone (solaris.zone.clonefrom)

これらの auths はゾーンの作成を可能にするわけではありません。この機能は、ゾーンのセキュリティープロファイル内に含まれています。

solaris および solaris10 のみ: rootzpool

storage

ゾーンのインストール専用の ZFS zpool を提供するためのストレージオブジェクトの URI を識別します。URI と storage に指定可能な値については、solaris および solaris10 のみ: rootzpool リソースを参照してください。ゾーンのインストール時に、zpool が自動的に作成されるか、事前に作成された zpool がインポートされます。my-zone_rpool という名前が割り当てられます。

zonecfg:my-zone> add rootzpool
zonecfg:my-zone:rootzpool> add storage dev:dsk/c4t1d0
zonecfg:my-zone:rootzpool> end

ミラー化構成を作成する場合は、storage プロパティーを追加できます。

add storage dev:dsk/c4t1d0
add storage dev:dsk/c4t3d0

1 つのゾーンに構成できる rootzpool リソースは 1 つだけです。

solaris および solaris10 のみ: zpool

storagename

zpool をゾーンに委任するためのストレージオブジェクトの URI を 1 つ以上定義します。URI と storage プロパティーに指定可能な値については、solaris および solaris10 のみ: rootzpool リソースを参照してください。name プロパティーに指定可能な値は、zpool(1M) のマニュアルページで定義されています。

この例では、zpool ストレージリソースがゾーンに委任されています。zpool は自動的に作成されるか、または以前に作成された zpool がインストール中にインポートされます。zpool の名前は my-zone_pool1 です。

zonecfg:my-zone> add zpool
zonecfg:my-zone:zpool> set name=pool1
zonecfg:my-zone:zpool> add storage dev:dsk/c4t2d0 
zonecfg:my-zone:zpool> add storage dev:dsk/c4t4d0 
zonecfg:my-zone:zpool> end

ゾーン構成には、1 つ以上の zpool リソースを含めることができます。

dedicated-cpu

ncpusimportancecorescpussockets

CPU の数を指定し、必要に応じてプールの相対的な重要性も指定します。次の例では、ゾーン my-zone で使用する CPU の範囲を指定します。importance も設定します。

zonecfg:my-zone> add dedicated-cpu
zonecfg:my-zone:dedicated-cpu> set ncpus=1-3
zonecfg:my-zone:dedicated-cpu> set importance=2
zonecfg:my-zone:dedicated-cpu> end

コア 012、および 3 を永続的にゾーン my-zone に割り当てます。次の dedicated-cpu の例では cores を使用しますが、cpus=cores=、および sockets= はすべて使用可能です。

zonecfg:my-zone> add dedicated-cpu
zonecfg:my-zone:dedicated-cpu> set cores=0-3
zonecfg:my-zone:dedicated-cpu> end
virtual-cpu

ncpus

CPU の数を指定します。次の例では、ゾーン my-zone に 3 つの CPU を指定します。

zonecfg:my-zone> add virtual-cpu
zonecfg:my-zone:dedicated-cpu> set ncpus=3
zonecfg:my-zone:dedicated-cpu> end
capped-cpu

ncpus

CPU の数を指定します。次の例では、ゾーン my-zone の CPU 数のキャップを 3.5 に指定します。

zonecfg:my-zone> add capped-cpu
zonecfg:my-zone:capped-cpu> set ncpus=3.5
zonecfg:my-zone:capped-cpu> end
capped-memory

physicalswaplocked

ゾーン my-zone のメモリー制限を指定します。各制限はオプションですが、少なくとも 1 つは設定する必要があります。

zonecfg:my-zone> add capped-memory
zonecfg:my-zone:capped-memory> set physical=50m
zonecfg:my-zone:capped-memory> set swap=100m
zonecfg:my-zone:capped-memory> set locked=30m
zonecfg:my-zone:capped-memory> end

capped-memory リソースを使用するには、resource-cap パッケージが大域ゾーン内にインストールされている必要があります。

fs

dirspecialrawtypeoptions

fs リソースのパラメータは、ファイルシステムをマウントする方法と場所を決定する値を指定します。fs のパラメータは次のように定義されています。

dir

ファイルシステムのマウントポイントを指定します

special

大域ゾーンからマウントするブロック型特殊デバイスの名前またはディレクトリを指定します

raw

ファイルシステム (ZFS には適用されない) をマウントする前に、fsck の実行対象の raw デバイスを指定します。

type

ファイルシステムのタイプを指定します

options

mount コマンドで使用されるオプションに似たマウントオプションを指定します

次の例の各行では、大域ゾーン内の pool1/fs1 という名前のデータセットを、構成されるゾーン内で /shared/fs1 としてマウントすることを指定しています。使用するファイルシステムのタイプは ZFS です。

zonecfg:my-zone> add fs
zonecfg:my-zone:fs> set dir=/shared/fs1
zonecfg:my-zone:fs> set special=pool1/fs1
zonecfg:my-zone:fs> set type=zfs
zonecfg:my-zone:fs> end

パラメータの詳細は、Oracle Solaris ゾーンの作成と使用 のo nosuid オプションOracle Solaris ゾーンの作成と使用 のセキュリティーの制限およびファイルシステムの動作、および fsck(1M)mount(1M) のマニュアルページを参照してください。また、セクション 1M のマニュアルページには、特定のファイルシステムに固有のマウントオプションに関するものがあります。このようなマニュアルページの名前は、mount_filesystem という形式です。


注 - このリソースを使用して追加された UFS ファイルシステムの割り当て制限情報を取得するために、quota コマンド (quota(1M) を参照) は使用できません。
dataset name、alias

name

次の例の各行では、データセット sales を非大域ゾーンでマウントして可視にし、大域ゾーンでは不可視にするように指定しています。

zonecfg:my-zone> add dataset
zonecfg:my-zone> set name=tank/sales
zonecfg:my-zone> end

委任されたデータセットは、次の例に示されているようにデフォルト以外の別名を持つことができます。データセットの別名には、スラッシュ (/) を含めることができないことに注意してください。

zonecfg:my-zone> add dataset
zonecfg:my-zone:dataset> set name=tank/sales
zonecfg:my-zone:dataset> set alias=data
zonecfg:my-zone:dataset> end

デフォルトの別名に戻すには、clear alias を使用します。

zonecfg:my-zone> clear alias
anet

linknamelower-linkallowed-addressauto-mac-addressconfigure-allowed-addressdefrouterlinkmode (IPoIB)、mac-address (IPoIB 以外)、mac-slot (IPoIB 以外)、mac-prefix (IPoIB 以外)、mtumaxbwpkey (IPoIB)、priorityvlan-id (IPoIB 以外)、rxfanoutrxringstxringslink-protectionallowed-dhcp-cids

solaris のみ:zonecfg では、IPoIB データリンクに次の anet プロパティーを設定しないでください。

  • mac-address

  • mac-prefix

  • mac-slot

  • vlan-id

zonecfg では、IPoIB 以外のデータリンクに次の anet プロパティーを設定しないでください。

  • linkmode

  • pkey

EVS anet リソースには、次のプロパティーのみを設定してください。

  • linkname

  • evs

  • vport

  • configure-allowed-address

anet リソースは、ゾーンのブート時に自動 VNIC インタフェースまたは IPoIB インタフェースを作成し、ゾーンの停止時にその VNIC または IPoIB インタフェースを削除します。solaris-kz ブランドでは IPoIB はサポートされません。リソースプロパティーは、zonecfg コマンドを使用して管理されます。使用できるプロパティーのすべてのテキストについては、zonecfg(1M) のマニュアルページを参照してください。

lower-link

作成されるリンクの基礎となるリンクを指定します。auto に設定すると、zoneadmd デーモンは、ゾーンがブートするたびに VNIC が作成されるリンクを自動的に選択します。anet リソースの lower-link として VNIC を作成できる任意のリンクを指定できます。

ブート中に VNIC を自動的に作成するためのデータリンクを選択すると、すべての IPoIB リンクがスキップされます。

linkname

自動作成される VNIC インタフェースまたは IPoIB インタフェースの名前を指定します。solaris-kz では IPoIB はサポートされません。

mac-address (IPoIB には非適用)

指定された値またはキーワードに基づいて VNIC の MAC アドレスを設定します。値がキーワードでない場合は、ユニキャスト MAC アドレスとして解釈されます。サポートされるキーワードについては、zonecfg(1M) のマニュアルページを参照してください。ランダムな MAC アドレスを選択すると、生成されたアドレスはゾーンの再ブートおよびゾーンの切り離しと接続の操作後にも保持されます。デフォルトのポリシー auto-mac-address を使用するときは、Oracle Solaris ゾーンはランダムな mac-address を取得できます。

pkey (IPoIB のみ)

IPoIB データリンクインタフェースを作成するために使用するパーティションキーを設定します。このプロパティーは必須です。指定した pkey は、0x 接頭辞があるかどうかに関係なく、常に 16 進数として扱われます。

linkmode (IPoIB のみ)

データリンクインタフェースの linkmode を設定します。デフォルト値は cm です。有効な値は次のとおりです。

cm (デフォルト)

接続モード。このモードでは、65520 バイトのデフォルトの MTU を使用し、65535 バイトの最大 MTU をサポートします。

ud

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

allowed-address

排他的 IP ゾーン用の IP アドレスを構成し、また排他的 IP ゾーンで使用できる、構成可能な IP アドレスセットの制限も行います。複数のアドレスを指定するには、IP アドレスのコンマ区切りリストを使用します。

defrouter

defrouter プロパティーを使用すると、非大域ゾーンと大域ゾーンが別個のネットワーク上に存在する場合にデフォルト経路を設定できます。

defrouter プロパティーが設定されたゾーンは、大域ゾーン用に構成されていないサブネット上に存在する必要があります。

zonecfg コマンドで SYSdefault テンプレートを使用してゾーンを作成したときに、ほかの IP リソースが設定されていない場合は、次のプロパティーを持つ anet リソースがゾーン構成に自動的に組み込まれます。linkname は、物理 Ethernet リンクに対して自動的に作成され、netN という形式の最初に使用できる名前 (net0) に設定されます。デフォルト値を変更するには、zonecfg コマンドを使用します。

デフォルトのポリシー auto を使用すると、適切な mac-address が割り当てられます。

Oracle Solaris ゾーン

ランダムな mac-address

Oracle Solaris カーネルゾーン

ランダムな mac-address

カーネルゾーンの下の Oracle Solaris ゾーン

ファクトリ mac-address

Oracle VM Server for SPARC ゲストドメイン

ファクトリ mac-address

Oracle VM Server for SPARC ゲストドメインで実行されている Oracle Solaris カーネルゾーン

ファクトリ mac-address

デフォルトのポリシーでは、物理 Ethernet リンク (たとえば、net0) に対して自動 VNIC が作成され、この VNIC に MAC アドレスが割り当てられます。オプションの lower-link プロパティーは、自動 VNIC が作成される、基礎となるリンク vnic1 に設定されます。zonecfg コマンドを使用して、リンク名、ベースとなる物理リンク、MAC アドレス、帯域幅制限などの VNIC プロパティー、およびその他の VNIC プロパティーを指定できます。ip-type=exclusive も指定する必要があります。

zonecfg:my-zone> set ip-type=exclusive
zonecfg:my-zone> add anet
zonecfg:my-zone:anet> set linkname=net0
zonecfg:my-zone:anet> set lower-link=auto
zonecfg:my-zone:anet> set mac-address=random
zonecfg:my-zone:anet> set link-protection=mac-nospoof
zonecfg:my-zone:anet> end

次の例は、物理リンク net5 上の IPoIB データリンクインタフェースを使用し、IB のパーティションキーを 0xffff にして構成された solaris ブランドゾーンを示しています。

zonecfg:my-zone> set ip-type=exclusive
zonecfg:my-zone:anet> add anet
zonecfg:my-zone:anet> set linkname=ib0
zonecfg:my-zone:anet> set lower-link=net5
zonecfg:my-zone:anet> set pkey=0xffff
zonecfg:my-zone:anet> end

プロパティーの詳細は、zonecfg(1M) のマニュアルページを参照してください。リンクプロパティーの詳細は、dladm(1M) のマニュアルページを参照してください。

net

addressallowed-addressphysicaldefrouter


注 - 共有 IP ゾーンの場合は、IP アドレスと物理デバイスの両方を指定する必要があります。必要に応じて、デフォルトのルーターを設定できます。

排他的 IP ゾーンの場合は、物理インタフェースだけを指定する必要があります。

  • allowed-address プロパティーは、排他的 IP ゾーンで使用できる、構成可能な IP アドレスのセットを制限します。

  • defrouter プロパティーを使用すると、非大域ゾーンと大域ゾーンが別個のネットワーク上に存在する場合にデフォルト経路を設定できます。

  • defrouter プロパティーが設定されたゾーンは、大域ゾーン用に構成されていないサブネット上に存在する必要があります。

  • デフォルトのルーターを持つゾーンからのトラフィックは、宛先のゾーンに戻る前にそのルーターに送信されます。

共有 IP ゾーンがそれぞれ異なるサブネット上にある場合は、大域ゾーンでデータリンクを構成しないでください。


共有 IP ゾーンの場合の次の例では、物理インタフェース nge0 が、IP アドレス 192.168.0.1 のゾーンに追加されています。システム上のネットワークインタフェースをリスト表示するには、次のように入力します。

global# ipadm show-if -po ifname,class,active,persistent
lo0:loopback:yes:46--
nge0:ip:yes:----

出力の各行には、ループバックの行を除いて、ネットワークインタフェースの名前があります。説明に loopback が含まれている行は、カードには当てはまりません。46 の persistent フラグは、そのインタフェースが大域ゾーン内で持続的に構成されていることを示します。yes という有効な値は、そのインタフェースが現在構成されていることを示しています。また class の ip の値は、nge0 がループバックインタフェースではないことを示しています。ゾーンのデフォルト経路は、10.0.0.1 に設定されています。defrouter プロパティーの設定はオプションです。ip-type=shared は必須です。

zonecfg:my-zone> set ip-type=shared
zonecfg:my-zone> add net
zonecfg:my-zone:net> set physical=vnic1
zonecfg:my-zone:net> set address=192.168.0.1
zonecfg:my-zone:net> set defrouter=10.0.0.1
zonecfg:my-zone:net> end

排他的 IP ゾーンの場合の次の例では、VNIC が、VLAN である物理インタフェースに使用されます。使用可能なデータリンクを調べるには、dladm show-link を使用してください。allowed-address プロパティーは、ゾーンが使用できる IP アドレスを抑制します。defrouter プロパティーは、デフォルト経路を設定するために使用します。ip-type=exclusive も指定する必要があります。

zonecfg:my-zone> set ip-type=exclusive
zonecfg:my-zone> add net
zonecfg:myzone:net> set allowed-address=10.1.1.32/24
zonecfg:my-zone:net> set physical=vnic1
zonecfg:myzone:net> set defrouter=10.1.1.1
zonecfg:my-zone:net> end

add net 手順では、物理デバイスタイプだけを指定します。physical プロパティーは VNIC でもかまいません。


注 - Oracle Solaris オペレーティングシステムは、すべての Ethernet タイプインタフェースをサポートします。また、それらのデータリンクは dladm コマンドを使用して管理できます。
device

matchallow-partitionallow-raw-io

マッチングするデバイス名は、マッチングするパターンまたは絶対パスにできます。allow-partition allow-raw-io の両方を true または false に設定できます。デフォルトは false です。allow-partition はパーティション分割を有効にします。allow-raw-iouscsi を有効にします。これらのリソースの詳細は、zonecfg(1M) を参照してください。

solaris-kz ゾーンについて device:match リソースプロパティーで指定できる制限には、次のものが含まれます。

  • LUN ごとに 1 つのリソースのみが許可されます。

  • スライスとパーティションはサポートされません。

  • raw ディスクデバイスのサポートのみが提供されます。

  • サポートされるデバイスパスは、lofiramdiskdsk、および zvols です。

次の例では、ディスクデバイスに対する uscsi 操作が solaris ゾーン構成に含まれています。

zonecfg:my-zone> add device
zonecfg:my-zone:device> set match=/dev/*dsk/cXtYdZ*
zonecfg:my-zone:device> set allow-raw-io=true
zonecfg:my-zone:device> end

Veritas Volume Manager デバイスは、add device を使用して非大域ゾーンに委任されます。

次の例では、ストレージデバイスが solaris-kz ゾーンに追加されています。

zonecfg:my-zone> add device
zonecfg:my-zone:device> set storage=iscsi:///luname.naa.600144f03d70c80000004ea57da10001
zonecfg:my-zone:device> set bootpri=0
zonecfg:my-zone:device> end
rctl

namevalue

使用可能なゾーン規模のリソース制御は、次のとおりです。

  • zone.cpu-cap

  • zone.cpu-shares (推奨: cpu-shares)

  • zone.max-locked-memory

  • zone.max-lofi

  • zone.max-lwps (推奨: max-lwps)

  • zone.max-msg-ids (推奨: max-msg-ids)

  • zone.max-processes (推奨: max-processes)

  • zone.max-sem-ids (推奨: max-sem-ids)

  • zone.max-shm-ids (推奨: max-shm-ids)

  • zone.max-shm-memory (推奨: max-shm-memory)

  • zone.max-swap

ゾーン規模のリソース制御を設定するために推奨される、より簡単な方法は、Oracle Solaris ゾーンの作成と使用 のゾーンの構成方法に示されているように、rctl リソースの代わりにプロパティー名を使用する方法です。add rctl を使用してゾーン内のゾーン規模のリソース制御エントリを構成する場合、その形式は project データベース内のリソース制御エントリの形式とは異なります。ゾーン構成では、rctl リソースタイプは、名前と値の対 3 つから成ります。これらの名前は、privlimit、および action です。これらの名前には、単純な値がそれぞれ設定されます。

zonecfg:my-zone> add rctl
zonecfg:my-zone:rctl> set name=zone.cpu-shares
zonecfg:my-zone:rctl> add value (priv=privileged,limit=10,action=none)
zonecfg:my-zone:rctl> end
zonecfg:my-zone> add rctl
zonecfg:my-zone:rctl> set name=zone.max-lwps
zonecfg:my-zone:rctl> add value (priv=privileged,limit=100,action=deny)
zonecfg:my-zone:rctl> end

リソース制御と属性の全般的な情報については、Oracle Solaris 11.2 でのリソースの管理 の第 6 章リソース制御についておよびOracle Solaris ゾーンの作成と使用 の非大域ゾーンで使用されるリソース制御を参照してください。

attr

nametypevalue

次の例では、ゾーンに関するコメントを追加します。

zonecfg:my-zone> add attr
zonecfg:my-zone:attr> set name=comment
zonecfg:my-zone:attr> set type=string
zonecfg:my-zone:attr> set value="Production zone"
zonecfg:my-zone:attr> end

export サブコマンドを使用すると、ゾーン構成を標準出力に出力できます。構成は、コマンドファイルに使用できる形式で保存されます。