JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 の管理: Oracle Solaris ゾーン、Oracle Solaris 10 ゾーン、およびリソース管理     Oracle Solaris 11.1 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

パート I Oracle Solaris のリソース管理

1.  リソース管理の紹介

2.  プロジェクトとタスク (概要)

3.  プロジェクトとタスクの管理

4.  拡張アカウンティング (概要)

5.  拡張アカウンティングの管理 (タスク)

6.  リソース制御 (概要)

7.  リソース制御の管理 (タスク)

8.  公平配分スケジューラ (概要)

9.  公平配分スケジューラの管理 (タスク)

10.  リソース上限デーモンによる物理メモリーの制御 (概要)

11.  リソース上限デーモンの管理 (タスク)

12.  リソースプール (概要)

13.  リソースプールの作成と管理 (タスク)

14.  リソース管理の構成例

パート II Oracle Solaris ゾーン

15.  Oracle Solaris ゾーンの紹介

16.  非大域ゾーンの構成 (概要)

ゾーンのリソースについて

ゾーン管理での権利プロファイルと役割の使用

インストール前の構成処理

ゾーンのコンポーネント

ゾーンの名前とパス

ゾーンの自動ブート

読み取り専用ルートゾーンの file-mac-profile プロパティー

admin リソース

dedicated-cpu リソース

capped-cpu リソース

スケジューリングクラス

物理メモリーの制御と capped-memory リソース

rootzpool リソース

zpool リソースの自動追加

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

データリンクについて

共有 IP 非大域ゾーン

排他的 IP 非大域ゾーン

非大域ゾーンでの Reliable Datagram Sockets のサポート

共有 IP 非大域ゾーンと排他的 IP 非大域ゾーンのセキュリティーの相違

共有 IP 非大域ゾーンと排他的 IP 非大域ゾーンの同時使用

ゾーンでマウントされるファイルシステム

ファイルシステムのマウントと更新

ゾーン内のホスト ID

非大域ゾーンの /dev ファイルシステム

非大域ゾーンのリムーバブル lofi デバイス

非大域ゾーン内でのディスク形式のサポート

構成可能な特権

リソースプールの関連付け

ゾーン規模のリソース制御の設定

ゾーンのコメントの追加

zonecfg コマンドの使用

zonecfg のモード

zonecfg の対話型モード

zonecfg のコマンドファイルモード

ゾーン構成データ

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

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

ゾーンの構成例

Tecla コマンド行編集ライブラリ

17.  非大域ゾーンの計画と構成 (タスク)

18.  非大域ゾーンのインストール、停止処理、停止、アンインストール、クローニングについて (概要)

19.  非大域ゾーンのインストール、ブート、停止処理、停止、アンインストール、およびクローニング (タスク)

20.  非大域ゾーンへのログイン (概要)

21.  非大域ゾーンへのログイン (タスク)

22.  ゾーンの移行と zonep2vchk ツールについて

23.  Oracle Solaris システムの移行と非大域ゾーンの移行 (タスク)

24.  ゾーンがインストールされている Oracle Solaris 11.1 システムでの自動インストールおよびパッケージ

25.  Oracle Solaris ゾーンの管理 (概要)

26.  Oracle Solaris ゾーンの管理 (タスク)

27.  不変ゾーンの構成と管理

28.  Oracle Solaris ゾーンで発生するさまざまな問題のトラブルシューティング

パート III Oracle Solaris 10 ゾーン

29.  Oracle Solaris 10 ゾーンの紹介

30.  Oracle Solaris 10 システムの評価とアーカイブの作成

31.  (オプション) Oracle Solaris 10 ゾーンへの Oracle Solaris 10 native 非大域ゾーンの移行

32.  solaris10 ブランドゾーンの構成

33.  solaris10 ブランドゾーンのインストール

34.  ゾーンのブート、ログイン、ゾーンの移行

用語集

索引

ゾーンのコンポーネント

このセクションでは、構成できる必須および省略可能なゾーンコンポーネントについて説明します。ゾーン名とゾーンのパスだけが必要です。詳細は、「ゾーン構成データ」を参照してください。

ゾーンの名前とパス

ゾーンの名前とパスを選択する必要があります。ゾーンは、ZFS データセット上に存在する必要があります。ZFS データセットは、ゾーンのインストール時または接続時に自動的に作成されます。ZFS データセットを作成できない場合、ゾーンのインストールや接続は行われません。ゾーンのパスの親ディレクトリは、データセットでもなければならないことに注意してください。

ゾーンの自動ブート

