Skip to main content

Fujitsu

Japan

Oracle Solarisコンテナ:Oracle Solaris 10 新機能
機能編(2):Solarisリソースマネージャ

概要

Solarisリソースマネージャは、ハードウェアリソースを仮想Solaris環境であるzoneに割り当てる機能です。
複数の業務を1つのシステムで動作させるとき、業務と同じ数のzoneを作成して、1つのzoneで1つの業務が動作するようにします。Solarisリソースマネージャを利用して、zoneごとにリソースを配分することで、あるzoneの業務に処理が集中して負荷が上がっても、他のzoneは影響を受けることなく業務を実行できます。

また、リソースを使用状況に応じて動的に構成変更できます。複数のzoneで動作している業務負荷のピークとなる時間が異なる場合、負荷変動にあわせてリソースを移動させることで、リソースを有効活用できます。

特長   効果
  • 業務の優先順位に応じて、リソースを割り当て
  • 状況に応じて動的にリソースの配分を変更可能(ダイナミックリソースプール)
  • 特定の業務におけるリソース占有を防止
  • リソースを最大限に活用できるようなシステム設計が可能

リソースプール

リソースプールとは、CPUをグループ化して、zoneに割り当てる単位のことです。プロセッサセットとスケジューリングクラスで構成されます。

  • プロセッサセット(pset)
    CPUをグループ化する単位で、リソースプールに割り当てるCPUの個数を設定します。
  • スケジューリングクラス(FSSとTS)
    リソースプールは、指定されたスケジューリングクラスに基づいて、CPUリソースをzone上のプロセスに割り当てます。
    リソースプールに設定するスケジューリングクラスは、TSとFSSの2つが一般的です。

    FSS(Fair Share Scheduler)は、zone毎に設定するCPU使用率(CPUシェア数)に基づいて、1つのリソースプールを共有しているzone間でCPUリソースを配分するスケジューラです。例えばzoneA, B のCPU使用率を4:1と設定した場合、利用可能なCPUリソースのうち、zoneAは80%、zoneBは20%の割合で利用することができます。

    TS(Time Share Scheduler )はSolaris のデフォルトのスケジューラで、 CPUリソースをプロセス毎に平等に割り当てます。特定のプロセスに対して集中的にCPUを割り当てることはできません。

zoneとリソースプール

zoneは起動時に使用するリソースプールを1つ割り当てます(以下、結合と表現)。1つのリソースプールは複数のzoneに結合させることができ、FSSにより各zoneに割り当てるCPUリソースの割合を設定します。1つのzoneに複数のリソースプールを結合することはできません。
リソースプールはデフォルト定義(pool_default )が用意されていて、global zoneはpool_defaultが固定で結合されています。また、zone起動時に指定のリソースプールが結合されなかった場合、 自動的にpool_defaultが結合されます。

ダイナミックリソースプール

CPUの利用状況に応じて、動的にCPUをリソースプール間で移動したり、zoneへの割り当ての比率を変えたりすることができます。コマンドラインによる移動だけではなく、しきい値の設定により自動でCPUを移動させることもできます。

Solarisコンテナ目次