ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris の管理: Oracle Solaris コンテナ - リソース管理と Oracle Solaris ゾーン Oracle Solaris 10 1/13 Information Library (日本語) |
10. リソース上限デーモンによる物理メモリーの制御 (概要)
19. 非大域ゾーンのインストール、停止、複製、およびアンインストールについて (概要)
20. 非大域ゾーンのインストール、ブート、停止、アンインストール、および複製 (タスク)
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 ゾーンで発生するさまざまな問題のトラブルシューティング
31. ブランドゾーンと Linux ブランドゾーンについて
zonecfg コマンドを使用した lx ブランドゾーンの作成
34. lx ブランドゾーンのインストール、ブート、停止、複製、およびアンインストールについて (概要)
35. lx ブランドゾーンのインストール、ブート、停止、アンインストール、および複製 (タスク)
このセクションでは、次のコンポーネントについて説明します。
zonecfg コマンドを使用して構成できるゾーンのリソースとプロパティー
デフォルトで構成に含まれているリソース
ゾーンの名前とパスを選択する必要があります。
autoboot プロパティーの設定により、大域ゾーンのブート時にこのゾーンが自動的にブートされるかどうかが決まります。
第 13 章リソースプールの作成と管理 (タスク)の説明に従ってシステムでリソースプールを構成した場合は、ゾーンを構成するときに pool プロパティーを使用して、リソースプールの 1 つにゾーンを関連付けることができます。
リソースプールが構成されていない場合でも、非大域ゾーンの実行中にシステムのプロセッサの一部をそのゾーン専用に割り当てるよう、dedicated-cpu リソースを使用して指定できます。ゾーンの実行中に使用される一時プールが動的に作成されます。
注 - pool プロパティーによって設定される持続的プールを使用するゾーン構成と、dedicated-cpu リソースによって構成される一時プールには、互換性がありません。これら 2 つのプロパティーは、どちらか 1 つしか設定できません。
dedicated-cpu リソースは、非大域ゾーンの実行中にシステムのプロセッサの一部をそのゾーン専用に割り当てることを指定します。ゾーンのブート時に、ゾーンの実行中に使用される一時プールが動的に作成されます。
dedicated-cpu リソースは、ncpus の制限を設定し、必要に応じて importance も設定します。
CPU の数を指定するか、CPU の数の範囲を 2–4 などと指定します。リソースプールの動的な動作を得るために範囲を指定する場合は、次の手順も実行してください。
importance プロパティーを設定します。
「プール機能の有効化と無効化」の説明に従って、動的リソースプールサービスを有効にします。
動的な動作を得るために CPU 範囲を使用する場合は、importance プロパティーも設定してください。importance は「省略可能な」プロパティーであり、プールの相対的な重要性を定義します。このプロパティーが必要となるのは、ncpus に範囲を指定した場合で、poold によって管理される動的リソースプールを使用しているときだけです。poold が実行されていない場合、importance は無視されます。poold が実行されている場合、importance が設定されていないと、importance はデフォルト値の 1 になります。詳細は、「 pool.importance プロパティーの制約」を参照してください。
注 - cpu-shares リソース制御と dedicated-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 が設定されていない場合、そのゾーンはシステムのデフォルトのスケジューリングクラスを使用します。ゾーンのスケジューリングクラスは、次の処理によって設定されます。
zonecfg の scheduling-class プロパティーを使ってゾーンのスケジューリングクラスを設定できます。
リソースプール機能を使ってゾーンのスケジューリングクラスを設定できます。ゾーンがプールに関連付けられている場合、そのプールの pool.scheduler プロパティーに有効なスケジューリングクラスが設定されていれば、ゾーンで実行されるプロセスは、デフォルトでそのスケジューリングクラスで実行されます。「リソースプールの紹介」 および 「プールをスケジューリングクラスに対応付ける方法」を参照してください。
cpu-shares リソース制御が設定されている場合で、別の処理を通して FSS がゾーンのスケジューリングクラスとして設定されていないときは、ゾーンのブート時に zoneadmd によってスケジューリングクラスが FSS に設定されます。
ほかの処理を通してスケジューリングクラスが設定されていない場合、ゾーンはシステムのデフォルトのスケジューリングクラスを継承します。
priocntl (priocntl(1) のマニュアルページを参照) を使用すると、デフォルトのスケジューリングクラスの変更やリブートを行うことなく、実行中のプロセスを別のスケジューリングクラスに移動できます。
capped-memory リソースは、physical、swap、および locked メモリーの制限を設定します。各制限はオプションですが、少なくとも 1 つは設定する必要があります。
大域ゾーンから rcapd を使用してゾーンのメモリー上限を設定する場合は、このリソースの値を決定します。capped-memory リソースの physical プロパティーは、ゾーンの max-rss 値として rcapd で使用されます。
capped-memory リソースの swap プロパティーは、zone.max-swap リソース制御を設定するための望ましい方法です。
capped-memory リソースの locked プロパティーは、zone.max-locked-memory リソース制御を設定するための望ましい方法です。
注 - 通常はアプリケーションが多量のメモリーをロックすることはありませんが、ゾーンのアプリケーションによってメモリーがロックされることがわかっている場合は、ロックされるメモリーを設定するとよいでしょう。ゾーンの信頼が問題になる場合は、ロックされるメモリーの上限を、システムの物理メモリーの 10 パーセントまたはゾーンの物理メモリー上限の 10 パーセントに設定することもできます。
詳細は、第 10 章リソース上限デーモンによる物理メモリーの制御 (概要)、第 11 章リソース上限デーモンの管理 (タスク)、および 「lx ブランドゾーンの構成方法」を参照してください。
lx ブランドゾーンでは、共有 IP ネットワーク構成だけがサポートされています。
ネットワーク接続を必要とする各ゾーンには、1 つ以上の専用 IP アドレスが必要です。これらのアドレスは、論理ネットワークインタフェースに関連付けられます。zonecfg コマンドで構成されたネットワークインタフェースは、ブート時に自動的に設定され、ゾーンに配置されます。Oracle Solaris 10 10/08 リリース以降では、必要に応じて defrouter プロパティーを使用して、ネットワークインタフェースのデフォルトのルーターを設定することもできます。
通常、ゾーンでマウントされるファイルシステムには、次のものが含まれます。
仮想プラットフォームの初期化時にマウントされる一連のファイルシステム
ゾーン自体の内部からマウントされる一連のファイルシステム
これには、たとえば次のようなファイルシステムが含まれます。
automount によって引き起こされるマウント
ゾーン管理者が明示的に実行するマウント
アプリケーション環境内部から実行されるマウントには、いくつかの制限事項があります。これらの制限事項は、ほかのゾーンに悪影響を与えないようにするために、ゾーン管理者がシステムのほかの部分に対するサービスを拒否できないようにします。
一部のファイルシステムについては、ゾーン内部からマウントする場合にセキュリティー制限があります。ほかのファイルシステムは、ゾーン内でマウントされたときに特有の動作を行います。詳細は、「ファイルシステムと非大域ゾーン」を参照してください。
ゾーン規模のリソース制御を設定する場合に望ましい、より簡単な方法は、rctl リソースの代わりにプロパティー名を使用する方法です。これらの制限は、大域ゾーンと非大域ゾーンの両方に対して指定されます。
大域管理者は、rctl リソースを使用して、ゾーン規模の特権付きリソース制御をゾーンに対して設定することもできます。
ゾーン規模のリソース制御は、ゾーン内のすべてのプロセスエンティティーによる総リソース消費を制限します。これらの制限は、大域ゾーンと非大域ゾーンのどちらに対しても、zonecfg コマンドを使用して指定します。手順については、「lx ブランドゾーンの構成方法」を参照してください。
現在使用できるリソース制御は次のとおりです。
表 32-1 ゾーン規模のリソース制御
|
limitpriv プロパティーは、定義済みのデフォルト特権セット以外の特権マスクを指定する場合に使用します。ゾーンのブート時に、デフォルトの特権セットがブランド構成に含められます。これらの特権は、ゾーン内の特権プロセスがシステムのほかの非大域ゾーン内のプロセスや大域ゾーン内のプロセスに影響を及ぼすことを防ぐため、安全と見なされます。limitpriv プロパティーを使用して、次の操作を実行できます。
デフォルトの特権セットに追加します。ただし、この種の変更を行うと、あるゾーン内のプロセスがグローバルリソースを制御できるようになって、ほかのゾーン内のプロセスに影響する場合があります。
デフォルトの特権セットから削除します。ただし、この種の変更を行うと、実行に必要な特権がないため一部のプロセスが正しく動作しなくなる場合があります。
注 - わずかですが、この時点でゾーンのデフォルト特権セットから削除できない特権があります。同じように、特権セットに追加できない特権もあります。
詳細は、「lx ブランドゾーンで定義される特権」、「非大域ゾーン内の特権」、および privileges(5) のマニュアルページを参照してください。
attr リソースタイプを使用して、大域ゾーンにあるオーディオデバイスへのアクセスを可能にすることができます。手順については、「lx ブランドゾーンを構成、検証、および確定する方法」の手順 12 を参照してください。
attr リソースタイプを使ってゾーンのコメントを追加することもできます。