autoboot プロパティーの設定は、大域ゾーンのブート時にゾーンが自動的にブートされるかどうかを決定します。ゾーンサービス svc:/system/zones:default も有効になっている必要があります。

読み取り専用ルートゾーンの file-mac-profile プロパティー

solaris ゾーンでは、file-mac-profile は読み取り専用ルートでゾーンを構成するために使用します。

詳細は、第 27 章不変ゾーンの構成と管理を参照してください。

admin リソース

admin 設定を使用すると、ゾーン管理の承認を設定できます。承認を定義するための推奨の方法は、zonecfg コマンドによる方法です。

user

ユーザー名を指定します。

auths

ユーザー名に対して承認を指定します。

solaris.zone.login

RBAC を使用中の場合、対話型ログインには、solaris.zone.login/zonename の承認が必要です。ゾーン内では、パスワード認証が実行されます。

solaris.zone.manage

RBAC を使用中の場合、非対話型ログイン、またはパスワード認証の省略のために solaris.zone.manage/ zonename の承認が必要です。

solaris.zone.clonefrom

RBAC を使用中の場合、別のゾーンのコピーを作成するサブコマンドは solaris.zone.clonefrom/ source_zone の承認を必要とします。

dedicated-cpu リソース

dedicated-cpu リソースは、非大域ゾーンの実行中にシステムのプロセッサの一部をそのゾーン専用に割り当てることを指定します。ゾーンのブート時に、ゾーンの実行中に使用される一時プールが動的に作成されます。

zonecfg で指定すると、移行時にプールの設定が伝達されます。

dedicated-cpu リソースは、ncpus の制限を設定し、必要に応じて importance も設定します。

ncpus

CPU の数を指定するか、CPU の数の範囲を 2–4 などと指定します。リソースプールの動的な動作を得るために範囲を指定する場合は、次の手順も実行してください。

importance

動的な動作を得るために CPU 範囲を使用する場合は、importance プロパティーも設定してください。importance は「省略可能な」プロパティーであり、プールの相対的な重要性を定義します。このプロパティーが必要となるのは、ncpus に範囲を指定した場合で、poold によって管理される動的リソースプールを使用しているときだけです。poold が実行されていない場合、importance は無視されます。poold が実行されている場合、importance が設定されていないと、importance はデフォルト値の 1 になります。詳細は、 pool.importance プロパティーの制約」を参照してください。


注 - capped-cpu リソースと dedicated-cpu リソースには互換性がありません。cpu-shares リソース制御と dedicated-cpu リソースには互換性がありません。


capped-cpu リソース

capped-cpu リソースは、1 つのプロジェクトまたは 1 つのゾーンで消費可能な CPU リソース量に対して絶対的できめの細かい制限を設けます。プロセッサセットと組み合わせて使用すると、CPU キャップはセット内の CPU 使用率を制限します。capped-cpu リソースには、小数点第 2 位までの正の小数である 1 つの ncpus プロパティーがあります。このプロパティーは、CPU のユニット数に対応しています。このリソースには範囲を指定できません。このリソースには小数を指定できます。ncpus を指定する場合、1 の値は 1 つの CPU の 100% を意味します。1.25 の値は 125% を意味します。100% がシステム上の 1 つの CPU の上限となります。


注 - capped-cpu リソースと dedicated-cpu リソースには互換性がありません。


スケジューリングクラス

公平配分スケジューラ (FSS) を使用すると、使用可能な CPU リソースのゾーン間での割り当てを、ゾーンの重要性に基づいて制御できます。この重要性は、各ゾーンに割り当てる CPU リソースの「配分」で表します。CPU リソースのゾーン間での割り当てを管理するために FSS を使用していない場合でも、ゾーン内のプロジェクトに配分を設定するために FSS を使用するよう、ゾーンのスケジューリングクラスを設定することができます。

cpu-shares プロパティーを明示的に設定すると、公平配分スケジューラ (FSS) はそのゾーンのスケジューリングクラスとして使用されます。ただし、この場合に望ましい FSS の使用方法は、dispadmin コマンドを使用して、FSS をシステムのデフォルトのスケジューリングクラスに設定する方法です。このようにすると、すべてのゾーンがシステムの CPU リソースの公平配分を受けることができます。ゾーンに対して cpu-shares が設定されていない場合、そのゾーンはシステムのデフォルトのスケジューリングクラスを使用します。ゾーンのスケジューリングクラスは、次の処理によって設定されます。

priocntl (priocntl(1) のマニュアルページに記載) を使用すると、デフォルトのスケジューリングクラスの変更やリブートを行うことなく、実行中のプロセスを別のスケジューリングクラスに移動できます。

