Oracle Solaris のシステム管理 (Oracle Solaris コンテナ : 資源管理と Oracle Solaris ゾーン)

ブランドゾーン構成データ

ゾーン構成データは 2 種類のエンティティーから成ります。 資源とプロパティーです。各資源は、タイプのほかにも 1 つ以上のプロパティーを持つことがあります。プロパティーは名前と値から成ります。どのようなプロパティーセットを持つかは、資源タイプによって異なります。

資源タイプとプロパティータイプ

資源タイプとプロパティータイプは次のとおりです。

ゾーン名

ゾーン名は、構成ユーティリティーでゾーンを識別するために使用されます。ゾーン名には次のような規則が適用されます。

  • 各ゾーンの名前は一意でなければならない。

  • ゾーン名では大文字と小文字が区別される。

  • ゾーン名は英数字で始まる必要がある。

    名前には、英数字、下線 (_)、ハイフン (-)、およびピリオド (.) を使用できます。

  • 名前の長さは 64 文字以内でなければならない。

  • global という名前と SUNW で始まるすべての名前は、予約されているので使用できない。

zonepath

zonepath プロパティーは、ゾーンのルートのパスです。各ゾーンには、ルートディレクトリのパスが設定されます。これは、大域ゾーンのルートディレクトリに対する相対パスです。インストール時には、大域ゾーンのディレクトリの可視性が制限されている必要があります。大域ゾーンのディレクトリの所有者は root、モードは 700 であることが必要です。

非大域ゾーンのルートパスは 1 つ下のレベルになります。ゾーンのルートディレクトリの所有権とアクセス権は、大域ゾーンのルートディレクトリ (/) と同じになります。ゾーンのディレクトリの所有者は root で、モードは 755 であることが必要です。これらのディレクトリは正しいアクセス権を使って自動作成され、ゾーン管理者がこれらのディレクトリを検証する必要はありません。この階層構造により、大域ゾーンのユーザーでも権限を持っていない場合は、非大域ゾーンのファイルシステムと行き来できなくなります。

パス 

説明 

/home/export/lx-zone

zonecfg zonepath

/home/export/lx-zone/root

ゾーンのルート 

/home/export/lx-zone/root/dev

ゾーン用に作成されたデバイス 

この問題の詳細については、「ファイルシステムの行き来」を参照してください。


注 –

zoneadmmove サブコマンドで新しいフルパス zonepath を指定することにより、ゾーンを同じシステム上の別の場所に移動できます。手順については、「Solaris 10 11/06: 非大域ゾーンの移動」を参照してください。


autoboot

このプロパティーを true に設定すると、大域ゾーンの起動時にこのゾーンが自動的に起動されます。ゾーンサービス svc:/system/zones:default が無効になっている場合、このプロパティーの設定にかかわらず、ゾーンは自動的には起動しません。svcadm(1M) のマニュアルページに記載されているように、svcadm コマンドを使用してゾーンサービスを有効にできます。


global# svcadm enable zones
bootargs

このプロパティーは、ゾーンのブート引数を設定するために使用します。rebootzoneadm boot、または zoneadm reboot コマンドで無効にされた場合を除き、このブート引数が適用されます。「ブランドゾーンのブート引数」を参照してください。

pool

このプロパティーは、システム上の特定の資源プールをゾーンに関連付けるために使用します。1 つのプール内の資源を複数のゾーンが共有してもかまいません。dedicated-cpu 資源を指定する」も参照してください。

limitpriv

このプロパティーは、デフォルト以外の特権マスクを指定する場合に使用します。「非大域ゾーン内の特権」を参照してください。

特権を追加するには、特権名だけを指定するか、特権名の前に priv_ 付けて指定します。特権を除外するには、名前の前にダッシュ (-) または感嘆符 (!) を付けます。複数の特権は、コンマで区切り、引用符 () で囲みます。

priv_str_to_set(3C)で説明されているように、特殊な特権セット noneall、および basic は、それぞれの通常の定義に展開されます。ゾーン構成は大域ゾーンで行われるため、特殊な特権セット zone は使用できません。特定の特権を追加または削除してデフォルトの特権セットを変更するのが一般的な使用方法であるため、特殊なセットである default はデフォルトの特権セットにマップされます。limitpriv プロパティーの先頭に default がある場合、デフォルトセットに展開されます。

次のエントリは、システムクロックの設定機能の追加、および raw ICMP (Internet Control Message Protocol) パケット送信機能の削除を実行します


global# zonecfg -z userzone
zonecfg:userzone> set limitpriv="default,sys_time,!net_icmpaccess"

