JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris の管理: Oracle Solaris コンテナ - リソース管理と Oracle Solaris ゾーン     Oracle Solaris 10 1/13 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

パート I リソース管理

1.  Solaris 10 リソース管理の紹介

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

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

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

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

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

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

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

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

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

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

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

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

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

15.  Solaris 管理コンソールのリソース制御機能

パート II ゾーン

16.  Solaris ゾーンの紹介

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

この章に追加されている説明

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

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

ゾーンのコンポーネント

ゾーンの名前とパス

ゾーンの自動ブート

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

Solaris 10 8/07: dedicated-cpu リソース

Solaris 10 5/08: capped-cpu リソース

ゾーンのスケジューリングクラス

Solaris 10 8/07: 物理メモリーの制御と capped-memory リソース

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

共有 IP 非大域ゾーン

Solaris 10 8/07: 排他的 IP 非大域ゾーン

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

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

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

ゾーンで構成されるデバイス

ゾーン内のホスト ID

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

Solaris 10 11/06 以降: 構成可能な特権

ゾーンのコメントの追加

zonecfg コマンドの使用

zonecfg のモード

zonecfg の対話型モード

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

ゾーン構成データ

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

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

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

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

19.  非大域ゾーンのインストール、停止、複製、およびアンインストールについて (概要)

20.  非大域ゾーンのインストール、ブート、停止、アンインストール、および複製 (タスク)

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

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

23.  非大域ゾーンの移動と移行 (タスク)

24.  Oracle Solaris 10 9/10: ゾーンへの物理的な Oracle Solaris システムの移行 (タスク)

25.  ゾーンがインストールされている Oracle Solaris システムでのパッケージとパッチについて (概要)

26.  ゾーンがインストールされている Oracle Solaris システムでのパッケージとパッチの追加および削除 (タスク)

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

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

29.  非大域ゾーンにインストールされている Oracle Solaris 10 システムのアップグレード

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

パート III lx ブランドゾーン

31.  ブランドゾーンと Linux ブランドゾーンについて

32.  lx ブランドゾーン構成の計画 (概要)

33.  lx ブランドゾーンの構成 (タスク)

34.  lx ブランドゾーンのインストール、ブート、停止、複製、およびアンインストールについて (概要)

35.  lx ブランドゾーンのインストール、ブート、停止、アンインストール、および複製 (タスク)

36.  lx ブランドゾーンへのログイン (タスク)

37.  lx ブランドゾーンの移動と移行 (タスク)

38.  lx ブランドゾーンでのアプリケーションの管理と実行 (タスク)

用語集

索引

ゾーンのコンポーネント

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

ゾーンの名前とパス

ゾーンの名前とパスを選択する必要があります。

ゾーンの自動ブート

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

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

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

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


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


Solaris 10 8/07: 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 リソースには互換性がありません。


Solaris 10 5/08: 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) のマニュアルページを参照) を使用すると、デフォルトのスケジューリングクラスの変更やリブートを行うことなく、実行中のプロセスを別のスケジューリングクラスに移動できます。

Solaris 10 8/07: 物理メモリーの制御と capped-memory リソース

capped-memory リソースは、physicalswap、および locked メモリーの制限を設定します。各制限はオプションですが、少なくとも 1 つは設定する必要があります。


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


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

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

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

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

非大域ゾーンに使用できる IP タイプには、共有 IP と排他的 IP の 2 種類があります。共有 IP ゾーンはネットワークインタフェースを共有し、排他的 IP ゾーンには専用のネットワークインタフェースが必要です。

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

共有 IP 非大域ゾーン

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

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

これらのアドレスは、論理ネットワークインタフェースに関連付けられます。大域ゾーンから ifconfig コマンドを使用すると、稼働中のゾーンの論理インタフェースを追加したり削除したりできます。詳細は、「共有 IP ネットワークインタフェース」を参照してください。

Solaris 10 8/07: 排他的 IP 非大域ゾーン

排他的 IP ゾーンでは、IP レベルのすべての機能が使用可能です。

排他的 IP ゾーンは、IP 関連の状態を独自に保持します。

排他的 IP ゾーンでは次のような機能を使用できます。

排他的 IP ゾーンには、zonecfg コマンドを使用して独自のデータリンクセットを割り当てます。net リソースの physical プロパティーを使用して、ゾーンに xge0e1000g1bge32001 などのデータリンク名を割り当てます。net リソースの address プロパティーは設定されません。

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

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

実行中の排他的 IP ゾーンの内部で、ifconfig コマンドを使用して IP を構成できます。これには、論理インタフェースの追加や削除も含まれます。ゾーンの IP 構成は、大域ゾーンの場合と同様に sysidtools を使用して設定できます。詳細は、sysidcfg(4) のマニュアルページを参照してください。


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

global# zlogin zone1 ifconfig -a

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

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

一方、排他的 IP ゾーンの場合は、zonecfg によって指定されたデータリンク全体がゾーンに対して許可されます。その結果、スーパーユーザーは、排他的 IP ゾーンでも大域ゾーンと同様に、偽のパケットをこれらのデータリンク上で送信できます。

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

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

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

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

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

アプリケーション環境内部から実行されるマウントには、いくつかの制限事項があります。これらの制限事項は、ほかのゾーンに悪影響を与えないようにするために、ゾーン管理者がシステムのほかの部分に対するサービスを拒否できないようにします。

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


注 - 別個の /var ファイルシステムを含む native 非大域ゾーン構成は、Oracle Solaris 10 ではサポートされません。この構成のシステムでは、patchadd コマンドと、zoneadm installdetachattach、および接続時更新操作が失敗することがあります。サポートされる構成およびサポートされない構成の詳細については、「大域ゾーンによってデータが挿入されているファイルシステムをゾーン管理者がマウントする場合」を参照してください。


ゾーンで構成されるデバイス

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

ゾーン内のホスト ID

非大域ゾーンでは、大域ゾーンの hostid とは異なる hostid プロパティーを設定できます。この設定は、P2V (Physical-To-Virtual) 機能を使用して物理マシンをゾーンに統合する場合に行われます。ゾーン内に配置されたアプリケーションが元の hostid に依存する場合があり、アプリケーション構成を更新できないことがあります。詳細は、「リソースタイプとプロパティータイプ」を参照してください。

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

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

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

Solaris 10 8/07 以降のリリースでは、ゾーン規模のリソース制御を設定する場合に望ましい、より簡単な方法は、rctl リソースの代わりにプロパティー名を使用する方法です。

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


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


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

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

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

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

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

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


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

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

サイズ (バイト)
capped-memorylocked プロパティー。
zone.max-lwps
max-lwps
このゾーンで同時に使用できる LWP の最大数。
数量 (LWP 数)
zone.max-msg-ids
max-msg-ids
このゾーンに許容されるメッセージキュー ID の最大数。
数量 (メッセージキュー ID の数)
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 コマンドで指定された制限には持続性がありません。システムがリブートされると、制限は無効になります。

Solaris 10 11/06 以降: 構成可能な特権

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


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


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

ゾーンのコメントの追加

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