物理メモリーの制御と capped-memory リソース

capped-memory リソースは、physicalswap、および locked メモリーの制限を設定します。各制限はオプションですが、少なくとも 1 つは設定する必要があります。capped-memory リソースを使用するには、resource-cap パッケージが大域ゾーン内にインストールされている必要があります。


注 - 通常はアプリケーションが多量のメモリーをロックすることはありませんが、ゾーンのアプリケーションによってメモリーがロックされることがわかっている場合は、ロックされるメモリーを設定するとよいでしょう。ゾーンの信頼が問題になる場合は、ロックされるメモリーの上限を、システムの物理メモリーの 10 パーセントまたはゾーンの物理メモリー上限の 10 パーセントに設定することもできます。


詳細は、第 10 章リソース上限デーモンによる物理メモリーの制御 (概要)第 11 章リソース上限デーモンの管理 (タスク)、および 「ゾーンの構成方法」を参照してください。ゾーンに一時的なリソース上限を設定する方法については、「ゾーンに一時的なリソース上限を指定する方法」を参照してください。

rootzpool リソース

zonecfg ユーティリティーに含まれるオプションの rootzpool リソースは、ゾーンのインストール専用の ZFS zpool を作成するために使用します。ゾーンのルート ZFS zpool は、1 つ以上の URI (Universal Resource Identifier) によって定義された共有ストレージデバイスでホストできます。必須の storage プロパティーは、ゾーンのルート zfs ファイルシステムを格納するストレージオブジェクトの URI を識別します。特定のゾーンに対して定義できる rootzpool は 1 つだけです。このストレージは、ゾーンがブートされたときに、そのゾーンのために自動的に構成されます。

対応する zpool は、ゾーンのインストールまたはゾーンの接続操作中に自動的に作成またはインポートされます。ゾーンのアンインストールまたは切り離しを行うと、次のアクションが実行されます。

事前作成済みの zpool をゾーンのインストールに再利用するには、zpool をシステムからエクスポートする必要があります。

ゾーンのフレームワークでは、次の URI タイプがサポートされています。

ストレージの URI に基づいて共有オブジェクトを管理するには、suriadm ツールを使用します。ID、NAA (Name Address Authority)、および既存のストレージオブジェクトの URI の取得については、suriadm(1M) および suri(5) のマニュアルページを参照してください。

システムは、関連するゾーンに対して新規作成またはインポートされた rootzpool に名前を割り当てます。割り当てられる名前は、zonename_rpool という形式になります。

storage プロパティーは、rootzpool リソーススコープ内から次のコマンドを使用して管理されます。

zpool リソースの自動追加

zpool を非大域ゾーンに委任するには、zonecfg ユーティリティーでオプションの zpool リソースを構成します。zpool は、ゾーンがブートされたときに、そのゾーンのために自動的に構成されます。

対応する zpool は、ゾーンのインストールまたはゾーンの接続操作中に自動的に作成またはインポートされます。

ゾーンのアンインストールまたは切り離しを行うと、次のアクションが実行されます。

必須の storage プロパティーは、このリソースに関連付けられたストレージオブジェクトの URI を識別します。

storage プロパティーは、zpool リソーススコープ内の次の設定を使用して管理されます。

zpool リソースには name プロパティーが必須です。このプロパティーは、ゾーンに委任される zpool の名前で使用されます。ZFS ファイルシステムの name コンポーネントにスラッシュ (/) を含めることはできません。

新規作成またはインポートされた zpool に割り当てられる名前は、zonename_name という形式になります。これは、非大域ゾーン内で表示可能な zpool 名です。


注 - ストレージオブジェクトに既存のパーティション、zpool、または UFS ファイルシステムが含まれている場合は、ゾーンのインストールが失敗することがあります。詳細は、「構成済みのゾーンをインストールする方法」の手順 4 を参照してください。


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

ネットワーク接続を提供するために zonecfg ユーティリティーによって構成されるゾーンネットワークインタフェースは、ゾーンのブート時に自動的に設定されてゾーン内に配置されます。

インターネットプロトコル (IP) 層は、ネットワークのパケットの受信と配信を行います。この層には、IP ルーティング、アドレス解決プロトコル (ARP)、IP セキュリティーアーキテクチャー (IPsec)、および IP フィルタが含まれます。

