この章では、Logical Domains システムでのリソース管理の実行について説明します。
この章の内容は次のとおりです。
CPU Power Management (PM) ソフトウェアを使用するには、まず ILOM 3.0 ファームウェアで電源管理ポリシーを設定する必要があります。この節では、LDoms ソフトウェアで Power Management を使用できるようにするために必要な情報の概要を示します。詳細は、『Sun Integrated Lights Out Manager (ILOM) 3.0 CLI 手順ガイド』の「消費電力の監視」を参照してください。
電源ポリシーは、任意の時点でのシステムの電力使用量を管理する設定です。Logical Domains Manager (Version 1.3) では、ベースとなるプラットフォームに Power Management 機能が実装されていることを前提として、2 つの電源ポリシーがサポートされます。
Performance - システムは、利用可能なすべての電力を使用できます。
Elastic - システムの電力使用量は、現在の使用率のレベルに合わせて変化します。たとえば、作業負荷が変動しても使用率が常にしきい値の範囲内に維持されるように、必要な分だけシステムコンポーネントの電源を入れたり切ったりします。
ILOM 3.0 ファームウェアの CLI を使用して電源ポリシーを設定する手順については、『Sun Integrated Lights Out Manager (ILOM) 3.0 CLI 手順ガイド』の「消費電力の監視」を参照してください。
電力を最大限節約するには、ldm bind-domain コマンドを実行してドメインを長時間バインドされたままの状態にしないでください。ドメインがバインドされた状態になっていると、ドメインのすべての CPU の電源がオンになります。
この節では、電源管理されているストランドおよび仮想 CPU を一覧表示する方法について説明します。
電源管理されているストランドを一覧表示するには、次のいずれかの手順を実行します。
list -l サブコマンドを使用します。
CPU の UTIL 列にダッシュ (---) が表示されている場合、ストランドが電源管理されていることを意味します。
# ldm list -l primary NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME primary active -n-cv SP 8 4G 4.3% 7d 19h 43m SOFTSTATE Solaris running MAC 00:14:4f:fa:ed:88 HOSTID 0x84faed88 CONTROL failure-policy=ignore DEPENDENCY master= VCPU VID PID UTIL STRAND 0 0 0.0% 100% 1 1 --- 100% 2 2 --- 100% 3 3 --- 100% 4 4 --- 100% 5 5 --- 100% 6 6 --- 100% 7 7 --- 100% .... |
list -l サブコマンドに解析可能なオプション (-p) を使用します。
util= のあとが空白になっている場合、ストランドが電源管理されていることを意味します。
# ldm list -l -p VCPU |vid=0|pid=0|util=0.7%|strand=100 |vid=1|pid=1|util=|strand=100 |vid=2|pid=2|util=|strand=100 |vid=3|pid=3|util=|strand=100 |vid=4|pid=4|util=0.7%|strand=100 |vid=5|pid=5|util=|strand=100 |vid=6|pid=6|util=|strand=100 |vid=7|pid=7|util=|strand=100 |
電源管理されている CPU を一覧表示するには、次のいずれかの手順を実行します。
list-devices -a cpu サブコマンドを使用します。
Power Management (PM) 列に yes が表示されている場合は CPU が電源管理されていることを意味し、no が表示されている場合は CPU の電源が投入されていることを意味します。100 パーセント未使用の CPU はデフォルトで電源管理されることが前提となっているので、PM の下にダッシュ (---) が表示されます。
# ldm list-devices -a cpu VCPU PID %FREE PM 0 0 no 1 0 yes 2 0 yes 3 0 yes 4 100 --- 5 100 --- 6 100 --- 7 100 --- |
list-devices -a cpu サブコマンドに解析可能なオプション (-p) を使用します。
Power Management (pm=) フィールドに yes が表示されている場合は CPU が電源管理されていることを意味し、no が表示されている場合は CPU の電源が投入されていることを意味します。100 パーセント未使用の CPU はデフォルトで電源管理されることが前提となっているので、このフィールドは空白になります。
# ldm list-devices -a -p cpu VERSION 1.4 VCPU |pid=0|free=0|pm=no |pid=1|free=0|pm=yes |pid=2|free=0|pm=yes |pid=3|free=0|pm=yes |pid=4|free=0|pm=no |pid=5|free=0|pm=yes |pid=6|free=0|pm=yes |pid=7|free=0|pm=yes |pid=8|free=100|pm= |pid=9|free=100|pm= |pid=10|free=100|pm= |
Logical Domains 1.3 ソフトウェア以降では、ポリシーを使用して、動的再構成活動を自動的に実行する方法を決定できます。現時点では、仮想 CPU の動的資源管理を制御するポリシーのみを作成できます。
次の問題が CPU の動的資源管理 (DRM) に影響します。
Power Management (PM) が Elastic モードの場合、DRM は有効にできません。
DRM が有効になっている場合、PM を Performance モードから Elastic モードに変更できません。
ドメインの移行処理を実行する前に、CPU の DRM を無効にしていることを確認してください。
資源管理ポリシーでは、論理ドメインで仮想 CPU を自動的に追加および削除できる条件について指定します。ポリシーを管理するには、ldm add-policy、ldm set-policy、および ldm remove-policy コマンドを使用します。
ldm add-policy [enable=yes|no] [priority=value] [attack=value] [decay=value] [elastic-margin=value] [sample-rate=value] [tod-begin=hh:mm[:ss]] [tod-end=hh:mm[:ss]] [util-lower=percent] [util-upper=percent] [vcpu-min=value] [vcpu-max=value] name=policy-name ldom... ldm set-policy [enable=[yes|no]] [priority=[value]] [attack=[value]] [decay=[value]] [elastic-margin=[value]] [sample-rate=[value]] [tod-begin=[hh:mm:ss]] [tod-end=[hh:mm:ss]] [util-lower=[percent]] [util-upper=[percent]] [vcpu-min=[value]] [vcpu-max=[value]] name=policy-name ldom... ldm remove-policy [name=]policy-name... ldom |
これらのコマンドの詳細および資源管理ポリシーの作成については、ldm(1M) マニュアルページを参照してください。
ポリシーは、tod-begin プロパティーと tod-end プロパティーで指定された期間の間有効です。複数のポリシーが同時に有効になっている場合、ポリシーは、priority プロパティーの値を使用して、使用するポリシーを決定します。
ポリシーは、util-high および util-low プロパティーの値を使用して、CPU 利用率の高位境界値と低位境界値を指定します。利用率が util-high の値を超えた場合、仮想 CPU の数が vcpu-min から vcpu-max までの値の範囲に収まるまで、仮想 CPU がドメインに追加されます。利用率が util-low の値を下回った場合、仮想 CPU の数が vcpu-min から vcpu-max までの値の範囲に収まるまで、仮想 CPU がドメインから削除されます。vcpu-min に達すると、仮想 CPU をそれ以上動的に削除できません。vcpu-max に達すると、仮想 CPU をそれ以上動的に追加できません。
たとえば、数週間に渡ってシステムの標準利用率を観測したあと、資源使用状況を最適化するためにポリシーを設定する場合があります。使用率が最も高いのは、毎日太平洋標準時の午前 9:00 ~午後 6:00、使用率が低いのは、毎日太平洋標準時の午後 6:00 ~午前 9:00 です。
このシステム利用率の観測に基づき、システム全体の利用率に従って次の高利用率ポリシーと低利用率ポリシーを作成することにします。
高: 毎日太平洋標準時の午前 9:00 ~午後 6:00
低: 毎日太平洋標準時の午後 6:00 ~午前 9:00
次の ldm add-policy コマンドで、高利用率時に ldom1 ドメインで使用される high-usage ポリシーを作成します。
次の high-usage ポリシーは次のことを行います。
tod-begin プロパティーと tod-end プロパティーを設定することで、開始時間と終了時間がそれぞれ午前 9:00 と午後 6:00 であることを指定します。
util-lower プロパティーと util-upper プロパティーを設定することで、ポリシー分析を実行する上限と下限がそれぞれ 25 パーセントと 75 パーセントであることを指定します。
vcpu-min プロパティーと vcpu-max プロパティーを設定することで、仮想 CPU の最小数と最大数がそれぞれ 2 と 16 であることを指定します。
attack プロパティーを設定することで、任意の 1 回のリソース制御サイクルで追加される仮想 CPU の最大数は 1 であることを指定します。
decay プロパティーを設定することで、任意の 1 回のリソース制御サイクルで削除される仮想 CPU の最大数は 1 であることを指定します。
priority プロパティーを設定することで、このポリシーの優先順位が 1 であることを指定します。優先順位が 1 であるため、別のポリシーが有効になることが可能であっても、このポリシーが実施されます。
name プロパティーを設定することで、ポリシーファイルの名前が high-usage であることを指定します。
enable や sample-rate など、指定されていないプロパティーではデフォルト値を使用します。ldm(1M) マニュアルページを参照してください。
# ldm add-policy tod-begin=09:00 tod-end=18:00 util-lower=25 util-upper=75 \ vcpu-min=2 vcpu-max=16 attack=1 decay=1 priority=1 name=high-usage ldom1 |
次の ldm add-policy コマンドで、低利用率時に ldom1 ドメインで使用される med-usage ポリシーを作成します。
次の med-usage ポリシーは次のことを行います。
tod-begin プロパティーと tod-end プロパティーを設定することで、開始時間と終了時間がそれぞれ午後 6:00 と午前 9:00 であることを指定します。
util-lower プロパティーと util-upper プロパティーを設定することで、ポリシー分析を実行する上限と下限がそれぞれ 10 パーセントと 50 パーセントであることを指定します。
vcpu-min プロパティーと vcpu-max プロパティーを設定することで、仮想 CPU の最小数と最大数がそれぞれ 2 と 16 であることを指定します。
attack プロパティーを設定することで、任意の 1 回のリソース制御サイクルで追加される仮想 CPU の最大数は 1 であることを指定します。
decay プロパティーを設定することで、任意の 1 回のリソース制御サイクルで削除される仮想 CPU の最大数は 1 であることを指定します。
priority プロパティーを設定することで、このポリシーの優先順位が 1 であることを指定します。優先順位が 1 であるため、別のポリシーが有効になることが可能であっても、このポリシーが実施されます。
name プロパティーを設定することで、ポリシーファイルの名前が high-usage であることを指定します。
enable や sample-rate など、指定されていないプロパティーではデフォルト値を使用します。ldm(1M) マニュアルページを参照してください。
# ldm add-policy tod-begin=18:00 tod-end=09:00 util-lower=10 util-upper=50 \ vcpu-min=2 vcpu-max=16 attack=1 decay=1 priority=1 name=med-usage ldom1 |
この節では、ldm サブコマンドの構文の使用法、フラグや利用統計情報などの出力項目の定義、および実際と同様の出力例について説明します。
ldm list コマンドの出力を使用するスクリプトを作成する場合は、常に -p オプションを使用してマシンが読み取り可能な形式で出力を生成します。詳細は、「解析可能でマシンが読み取り可能なリストを生成する (-p)」 を参照してください。
ldm のすべてのサブコマンドの構文の使用法を確認します。
primary# ldm --help |
ldm サブコマンドの詳細は、ldm(1M) マニュアルページを参照してください。
ドメインの出力 (ldm list) では、次のフラグを表示できます。コマンドに長形式および解析可能オプション (-l -p) を使用すると、flags=normal,control,vio-service のように、フラグが省略されずに表示されます。このオプションを使用しない場合は、-n-cv- のように略語が表示されます。リストフラグ値は位置に依存します。次に、左から順に 6 つの列のそれぞれに表示される可能性のある値を示します。
列 1
s 起動または停止
- 可変部分
列 2
n 通常
t 切り替え
列 3
d 遅延再構成
- 可変部分
列 4
c 制御ドメイン
- 可変部分
列 5
v 仮想 I/O サービスドメイン
- 可変部分
列 6
s 移行のソースドメイン
t 移行のターゲットドメイン
e 移行時に発生したエラー
- 可変部分
ldm list コマンドの長形式 (-l) オプションでは、仮想 CPU ごとの利用統計情報 (UTIL) が表示されます。この統計情報は、ゲストオペレーティングシステムの代わりに仮想 CPU が実行に費やした時間の割合です。仮想 CPU は、ハイパーバイザに制御が渡される場合を除き、ゲストオペレーティングシステムに代わって実行するものと考えられます。ゲストオペレーティングシステムが仮想 CPU の制御をハイパーバイザに渡さない場合、ゲストオペレーティングシステムの CPU の利用率は常に 100% として表示されます。
論理ドメインについて報告された利用統計情報は、ドメインの仮想 CPU に対する仮想 CPU 利用率の平均です。UTIL 列にダッシュ (---) が表示されている場合、ストランドが電源管理されていることを意味します。
次に示す 1 つ以上の format オプションを入力して、出力をリソースのサブセットとして生成します。1 つ以上の形式を指定する場合、スペースなしでコンマを使用して項目を区切ります。
primary# ldm list -o resource[,resource...] ldom |
console - 出力には、仮想コンソール (vcons) および仮想コンソール端末集配信装置 (vcc) サービスが含まれます。
cpu - 出力には、仮想 CPU (vcpu) および物理 CPU (pcpu) が含まれます。
crypto - 暗号化装置の出力には、モジュラー演算ユニット (mau) と、Control Word Queue (CWQ) など、LDoms がサポートするその他の暗号化装置が含まれます。
disk - 出力には、仮想ディスク (vdisk) および仮想ディスクサーバー (vds) が含まれます。
domain - 出力には、変数 (var)、ホスト ID (hostid)、ドメインの状態、フラグ、およびソフトウェアの状態が含まれます。
memory - 出力には、memory が含まれます。
network - 出力には、メディアアクセス制御 (mac) アドレス、仮想ネットワークスイッチ (vsw)、および仮想ネットワーク (vnet) デバイスが含まれます。
physio - 物理入出力には、Peripheral Component Interconnect (pci) およびネットワークインタフェースユニット (niu) が含まれます。
resmgmt - 出力には、動的資源管理 (DRM) ポリシー情報が含まれます。
serial - 出力には、仮想論理ドメインチャネル (vldc) サービス、仮想論理ドメインチャネルクライアント (vldcc)、仮想データプレーンチャネルクライアント (vdpcc)、仮想データプレーンチャネルサービス (vdpcs) が含まれます。
stats - 出力には、資源管理ポリシーに関連する統計が含まれます。
status - 出力には、進行中のドメインの移行に関する状態情報が含まれます。
次の例に、指定可能なさまざまな出力のサブセットを示します。
制御ドメインの CPU 情報のリスト
# ldm list -o cpu primary |
ゲストドメインのドメイン情報のリスト
# ldm list -o domain ldm2 |
ゲストドメインのメモリーおよびネットワーク情報のリスト
# ldm list -o network,memory ldm1 |
ゲストドメインの DRM ポリシー情報のリスト
# ldm list -o resmgmt,stats ldm1 |
ドメインの変数とその値を表示します。
primary# ldm list-variable variable-name ldom |
たとえば、次のコマンドは、ldg1 ドメインの boot-device 変数の値を表示します。
primary# ldm list-variable boot-device ldg1 boot-device=/virtual-devices@100/channel-devices@200/disk@0:a |
ldm list-config コマンドは、サービスプロセッサに格納されている論理ドメイン構成を一覧表示します。-r オプションとともに使用する場合、このコマンドは、制御ドメインに存在する自動保存ファイルの構成を一覧表示します。
構成の詳細は、「Logical Domains 構成の管理」 を参照してください。ほかの例については、ldm(1M) マニュアルページを参照してください。
primary# ldm list-config factory-default 3guests foo [next poweron] primary reconfig-primary |
構成名の右にあるラベルの意味は、次のとおりです。
[current] - 最後に起動された構成。これは、現在動作している構成に一致する間、つまり再構成を開始するまでの間のみ表示されます。再構成を行なったあとは、注釈が [next poweron] に変更されます。
[next poweron] - 次回電源を再投入するときに使用される構成。
Logical Domains Manager に対する制約とは、特定のドメインに割り当てられる 1 つ以上のリソースです。使用可能なリソースに応じて、ドメインに追加するように要求したすべてのリソースを受け取るか、まったく受け取らないかのいずれかです。list-constraints サブコマンドは、ドメインに割り当てるように要求したリソースを一覧表示します。