ゾーンの特権セットに不許可の特権が含まれる場合、必須の特権が欠落している場合、または未知の特権が含まれる場合、ゾーンの検証、準備、またはブートの試行は失敗し、エラーメッセージが表示されます。

scheduling-class

このプロパティーは、ゾーンのスケジューリングクラスを設定します。詳細とヒントについては、「ゾーンのスケジューリングクラス」を参照してください。

dedicated-cpu

この資源は、ゾーンの実行中にシステムのプロセッサの一部をそのゾーン専用に割り当てます。dedicated-cpu 資源は、ncpus の制限を設定し、必要に応じて importance も設定します。詳細は、dedicated-cpu 資源を指定する」を参照してください。

capped-memory

この資源は、ゾーンのメモリー上限を設定するためのプロパティーをグループ化します。capped-memory 資源は、physicalswap、および locked メモリーの制限を設定します。これらのプロパティーの少なくとも 1 つは指定する必要があります。

fs

各ゾーンでは、インストール済み状態から準備完了状態に移行するときにマウントする各種のファイルシステムを指定できます。ファイルシステム資源は、ファイルシステムのマウントポイントのパスを指定します。ゾーンでファイルシステムを使用する方法の詳細については、「ファイルシステムと非大域ゾーン」を参照してください。

net

ネットワークインタフェース資源は、仮想インタフェースの名前です。各ゾーンでは、インストール済み状態から準備完了状態に移行するときに設定するべきネットワークインタフェースを指定できます。

lx ブランドゾーンでは、共有 IP ネットワーク構成だけがサポートされています。

rctl

rctl 資源は、ゾーン規模の資源制御に使用されます。資源制御は、ゾーンがインストール済み状態から準備完了状態に移行するときに有効になります。


注 –

rctl 資源の代わりに zonefigset global_property_name サブコマンドを使用してゾーン規模の資源制御を構成する方法については、lx ブランドゾーンの構成方法」を参照してください。


attr

この汎用属性は、ユーザーコメントとして使用したり、ほかのサブシステムで使用したりできます。attrname プロパティーは、英数字で始まる必要があります。name プロパティーには、英数字、ハイフン (-)、およびピリオド (.) を使用できます。zone. で始まる属性名はシステム用に予約されています。

lx ブランドゾーンの資源タイプのプロパティー

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

dedicated-cpu

ncpusimportance

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
capped-cpu

ncpus

CPU の数を指定します。次の例では、ゾーン lx-zone で使用できる CPU 数の制限を 3.5 に指定します。


zonecfg:lx-zone> add capped-cpu
zonecfg:lx-zone:capped-cpu> set ncpus=3.5
zonecfg:lx-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
fs

dirspecialrawtypeoptions

次の例では、非大域ゾーンで CD または DVD メディアに読み取り専用のアクセスを行う権限を追加します。ro,nodevices オプション (読み取り専用、デバイスなし) を指定して、非大域ゾーンでファイルシステムをループバックマウントします。


zonecfg:lx-zone> add fs
zonecfg:lx-zone:fs> set dir=/cdrom
zonecfg:lx-zone:fs> set special=/cdrom
zonecfg:lx-zone:fs> set type=lofs
zonecfg:lx-zone:fs> add options [ro,nodevices]
zonecfg:lx-zone:fs> end

セクション 1M のマニュアルページには、特定のファイルシステムに固有のマウントオプションに関するものがあります。このようなマニュアルページの名前は、mount_filesystem という形式です。

net

addressphysicaldefrouter

次の例では、IP アドレス 192.168.0.1 をゾーンに追加します。物理インタフェースとして bge0 カードを使用し、デフォルトのルーターを設定します。


zonecfg:lx-zone> add net
zonecfg:lx-zone:net> set address=192.168.0.1
zonecfg:lx-zone:net> set physical=bge0
zonecfg:lx-zone:net> set defrouter=10.0.0.1
zonecfg:lx-zone:net> end

注 –

どの物理インタフェースを使用するかを決定するには、システムで ifconfig -a と入力します。出力の各行は、ループバックドライバの行を除き、システムにインストールされているカードの名前で始まります。説明に LOOPBACK が含まれている場合、その行はカードに関するものではありません。


rctl

namevalue

使用可能なゾーン規模の資源制御については、lx ブランドゾーンでのゾーン規模の資源制御」を参照してください。


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

zonecfg:lx-zone> add rctl
zonecfg:lx-zone:rctl> set name=zone.max-lwps
zonecfg:lx-zone:rctl> add value (priv=privileged,limit=100,action=deny)
zonecfg:lx-zone:rctl> end
attr

nametypevalue

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


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

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