非大域ゾーンに使用できる IP タイプには、共有 IP と排他的 IP の 2 種類があります。排他的 IP がデフォルトの IP タイプです。共有 IP ゾーンは、大域ゾーンとネットワークインタフェースを共有します。大域ゾーン内の構成は、共有 IP ゾーンを使用するために ipadm ユーティリティーによって実行する必要があります。排他的 IP ゾーンには専用のネットワークインタフェースが必要です。anet リソースを使用して排他的 IP ゾーンを構成すると、専用の VNIC が自動的に作成され、そのゾーンに割り当てられます。自動化された anet リソースを使用することによって、大域ゾーン内にデータリンクを作成および構成し、非大域ゾーンにデータリンクを割り当てる必要がなくなります。次のことを行うには、anet リソースを使用します。

下位互換性を維持するために、事前構成済みのデータリンクを非大域ゾーンに割り当てることができます。

各タイプの IP 機能については、「共有 IP 非大域ゾーンにおけるネットワーク」および 「排他的 IP 非大域ゾーンにおけるネットワーク」を参照してください。


注 - リンク保護 (『Oracle Solaris Administration: Network Interfaces and Network Virtualization』の第 20 章「Using Link Protection in Virtualized Environments」に記載) が、ゾーンを実行するシステム上で使用できます。この機能は、大域ゾーン内で構成されます。


データリンクについて

データリンクとは、OSI プロトコルスタックのレイヤー 2 インタフェースのことです。このインタフェースは、システム内で STREAMS DLPI (v2) インタフェースとして表されます。このようなインタフェースは、TCP/IP などのプロトコルスタックの下で接続できます。データリンクは、「物理インタフェース」 (たとえば、ネットワークインタフェースカード (NIC)) とも呼ばれます。データリンクは、zonecfg(1M) を使用して構成される physical プロパティーです。physical プロパティーは、VNIC (『Oracle Solaris Administration: Network Interfaces and Network Virtualization』のパート III「Network Virtualization and Resource Management」に記載) にすることも可能です。

データリンクの例としては、物理インタフェース (e1000g0bge1 など)、NIC (bge3 など)、アグリゲーション (aggr1aggr2 など)、VLAN タグ付きインタフェース (e1000g123000bge234003 (それぞれ e1000g0 上の VLAN 123、および bge3 上の VLAN 234) など) があります。

IP over Infiniband (IPoIB) の使用については、「リソースタイプのプロパティー」anet の説明を参照してください。

共有 IP 非大域ゾーン

共有 IP ゾーンは、大域ゾーンからの既存の IP インタフェースを使用します。ゾーンには、1 つ以上の専用の IP アドレスが存在する必要があります。共有 IP ゾーンは、IP 層の構成と状態を大域ゾーンと共有します。次の両方の条件が満たされる場合、ゾーンは共有 IP インスタンスを使用すべきです。

共有 IP ゾーンには、zonecfg コマンドの net リソースを使用して、1 つ以上の IP アドレスを割り当てます。大域ゾーンでデータリンク名も構成する必要があります。

zonecfg net リソースで、addressphysical のプロパティーを設定する必要があります。defrouter プロパティーはオプションです。

大域ゾーン内で共有 IP タイプのネットワーク接続構成を使用するには、自動ネットワーク構成ではなく ipadm を使用する必要があります。ネットワーク接続構成を ipadm によって行うかどうかを決定するには、次のコマンドを実行します。表示される応答は、DefaultFixed でなければなりません。

# svcprop -p netcfg/active_ncp svc:/network/physical:default
DefaultFixed

共有 IP ゾーンに割り当てられる IP アドレスは、論理ネットワークインタフェースに関連付けられます。

大域ゾーンから ipadm コマンドを使用すると、稼働中のゾーンの論理インタフェースの割り当てまたは削除を行うことができます。

インタフェースを追加するには、次のコマンドを使用します。

global# ipadm set-addrprop -p zone=my-zone net0/addr1

インタフェースを削除するには、次のコマンドのいずれかを使用します。

global# ipadm set-addrprop -p zone=global net0/addr

または

global# ipadm reset-addrprop -p zone net0/addr1 

詳細は、「共有 IP ネットワークインタフェース」を参照してください。

排他的 IP 非大域ゾーン

排他的 IP は、非大域ゾーンのデフォルトのネットワーク接続構成です。

排他的 IP ゾーンには、独自の IP に関連付けられた状態と 1 つ以上の専用のデータリンクが保持されます。

排他的 IP ゾーン内では、次の各機能を使用できます。

排他的 IP ゾーンを構成する方法には、次の 2 つがあります。

