Go to main content

Oracle® Solaris ゾーンの作成と使用

印刷ビューの終了

更新: 2018 年 8 月
 
 

非大域ゾーンでのリソース管理

このセクションでは、リソース制御、公平配分スケジューラ (FSS)、および拡張アカウンティングについて説明します。

非大域ゾーンで使用されるリソース制御

ゾーン内でのリソース管理機能の使用に関する追加情報については、Oracle Solaris 12 でのリソースの管理のこの機能について説明した章を参照してください。

リソース管理の章に記載されたリソース制御および属性はすべて、大域ゾーンおよび非大域ゾーンの /etc/project ファイル、NIS マップ、または LDAP ディレクトリサービスで設定できます。指定されたゾーンの設定は、そのゾーンにのみ影響を及ぼします。異なるゾーン内で自動実行中のプロジェクトは、ゾーンごとに別個の制御セットを保持できます。たとえば、大域ゾーン内のプロジェクト A を project.cpu-shares=10 に設定し、非大域ゾーン内の Project A を project.cpu-shares=5 に設定できます。それぞれが該当するゾーン内でのみ機能する、rcapd のインスタンスをシステム上で複数実行できます。

ゾーン内部のプロジェクト、タスク、およびプロセスを制御するため、ゾーン内で使用するリソースの制御および属性は、プールおよびゾーン規模のリソース制御に関する追加要件に従います。

1 つの非大域ゾーンにはリソースプールを 1 つだけ関連付けることができますが、プールは特定のゾーンに排他的に割り当てる必要はありません。1 つのプール内のリソースを複数の非大域ゾーンが共有してもかまいません。ただし、十分な特権を付与されたプロセスを使って、大域ゾーン内のプロセスを任意のプールにバインドすることが可能です。リソースコントローラ poold は、大域ゾーン内だけで動作します。大域ゾーン内には、リソースコントローラが動作するプールが複数存在します。poolstat ユーティリティーを非大域ゾーンで実行すると、そのゾーンに関連付けられているプールの情報だけが表示されます。非大域ゾーンで引数なしで pooladm コマンドを実行すると、そのゾーンに関連付けられているプールの情報だけが表示されます。

ゾーン規模のリソース制御が project ファイルで設定されている場合、そのリソース制御は有効にはなりません。ゾーン規模のリソース制御は、zonecfg ユーティリティーを使って設定されます。

ゾーンがインストールされている システムでの公平配分スケジューラ

このセクションでは、ゾーンで公平配分スケジューラ (FSS) を使用して CPU 使用量のバランスを取る方法について説明します。

大域ゾーンまたは非大域ゾーン内の FSS 配分分割

ゾーンの FSS CPU 配分は、階層的です。大域ゾーンおよび非大域ゾーンの配分は、ゾーン規模のリソース制御 zone.cpu-shares を使って大域管理者が設定します。次に、そのゾーン内のプロジェクトごとにリソース制御 project.cpu-shares を定義して、ゾーン規模の制御で設定された配分をさらに分割できます。

zonecfg コマンドを使用してゾーンに配分を割り当てる方法については、大域ゾーンの CPU シェアを設定する方法を参照してください。project.cpu-shares の詳細は、Administering Resource Management in Oracle Solaris 11.4 の Available Resource Controlsを参照してください。配分を一時的に設定する方法を示す手順例については、ゾーンがインストールされているシステムでの公平配分スケジューラの使用も参照してください。

ゾーン間の配分均衡

zone.cpu-shares を使用して、FSS 配分を大域ゾーンと非大域ゾーンに割り当てることができます。FSS がシステムのデフォルトのスケジューラになっている場合で、配分が割り当てられていないときは、各ゾーンにはデフォルトで 1 つの配分が付与されます。システムに 1 つの非大域ゾーンが存在し、zone.cpu-shares を使ってこのゾーンに 2 つの配分を付与する場合、これにより非大域ゾーンが大域ゾーンとの関連で受ける CPU の比率が定義されます。2 つのゾーン間の CPU 比率は 2:1 です。

ゾーンがインストールされているシステムでの拡張アカウンティング

拡張アカウンティングサブシステムを大域ゾーンで実行した場合、非大域ゾーンを含むシステム全体の情報が収集および報告されます。大域管理者は、ゾーンごとのリソース消費を決定することもできます。

拡張アカウンティングサブシステムを使用すると、プロセスおよびタスクに基づいたアカウンティングに対応した異なるアカウンティング設定およびファイルを、ゾーン単位で指定することが可能になります。exacct レコードに、プロセスの場合はゾーン名 EXD PROC ZONENAME のタグを付け、タスクの場合はゾーン名 EXD TASK ZONENAME のタグを付けることができます。アカウンティングレコードは、大域ゾーンのアカウンティングファイルおよびゾーン単位のアカウンティングファイルに書き込まれます。EXD TASK HOSTNAMEEXD PROC HOSTNAME、および EXD HOSTNAME レコードには、大域ゾーンのノード名の代わりに、プロセスまたはタスクが実行されたゾーンの uname –n 値が含まれます。