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

lx ブランドゾーン構成の構成要素

ここでは、次の構成要素について説明します。

lx ブランドゾーンのゾーン名とゾーンパス

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

lx ブランドゾーンでのゾーンの自動起動

autoboot プロパティーの設定により、大域ゾーンの起動時にこのゾーンが自動的に起動されるかどうかが決まります。

lx ブランドゾーンでの資源プールの関連付け

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

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


注 –

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


dedicated-cpu 資源を指定する

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

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

ncpus

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

importance

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


注 –

cpu-shares 資源制御と dedicated-cpu 資源には互換性がありません。


Solaris10 5/08: capped-cpu 資源を指定する

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


注 –

capped-cpu 資源と dedicated-cpu 資源には互換性がありません。


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

公平配分スケジューラ (FSS) を使用すると、使用可能な CPU 資源のゾーン間での割り当てを、ゾーンの重要性に基づいて制御できます。この重要性は、各ゾーンに割り当てる CPU 資源の「配分」で表します。

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

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

capped-memory 資源

capped-memory 資源は、physicalswap、および locked メモリーの制限を設定します。各制限は省略可能ですが、少なくとも 1 つは設定する必要があります。


注 –

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


詳細は、第 10 章資源上限デーモンによる物理メモリーの制御 (概要)第 11 章資源上限デーモンの管理 (手順)、および lx ブランドゾーンの構成方法」を参照してください。

lx ブランドゾーンのゾーンネットワークインタフェース

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

ネットワーク接続を必要とする各ゾーンには、1 つ以上の専用 IP アドレスが必要です。これらのアドレスは、論理ネットワークインタフェースに関連付けられます。zonecfg コマンドで構成されたネットワークインタフェースは、起動時に自動的に設定され、ゾーンに配置されます。Solaris 10 10/08 リリース以降では、必要に応じて defrouter プロパティーを使用して、ネットワークインタフェースのデフォルトのルーターを設定することもできます。

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

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

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

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

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

lx ブランドゾーンでのゾーン規模の資源制御

ゾーン規模の資源制御を設定する場合に望ましい、より簡単な方法は、rctl 資源の代わりにプロパティー名を使用する方法です。これらの制限は、大域ゾーンと非大域ゾーンの両方に対して指定されます。

大域管理者は、rctl 資源を使用して、ゾーン規模の特権付き資源制御をゾーンに対して設定することもできます。

ゾーン規模の資源制御は、ゾーン内のすべてのプロセスエンティティーによる総資源消費を制限します。これらの制限は、大域ゾーンと非大域ゾーンのどちらに対しても、zonecfg コマンドを使用して指定します。手順については、lx ブランドゾーンの構成方法」を参照してください。

現在使用できる資源制御は次のとおりです。

表 32–1 ゾーン規模の資源制御

制御名 

グローバルプロパティー名 

説明 

デフォルトの単位 

使用される値 

zone.cpu-cap

 

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

数量 (CPU の数) 

 

zone.cpu-shares

cpu-shares

このゾーンに対する公平配分スケジューラ (FSS) の CPU 配分 

数量 (配分) 

 

zone.max-locked-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 プロパティー

lx ブランドゾーンで構成可能な特権

limitpriv プロパティーは、定義済みのデフォルト特権セット以外の特権マスクを指定する場合に使用します。ゾーンの起動時に、デフォルトの特権セットがブランド構成に含められます。これらの特権は、ゾーン内の特権プロセスがシステムのほかの非大域ゾーン内のプロセスや大域ゾーン内のプロセスに影響を及ぼすことを防ぐため、安全と見なされます。limitpriv プロパティーを使用して、次の操作を実行できます。


注 –

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


詳細は、lx ブランドゾーンで定義される特権」「非大域ゾーン内の特権」、および privileges(5) のマニュアルページを参照してください。

lx ブランドゾーンの attr 資源

attr 資源タイプを使用して、大域ゾーンにあるオーディオデバイスへのアクセスを可能にすることができます。手順については、lx ブランドゾーンを構成、検証、および確定する方法」の手順 12 を参照してください。

attr 資源タイプを使ってゾーンのコメントを追加することもできます。