排他的 IP ゾーンは、デフォルトでは関連付けられたインタフェース上のすべての IP アドレスを構成および使用できます。必要に応じて、allowed-address プロパティーを使用して IP アドレスのコンマ区切りリストを指定することもできます。排他的 IP ゾーンは、allowed-address リスト内にない IP アドレスを使用することはできません。また、ゾーンのブート時に、allowed-address リスト内のすべてのアドレスが排他的 IP ゾーンに対して自動で持続的に構成されます。このインタフェース構成が不要な場合、 configure-allowed-address プロパティーを false に設定する必要があります。デフォルト値は true です。

データリンクを割り当てると snoop コマンドが使用可能になります。

dladm コマンドを show-linkprop サブコマンドとともに使用して、実行中の排他的 IP ゾーンに対するデータリンクの割り当てを表示できます。dladm コマンドを set-linkprop サブコマンドとともに使用すると、実行中のゾーンに対して追加のデータリンクを割り当てることができます。使用例については、「排他的 IP 非大域ゾーンでのデータリンクの管理」を参照してください。

独自のデータリンクセットが割り当てられた、実行中の排他的 IP ゾーン内では、ipadm コマンドを使用して IP を構成できます。このコマンドには、論理インタフェースの追加または削除を行う機能が備わっています。ゾーンの IP 構成は、大域ゾーン内の場合と同様に sysconfig インタフェース (sysconfig(1M) のマニュアルページに記載) を使用して設定できます。

排他的 IP ゾーンの IP 構成は、大域ゾーンから zlogin コマンドを使用することによってのみ表示できます。

global# zlogin zone1 ipadm show-addr
ADDROBJ           TYPE     STATE        ADDR
lo0/v4            static   ok           127.0.0.1/8
nge0/_b           dhcp     ok           10.134.62.47/24
lo0/v6            static   ok           ::1/128
nge0/_a           addrconf ok           fe80::2e0:81ff:fe5d:c630/10

非大域ゾーンでの Reliable Datagram Sockets のサポート

RDS (Reliable Datagram Sockets) IPC プロトコルは、排他的 IP 非大域ゾーンと共有 IP 非大域ゾーンの両方でサポートされています。RDSv3 ドライバは、SMF サービス rds として有効になっています。デフォルトでは、このサービスはインストール後に無効になります。このサービスは、適切な承認を付与されたゾーン管理者が特定の非大域ゾーン内で有効にすることができます。zlogin のあとで、rds をそれが実行される各ゾーン内で有効にすることができます。

例 16-1 非大域ゾーン内で rds サービスを有効にする方法

  1. 排他的 IP ゾーンまたは共有 IP ゾーン内で RDSv3 サービスを有効にするには、zlogin して svcadm enable コマンドを実行します。

    # svcadm enable rds
  2. rds が有効になっていることを確認します。

    # svcs rds
        STATE          STIME    FMRI
        online         22:50:53 svc:/system/rds:default

詳細は、svcadm(1M) のマニュアルページを参照してください。

共有 IP 非大域ゾーンと排他的 IP 非大域ゾーンのセキュリティーの相違

共有 IP ゾーン内のアプリケーションは、スーパーユーザーも含め、zonecfg ユーティリティーを介してゾーンに割り当てられた IP アドレス以外をソース IP アドレスとしてパケットを送信することはできません。このタイプのゾーンには、任意のデータリンク (レイヤー 2) パケットを送受信するアクセス権はありません。

一方、排他的 IP ゾーンの場合は、zonecfg によって指定されたデータリンク全体がゾーンに対して許可されます。結果として、排他的 IP ゾーン内では、スーパーユーザーまたは必要な権利プロファイルを持つユーザーは、大域ゾーン内と同様に、それらのデータリンク上でなりすましのパケットを送信できます。IP アドレスのなりすましは、allowed-address プロパティーを設定することによって使用不可にできます。anet リソースの場合、link-protection プロパティーを設定することによって、mac-nospoofdhcp-nospoof などの追加の保護を有効にできます。

共有 IP 非大域ゾーンと排他的 IP 非大域ゾーンの同時使用

共有 IP ゾーンは常に IP 層を大域ゾーンと共有し、排他的 IP ゾーンは常に独自の IP 層インスタンスを持っています。共有 IP ゾーンと排他的 IP ゾーンの両方を同じマシンで使用することができます。

ゾーンでマウントされるファイルシステム

各ゾーンには、デフォルトでそのゾーンに委任された ZFS データセットが保持されています。このデフォルトの委任されたデータセットは、デフォルトの大域ゾーンのデータセットレイアウトのデータセットレイアウトを模倣します。 .../rpool/ROOT というデータセットは、ブート環境を含んでいます。このデータセットは、直接操作しないでください。存在する必要がある rpool データセットは、デフォルトで ... /rpool にマウントされます。.../rpool/export、および .../rpool/export/home データセットは /export/export/home にマウントされます。これらの非大域ゾーンのデータセットは、対応する大域ゾーンのデータセットと使用方法が同じで、同様に管理できます。ゾーン管理者は、.../rpool, .../rpool/export および ... /rpool/export/home のデータセット内に追加のデータセットを作成できます。

zfs(1M) のマニュアルページで説明されている zfs コマンドを使用して、ゾーンの rpool/ROOT ファイルシステムから始まる階層内でファイルシステムの作成、削除、または名前変更を行うべきではありませんzfs コマンドは、canmountmountpointsharesmbzonedcom.oracle. *:*com.sun:*、および org.opensolaris. *.*. 以外のプロパティーを設定する場合に使用できます。

通常、ゾーンでマウントされるファイルシステムには、次のものが含まれます。

これらのセットには、たとえば次のようなファイルシステムが含まれます。

一部のファイルシステムについては、ゾーン内部からマウントする場合にセキュリティー制限があります。ほかのファイルシステムは、ゾーン内でマウントされたときに特有の動作を行います。詳細は、「ファイルシステムと非大域ゾーン」を参照してください。

データセットの詳細は、datasets(5) のマニュアルページを参照してください。BE の詳細は、『Oracle Solaris 11.1 ブート環境の作成と管理』を参照してください。

ファイルシステムのマウントと更新

pkg(5) のマニュアルページで説明されているように、ゾーンのシステムイメージの一部であるファイル、シンボリックリンク、またはディレクトリを非表示にしてファイルシステムをマウントする方法はサポートされていません。/usr/local に内容を提供するパッケージがインストールされていない場合は、/usr/local にファイルシステムをマウントすることが許容されます。しかし、いずれかのパッケージ (SVR4 パッケージを含む) が /usr/local で始まるパスにファイル、ディレクトリ、またはシンボリックリンクを提供する場合は、/usr/local へのファイルシステムのマウントはサポートされません。/mnt へのファイルシステムの一時的なマウントはサポートされています。

ゾーン内でファイルシステムがマウントされる順序のため、/export がゾーンの rpool/export データセットまたは別の委任されたデータセットに由来する場合は、fs リソースが /export/filesys にファイルシステムをマウントすることはできません。

ゾーン内のホスト ID

非大域ゾーンでは、大域ゾーンの hostid とは異なる hostid プロパティーを設定できます。これはたとえば、別のシステム上のゾーンに移行されたマシンなどの場合に行います。このゾーン内に現在あるアプリケーションは、元の hostid に依存している場合があります。詳細は、「リソースタイプとプロパティー」を参照してください。

非大域ゾーンの /dev ファイルシステム

zonecfg コマンドは、規則照合方式を使って、特定のゾーンにどのデバイスを配置するかを指定します。いずれかのルールに一致するデバイスは、ゾーンの /dev ファイルシステムに追加されます。詳細は、「ゾーンの構成方法」を参照してください。

非大域ゾーンのリムーバブル lofi デバイス

リムーバブルループバックファイル (lofi) デバイスは、CD-ROM デバイスのように機能し、非大域ゾーンに構成できます。デバイスがマップするファイルを変更したり、複数の lofi デバイスを作成して、同じファイルを読み取り専用モードで使用したりできます。このタイプの lofi デバイスを作成するには、lofiadm コマンドを -r オプションとともに使用します。作成時にファイル名は必要ありません。リムーバブル lofi デバイスのライフサイクル中は、ファイルを空のデバイスに関連付けたり、空でないデバイスからファイルの関連付けを解除したりできます。1 つのファイルを同時に複数のリムーバブル lofi デバイスに安全に関連付けることができます。リムーバブル lofi デバイスは読み取り専用です。通常の読み取り/書き込み lofi デバイスまたはリムーバブル lofi デバイスにマップされたファイルを再マッピングすることはできません。潜在的な lofi デバイスの数は、大域ゾーンで zonecfg(1M) を使用して設定できる zone.max-lofi リソース制御によって制限されます。

作成後のリムーバブル lofi デバイスは読み取り専用です。リムーバブル lofi デバイスに対して書き込み操作が行われると、lofi ドライバはエラーを返します。

lofiadm コマンドは、リムーバブル lofi デバイスを一覧表示する場合にも使用します。

例 16-2 関連するファイルを含むリムーバブル lofi デバイスを作成する

# lofiadm -r /path/to/file 
/dev/lofi/1

例 16-3 空のリムーバブル lofi デバイスを作成する

# lofiadm -r 
/dev/lofi/2

例 16-4 リムーバブル lofi デバイスにファイルを挿入する

# lofiadm -r /path/to/file /dev/lofi/1
/dev/lofi/1

詳細は、lofiadm(1M)zonecfg(1M)、および lofi(7D) のマニュアルページを参照してください。「ゾーン規模のリソース制御」も参照してください。

非大域ゾーン内でのディスク形式のサポート

ディスクのパーティション分割と uscsi コマンドの使用は、zonecfg ツールを使用すると有効になります。例については、「リソースタイプのプロパティー」device を参照してください。uscsi コマンドの詳細は、uscsi(7I) を参照してください。

構成可能な特権

ゾーンのブート時に、safe 特権のデフォルトセットが構成に含められます。これらの特権は、ゾーン内の特権プロセスがシステムのほかの非大域ゾーン内のプロセスや大域ゾーン内のプロセスに影響を及ぼすことを防ぐため、安全と見なされます。 zonecfg コマンドを使用して、次の操作を実行できます。


注 - わずかですが、この時点でゾーンのデフォルト特権セットから削除できない特権があります。同じように、特権セットに追加できない特権もあります。


詳細は、「非大域ゾーン内の特権」「ゾーンの構成方法」、および privileges(5) のマニュアルページを参照してください。

リソースプールの関連付け

第 13 章リソースプールの作成と管理 (タスク)の説明に従ってシステムでリソースプールを構成した場合は、ゾーンを構成するときに pool プロパティーを使用して、リソースプールの 1 つにゾーンを関連付けることができます。

リソースプールが構成されていない場合でも、非大域ゾーンの実行中にシステムのプロセッサの一部をそのゾーン専用に割り当てるよう、dedicated-cpu リソースを使用して指定できます。ゾーンの実行中に使用される一時プールが動的に作成されます。zonecfg によって指定すると、移行時にプールの設定が伝達されます。


注 - pool プロパティーによって設定される持続的プールを使用するゾーン構成と、dedicated-cpu リソースによって構成される一時プールには、互換性がありません。これら 2 つのプロパティーは、どちらか 1 つしか設定できません。


ゾーン規模のリソース制御の設定

大域管理者または適切な承認を持つユーザーは、ゾーン規模の特権付きリソース制御をゾーンに対して設定できます。ゾーン規模のリソース制御は、ゾーン内のすべてのプロセスエンティティーによる総リソース消費を制限します。

これらの制限は、大域ゾーンと非大域ゾーンのどちらに対しても、zonecfg コマンドを使用して指定します。「ゾーンの構成方法」を参照してください。

ゾーン規模のリソース制御を設定するためのより簡単な推奨される方法は、cpu-cap などの rctl リソースではなく、capped-cpu などのプロパティー名またはリソースを使用することです。

zone.cpu-cap リソース制御は、1 つのゾーンで消費可能な CPU リソースの量に対する絶対的な制限を設定します。設定と同様、100 の値は 1 つの CPU の 100% を意味します。125 の値は 125% になります。CPU キャップの使用時は、100% がシステム上の 1 つの CPU の上限となります。


注 - capped-cpu リソースを設定する場合は、単位に小数を使用できます。この値は zone.cpu-cap リソース制御と相互に関連していますが、設定値はその 100 分の 1 になります。設定値 1 はリソース制御の設定値 100 に等しくなります。


zone.cpu-shares リソース制御は、公平配分スケジューラ (FSS) の CPU 配分の制限をゾーンに対して設定します。CPU 配分は、まずゾーンに対して割り当てられたあとで、project.cpu-shares エントリの指定に従って、ゾーン内のプロジェクトに分配されます。詳細は、「ゾーンがインストールされている Oracle Solaris システムでの公平配分スケジューラの使用」を参照してください。この制御のグローバルプロパティー名は cpu-shares です。

zone.max-locked-memory リソース制御は、1 つのゾーンで使用できる、ロックされた物理メモリーの量に制限を設定します。ゾーン内のプロジェクト間でのロックされたメモリーリソースの割り当ては、project.max-locked-memory リソース制御を使用して制御できます。詳細は、表 6-1 を参照してください。

zone.max-lofi リソース制御は、1 つのゾーンで作成可能な lofi デバイスの数を制限します。

1 つのゾーンの LWP が多くなりすぎると、ほかのゾーンに影響を与えることがあります。zone.max-lwps リソース制御は、これを防ぐことで、リソースの隔離を向上させます。ゾーン内のプロジェクト間での LWP リソースの割り当ては、project.max-lwps リソース制御を使用して制御できます。詳細は、表 6-1 を参照してください。この制御のグローバルプロパティー名は max-lwps です。

zone.max-processes リソース制御は、1 つのゾーン内のあまりに多くの LWP が他のゾーンに影響を与えることを防ぐことによって、リソースの隔離性を高めます。ゾーン内の各プロジェクトに対するプロセステーブルスロットリソースの割り当ては、project.max-processes リソース制御 (「使用可能なリソース制御」に記載) を使用して設定できます。この制御のグローバルプロパティー名は max-processes です。zone.max-processes リソース制御は、zone.max-lwps リソース制御を含むこともできます。zone.max-processes が設定されていて zone.max-lwps が設定されていない場合、zone.max-lwps はゾーンのブート時に暗黙的に zone.max-processes の値の 10 倍に設定されます。正常なプロセスとゾンビプロセスの両方がプロセステーブルスロットを占有するため、max-processes 制御がプロセステーブルを消費しつくすゾンビプロセスから保護します。ゾンビプロセスには本来 LWP がないため、max-lwps でこの可能性から保護することはできません。

zone.max-msg-idszone.max-sem-idszone.max-shm-ids、および zone.max-shm-memory の各リソース制御は、ゾーン内のすべてのプロセスで使用される System V リソースを制限します。ゾーン内のプロジェクト間での System V リソースの割り当ては、これらのリソース制御の project バージョンを使用して制御できます。これらの制御のグローバルプロパティー名は、max-msg-idsmax-sem-idsmax-shm-ids、および max-shm-memory です。

zone.max-swap リソース制御は、ゾーン内のユーザープロセスのアドレス空間マッピングと tmpfs マウントで消費されるスワップを制限します。prstat -Z の出力は「スワップ」列を表示します。報告されるスワップは、ゾーンのプロセスと tmpfs マウントで消費されるスワップの合計量です。この値により、各ゾーンで予約されているスワップを監視しやすくなり、適切な zone.max-swap 設定を選択することができます。

表 16-1 ゾーン規模のリソース制御

制御名
グローバルプロパティー名
説明
デフォルトの単位
使用される値
zone.cpu-cap
このゾーンに対する CPU リソース量の絶対的な制限。
数量 (CPU の数)、パーセントで表されます。

注 - capped-cpu リソースとして設定する場合は、単位に小数を使用できます。


zone.cpu-shares
cpu-shares
このゾーンに対する公平配分スケジューラ (FSS) の CPU 配分
数量 (配分)
zone.max-locked-memory
ゾーンで使用できるロックされた物理メモリーの合計量。

priv_proc_lock_memory がゾーンに割り当てられている場合、そのゾーンがすべてのメモリーをロックするのを防ぐため、このリソース制御の設定も検討してください。

サイズ (バイト)
capped-memorylocked プロパティー
zone.max-lofi
max-lofi
1 つのゾーンで作成可能な lofi デバイスの数に対する制限
数量 (lofi デバイスの数)
zone.max-lwps
max-lwps
このゾーンで同時に使用できる LWP の最大数
数量 (LWP 数)
zone.max-msg-ids
max-msg-ids
このゾーンに許容されるメッセージキュー ID の最大数
数量 (メッセージキュー ID の数)
zone.max-processes
max-processes
このゾーンで同時に使用できるプロセステーブルスロットの最大数
数量 (プロセステーブルスロット数)
zone.max-sem-ids
max-sem-ids
このゾーンに許容されるセマフォー ID の最大数
数量 (セマフォー ID の数)
zone.max-shm-ids
max-shm-ids
このゾーンに許容される共有メモリー ID の最大数
数量 (共有メモリー ID の数)
zone.max-shm-memory
max-shm-memory
このゾーンに許容される System V 共有メモリーの合計量
サイズ (バイト)
zone.max-swap
このゾーンのユーザープロセスのアドレス空間マッピングと tmpfs マウントで消費できるスワップの合計量。
サイズ (バイト)
capped-memoryswap プロパティー

prctl コマンドを使用すると、実行中のプロセスに対してこれらの制限を指定できます。例については、prctl コマンドを使用して大域ゾーンの FSS 配分を設定する方法」を参照してください。prctl コマンドで指定された制限には持続性がありません。システムがリブートされると、制限は無効になります。

ゾーンのコメントの追加

attr リソースの型を使ってゾーンのコメントを追加できます。詳細は、「ゾーンの構成方法」を参照してください。