この章では、ここまでの章では説明していない 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.2) では、ベースとなるプラットフォームに 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 Manager CLI で名前を入力する場合の制限について説明します。
最初の文字は、英字、数字、またはスラッシュ (/) である必要があります。
以降の文字は、英字、数字、または句読点である必要があります。
名前は、英字、数字、または句読点を含む必要があります。
サービスプロセッサ (SP) に格納されている構成に割り当てる論理ドメイン構成名 (config-name) は、64 文字以下である必要があります。
論理ドメイン名 (ldom)、サービス名 (vswitch-name、service-name、vdpcs-service-name、および vcc-name)、仮想ネットワーク名 (if-name)、仮想ディスク名 (disk-name) など、その他の名前は、次の形式である必要があります。
最初の文字は、英字または数字である必要があります。
以降の文字は、英字、数字、または「-_+#.:;~()」のいずれかの文字である必要があります。
この節では、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 列にダッシュ (---) が表示されている場合、ストランドが電源管理されていることを意味します。
実際の出力は、ここに示す出力とは少し異なる場合があります。
primary# ldm -V Logical Domain Manager (v 1.2) Hypervisor control protocol v 1.3 Using Hypervisor MD v 0.1 System PROM: Hypervisor v. 1.7.0. @(#)Hypervisor 1.7.0. 2008/11/19 10:20 OpenBoot v. 4.30.0. @(#)OBP 4.30.0. 2008/11/18 13:44 |
primary# ldm list NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME primary active -t-cv 4 1G 0.5% 3d 21h 7m ldg1 active -t--- 5000 8 1G 23% 2m |
primary# ldm list -l NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME primary active -t-cv 1 768M 0.0% 0s VCPU VID PID UTIL STRAND 0 0 0.0% 100% MEMORY RA PA SIZE 0x4000000 0x4000000 768M IO DEVICE PSEUDONYM OPTIONS pci@780 bus_a pci@7c0 bus_b bypass=on VCC NAME PORT-RANGE vcc0 5000-5100 VSW NAME MAC NET-DEV DEVICE MODE vsw0 08:00:20:aa:bb:e0 e1000g0 switch@0 prog,promisc vsw1 08:00:20:aa:bb:e1 routed VDS NAME VOLUME OPTIONS DEVICE vds0 myvol-a slice /disk/a myvol-b /disk/b myvol-c ro,slice,excl /disk/c vds1 myvol-d /disk/d VDPCS NAME vdpcs0 vdpcs1 ------------------------------------------------------------------------------ NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME ldg1 bound ----- 5000 1 512M VCPU VID PID UTIL STRAND 0 1 100% MEMORY RA PA SIZE 0x4000000 0x34000000 512M NETWORK NAME SERVICE DEVICE MAC mynet-b vsw0@primary network@0 08:00:20:ab:9a:12 mynet-a vsw0@primary network@1 08:00:20:ab:9a:11 DISK NAME VOLUME DEVICE SERVER mydisk-a myvol-a@vds0 disk@0 primary mydisk-b myvol-b@vds0 disk@1 primary VDPCC NAME SERVICE myvdpcc-a vdpcs0@primary myvdpcc-b vdpcs0@primary VCONS NAME SERVICE PORT mygroup vcc0@primary 5000 |
primary# ldm list -e NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME primary active -t-cv 1 768M 0.0% 0s 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% MEMORY RA PA SIZE 0x4000000 0x4000000 768M IO DEVICE PSEUDONYM OPTIONS pci@780 bus_a pci@7c0 bus_b bypass=on VLDC NAME primary VCC NAME PORT-RANGE vcc0 5000-5100 VSW NAME MAC NET-DEV DEVICE MODE vsw0 08:00:20:aa:bb:e0 e1000g0 switch@0 prog,promisc vsw1 08:00:20:aa:bb:e1 routed VDS NAME VOLUME OPTIONS DEVICE vds0 myvol-a slice /disk/a myvol-b /disk/b myvol-c ro,slice,excl /disk/c vds1 myvol-d /disk/d VDPCS NAME vdpcs0 vdpcs1 VLDCC NAME SERVICE DESC hvctl primary@primary hvctl vldcc0 primary@primary ds ------------------------------------------------------------------------------ NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME ldg1 bound ----- 5000 1 512M VCPU VID PID UTIL STRAND 0 1 100% MEMORY RA PA SIZE 0x4000000 0x34000000 512M VLDCC NAME SERVICE DESC vldcc0 primary@primary ds NETWORK NAME SERVICE DEVICE MAC mynet-b vsw0@primary network@0 08:00:20:ab:9a:12 mynet-a vsw0@primary network@1 08:00:20:ab:9a:11 DISK NAME VOLUME DEVICE SERVER mydisk-a myvol-a@vds0 disk@0 primary mydisk-b myvol-b@vds0 disk@1 primary VDPCC NAME SERVICE myvdpcc-a vdpcs0@primary myvdpcc-b vdpcs0@primary VCONS NAME SERVICE PORT mygroup vcc0@primary 5000 |
primary# ldm list -p VERSION 1.0 DOMAIN|name=primary|state=active|flags=-t-cv|cons=|ncpu=1|mem=805306368|util=0.0|uptime=0 DOMAIN|name=ldg1|state=bound|flags=-----|cons=5000|ncpu=1|mem=536870912|util=|uptime= |
次に示す 1 つ以上の format オプションを入力して、出力をリソースのサブセットとして生成します。1 つ以上の形式を指定する場合、スペースなしでコンマを使用して項目を区切ります。
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) が含まれます。
serial - 出力には、仮想論理ドメインチャネル (vldc) サービス、仮想論理ドメインチャネルクライアント (vldcc)、仮想データプレーンチャネルクライアント (vdpcc)、仮想データプレーンチャネルサービス (vdpcs) が含まれます。
status - 出力には、進行中のドメインの移行に関する状態情報が含まれます。
次の例に、指定可能なさまざまな出力のサブセットを示します。
# ldm list -o cpu primary NAME primary VCPU VID PID UTIL STRAND 0 0 1.0% 100% 1 1 0.6% 100% 2 2 0.2% 100% 3 3 0.5% 100% |
# ldm list -o domain ldm2 NAME STATE FLAGS ldm2 active -t--- SOFTSTATE Openboot initializing VARIABLES auto-boot?=false boot-device=/virtual-devices@100/channel-devices@200/disk@0 |
# ldm list -o network,memory ldm1 NAME ldm1 MAC 00:14:4f:f9:dd:ae MEMORY RA PA SIZE 0x6800000 0x46800000 1500M NETWORK NAME SERVICE DEVICE MAC MODE PVID VID ldm1-network0 primary-vsw0@primary network@0 00:14:4f:fb:21:0f 1 |
primary# ldm list-variable boot-device ldg1 boot-device=/virtual-devices@100/channel-devices@200/disk@0:a |
primary# ldm list-bindings ldg1 NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME ldg1 bound ----- 5000 1 512M VCPU VID PID UTIL STRAND 0 1 100% MEMORY RA PA SIZE 0x4000000 0x34000000 512M NETWORK NAME SERVICE DEVICE MAC mynet-b vsw0@primary network@0 08:00:20:ab:9a:12 PEER MAC vsw0@primary 08:00:20:aa:bb:e0 mynet-a@ldg1 08:00:20:ab:9a:11 mynet-c@ldg2 08:00:20:ab:9a:22 NAME SERVICE DEVICE MAC mynet-a vsw0@primary network@1 08:00:20:ab:9a:11 PEER MAC vsw0@primary 08:00:20:aa:bb:e0 mynet-b@ldg1 08:00:20:ab:9a:12 mynet-c@ldg2 08:00:20:ab:9a:22 DISK NAME VOLUME DEVICE SERVER mydisk-a myvol-a@vds0 disk@0 primary mydisk-b myvol-b@vds0 disk@1 primary VDPCC NAME SERVICE myvdpcc-a vdpcs0@primary myvdpcc-b vdpcs0@primary VCONS NAME SERVICE PORT mygroup vcc0@primary 5000 |
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] - 次回電源を再投入するときに使用される構成。
primary# ldm list-devices -a VCPU PID %FREE PM 0 0 NO 1 0 YES 2 0 YES 3 0 YES 4 100 --- 5 100 --- 6 100 --- 7 100 --- 8 100 --- 9 100 --- 10 100 --- 11 100 --- 12 100 --- 13 100 --- 14 100 --- 15 100 --- 16 100 --- 17 100 --- 18 100 --- 19 100 --- 20 100 --- 21 100 --- 22 100 --- 23 100 --- 24 100 --- 25 100 --- 26 100 --- 27 100 --- 28 100 --- 29 100 --- 30 100 --- 31 100 --- MAU CPUSET BOUND (0, 1, 2, 3) ldg2 (4, 5, 6, 7) (8, 9, 10, 11) (12, 13, 14, 15) (16, 17, 18, 19) (20, 21, 22, 23) (24, 25, 26, 27) (28, 29, 30, 31) MEMORY PA SIZE BOUND 0x0 512K _sys_ 0x80000 1536K _sys_ 0x200000 62M _sys_ 0x4000000 768M primary 0x34000000 512M ldg1 0x54000000 8M _sys_ 0x54800000 2G ldg2 0xd4800000 29368M IO DEVICE PSEUDONYM BOUND OPTIONS pci@780 bus_a yes pci@7c0 bus_b yes bypass=on |
primary# ldm list-services VDS NAME VOLUME OPTIONS DEVICE primary-vds0 VCC NAME PORT-RANGE primary-vcc0 5000-5100 VSW NAME MAC NET-DEV DEVICE MODE primary-vsw0 00:14:4f:f9:68:d0 e1000g0 switch@0 prog,promisc |
Logical Domains Manager に対する制約とは、特定のドメインに割り当てられる 1 つ以上のリソースです。使用可能なリソースに応じて、ドメインに追加するように要求したすべてのリソースを受け取るか、まったく受け取らないかのいずれかです。list-constraints サブコマンドは、ドメインに割り当てるように要求したリソースを一覧表示します。
primary# ldm list-constraints ldg1 DOMAIN ldg1 VCPU COUNT 1 MEMORY SIZE 512M NETWORK NAME SERVICE DEVICE MAC mynet-b vsw0 network@0 08:00:20:ab:9a:12 mynet-b vsw0 network@0 08:00:20:ab:9a:12 DISK NAME VOLUME mydisk-a myvol-a@vds0 mydisk-b myvol-b@vds0 VDPCC NAME SERVICE myvdpcc-a vdpcs0@primary myvdpcc-b vdpcs0@primary VCONS NAME SERVICE mygroup vcc0 |
primary# ldm list-constraints -x ldg1 <?xml version="1.0"?> <LDM_interface version="1.0"> <data version="2.0"> <ldom> <ldom_info> <ldom_name>ldg1</ldom_name> </ldom_info> <cpu> <number>8</number> </cpu> <memory> <size>1G</size> </memory> <network> <vnet_name>vnet0</vnet_name> <service_name>primary-vsw0</service_name> <mac_address>01:14:4f:fa:0f:55</mac_address> </network> <disk> <vdisk_name>vdisk0</vdisk_name> <service_name>primary-vds0</service_name> <vol_name>vol0</vol_name> </disk> <var> <name>boot-device</name> <value>/virtual-devices@100/channel-devices@200/disk@0:a</value> </var> <var> <name>nvramrc</name> <value>devalias vnet0 /virtual-devices@100/channel-devices@200/network@0</value> </var> <var> <name>use-nvramrc?</name> <value>true</value> </var> </ldom> </data> </LDM_interface> |
primary# ldm list-constraints -p VERSION 1.0 DOMAIN|name=primary MAC|mac-addr=00:03:ba:d8:b1:46 VCPU|count=4 MEMORY|size=805306368 IO |dev=pci@780|alias= |dev=pci@7c0|alias= VDS|name=primary-vds0 |vol=disk-ldg2|opts=|dev=/ldoms/nv72-ldg2/disk |vol=vol0|opts=|dev=/ldoms/nv72-ldg1/disk VCC|name=primary-vcc0|port-range=5000-5100 VSW|name=primary-vsw0|mac-addr=|net-dev=e1000g0|dev=switch@0 DOMAIN|name=ldg1 VCPU|count=8 MEMORY|size=1073741824 VARIABLES |boot-device=/virtual-devices@100/channel-devices@200/disk@0:a |nvramrc=devalias vnet0 /virtual-devices@100/channel-devices@200/network@0 |use-nvramrc?=true VNET|name=vnet0|dev=network@0|service=primary-vsw0|mac-addr=01:14:4f:fa:0f:55 VDISK|name=vdisk0|vol=vol0@primary-vds0 |
vntsd(1M) の SMF マニフェストで listen_addr プロパティーが制御ドメインの IP アドレスに設定されている場合は、ネットワークを介してゲストコンソールに接続できます。次に例を示します。
$ telnet host-name 5001 |
コンソールへのネットワークアクセスを有効にすることには、セキュリティー上の問題があります。すべてのユーザーがコンソールに接続できるようになるため、デフォルトではこの設定は無効になっています。
サービス管理機能マニフェストは、サービスが記述された XML ファイルです。SMF マニフェストの作成については、「Solaris 10 System Administrator Collection」を参照してください。
コンソールを使用してゲストドメインの英語版以外の OS にアクセスするには、コンソールの端末が、その OS が必要とするロケールになっている必要があります。
ldm stop-domain コマンドは、ドメインが完全に停止する前にタイムアウトする可能性があります。このような状況が発生すると、Logical Domains Manager によって次のようなエラーが返されます。
LDom ldg8 stop notification failed |
しかし、ドメインが停止要求をまだ処理している可能性があります。ldm list-domain コマンドを使用して、ドメインの状態を確認します。次に例を示します。
# ldm list-domain ldg8 NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME ldg8 active s---- 5000 22 3328M 0.3% 1d 14h 31m |
前述のリストには、ドメインがアクティブと表示されていますが、s フラグはドメインが停止処理中であることを示しています。これは、一時的な状態であるはずです。
次の例は、ドメインがすでに停止していることを示しています。
# ldm list-domain ldg8 NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME ldg8 bound ----- 5000 22 3328M |
この節では、Solaris の障害管理アーキテクチャー (FMA) によって報告される情報と、障害の発生が示されている論理ドメインリソースを関係付ける方法について説明します。
FMA では、物理 CPU 番号に関する CPU エラーと、物理メモリーアドレスに関するメモリーエラーを報告します。
エラーが発生した論理ドメインと、そのドメイン内の対応する仮想 CPU 番号または実メモリーアドレスを確認する場合は、マッピングを実行する必要があります。
ドメインとそのドメイン内の仮想 CPU 番号は、特定の物理 CPU 番号に対応しており、次の手順を使用して確認できます。
すべてのドメインの解析可能な長形式のリストを生成します。
primary# ldm list -l -p |
リストの VCPU セクションで、物理 CPU 番号に等しい pid フィールドを持つエントリを探します。
ドメインとそのドメイン内の実メモリーアドレスは、特定の物理メモリーアドレス (PA) に対応しており、次のように確認できます。
すべてのドメインの解析可能な長形式のリストを生成します。
primary# ldm list -l -p |
リストの MEMORY セクションの行を探します。この場合、PA は pa から (pa + size - 1) の包括範囲内にあります。つまり、pa <= PA < (pa + size - 1) です。
ここでの pa と size は、その行の対応するフィールドの値を指します。
例 9–17 に示すような論理ドメインの構成があり、物理 CPU 番号 5 に対応するドメインと仮想 CPU、および物理アドレス 0x7e816000 に対応するドメインと実アドレスを確認すると仮定します。
リストで pid フィールドが 5 である VCPU エントリを探すと、論理ドメイン ldg1 の下に次のエントリが見つかります。
|vid=1|pid=5|util=29|strand=100 |
したがって、物理 CPU 番号 5 はドメイン ldg1 に存在し、そのドメイン内には仮想 CPU 番号 1 があります。
リストの MEMORY エントリを探すと、ドメイン ldg2 の下に次のエントリが見つかります。
ra=0x8000000|pa=0x78000000|size=1073741824 |
この場合、0x78000000 <= 0x7e816000 <= (0x78000000 + 1073741824 - 1)、つまり、pa <= PA <= (pa + size - 1) となります。したがって、PA はドメイン ldg2 にあり、対応する実アドレスは 0x8000000 + (0x7e816000 - 0x78000000) = 0xe816000 です。
primary# ldm list -l -p VERSION 1.0 DOMAIN|name=primary|state=active|flags=normal,control,vio-service|cons=SP|ncpu=4|mem=1073741824|util=0.6| uptime=64801|softstate=Solaris running VCPU |vid=0|pid=0|util=0.9|strand=100 |vid=1|pid=1|util=0.5|strand=100 |vid=2|pid=2|util=0.6|strand=100 |vid=3|pid=3|util=0.6|strand=100 MEMORY |ra=0x8000000|pa=0x8000000|size=1073741824 IO |dev=pci@780|alias=bus_a |dev=pci@7c0|alias=bus_b VDS|name=primary-vds0|nclients=2 |vol=disk-ldg1|opts=|dev=/opt/ldoms/testdisk.1 |vol=disk-ldg2|opts=|dev=/opt/ldoms/testdisk.2 VCC|name=primary-vcc0|nclients=2|port-range=5000-5100 VSW|name=primary-vsw0|nclients=2|mac-addr=00:14:4f:fb:42:5c|net-dev=e1000g0|dev=switch@0|mode=prog,promisc VCONS|type=SP DOMAIN|name=ldg1|state=active|flags=normal|cons=5000|ncpu=2|mem=805306368|util=29|uptime=903| softstate=Solaris running VCPU |vid=0|pid=4|util=29|strand=100 |vid=1|pid=5|util=29|strand=100 MEMORY |ra=0x8000000|pa=0x48000000|size=805306368 VARIABLES |auto-boot?=true |boot-device=/virtual-devices@100/channel-devices@200/disk@0 VNET|name=net|dev=network@0|service=primary-vsw0@primary|mac-addr=00:14:4f:f9:8f:e6 VDISK|name=vdisk-1|vol=disk-ldg1@primary-vds0|dev=disk@0|server=primary VCONS|group=group1|service=primary-vcc0@primary|port=5000 DOMAIN|name=ldg2|state=active|flags=normal|cons=5001|ncpu=3|mem=1073741824|util=35|uptime=775| softstate=Solaris running VCPU |vid=0|pid=6|util=35|strand=100 |vid=1|pid=7|util=34|strand=100 |vid=2|pid=8|util=35|strand=100 MEMORY |ra=0x8000000|pa=0x78000000|size=1073741824 VARIABLES |auto-boot?=true |boot-device=/virtual-devices@100/channel-devices@200/disk@0 VNET|name=net|dev=network@0|service=primary-vsw0@primary|mac-addr=00:14:4f:f9:8f:e7 VDISK|name=vdisk-2|vol=disk-ldg2@primary-vds0|dev=disk@0|server=primary VCONS|group=group2|service=primary-vcc0@primary|port=5000 |
仮想ネットワーク端末サーバーデーモン vntsd(1M) を使用すると、1 つの TCP ポートを使用して複数のドメインのコンソールにアクセスできるようになります。Logical Domains Manager は、ドメインの作成時に、そのドメインのコンソール用の新しいデフォルトグループを作成することにより、各コンソールに一意の TCP ポートを割り当てます。TCP ポートは、コンソール自体ではなくコンソールグループに割り当てられます。コンソールは、set-vcons サブコマンドを使用して既存のグループにバインドできます。
ドメインのコンソールを 1 つのグループにバインドします。
次の例では、3 つの異なるドメイン (ldg1、ldg2、ldg3) のコンソールを同じコンソールグループ (group1) にバインドします。
primary# ldm set-vcons group=group1 service=primary-vcc0 ldg1 primary# ldm set-vcons group=group1 service=primary-vcc0 ldg2 primary# ldm set-vcons group=group1 service=primary-vcc0 ldg3 |
関連付けられた TCP ポート (この例ではポート 5000 の localhost) に接続します。
# telnet localhost 5000 primary-vnts-group1: h, l, c{id}, n{name}, q: |
いずれかのドメインコンソールの選択を求めるプロンプトが表示されます。
l (list) を選択して、グループ内のドメインを一覧表示します。
primary-vnts-group1: h, l, c{id}, n{name}, q: l DOMAIN ID DOMAIN NAME DOMAIN STATE 0 ldg1 online 1 ldg2 online 2 ldg3 online |
コンソールを別のグループまたは vcc インスタンスに再度割り当てるには、ドメインがバインドされていない状態、つまり、アクティブでない状態である必要があります。vntsd を管理するための SMF の構成と使用法、およびコンソールグループの使用法については、Solaris 10 OS の vntsd(1M) マニュアルページを参照してください。
この節では、Logical Domains Manager によって作成された構成がインスタンス化されるとき、つまり、ドメイン化が有効になるときに発生する、Solaris OS を使用した場合の動作の変更について説明します。
ドメイン化が有効かどうかに関する説明は、Sun UltraSPARC T1 ベースのプラットフォームにのみ関連するものです。それ以外のプラットフォームでは、ドメイン化は常に有効になっています。
Logical Domains Manager によって作成された論理ドメイン構成がインスタンス化されると、ドメイン化は有効になります。ドメイン化が有効な場合には、Solaris OS を起動したあとに OpenBoot ファームウェアを使用できません。これは、OpenBoot ファームウェアがメモリーから削除されるためです。
Solaris OS から ok プロンプトを表示するには、ドメインを停止する必要があります。Solaris OS の halt コマンドを使用すると、ドメインを停止することができます。
LDoms ソフトウェアを実行しているシステムでサーバーの電源の再投入を必要とする保守作業を行うときは常に、最初に現在の論理ドメイン構成を SP に保存する必要があります。
電源管理されているドメインのアクティブな CPU の動作状態を、psradm(1M) コマンドを使用して変更しようとしないでください。この事項は、プラットフォームで電源管理がサポートされている場合にのみ適用されます。
ドメイン化が有効でない場合にブレークが実行されると、通常、Solaris OS は OpenBoot プロンプトに移行します。この節で説明する動作は、次の 2 つの状況で発生します。
入力デバイスが keyboard に設定されているときに、L1-A キーシーケンスを押した場合。
仮想コンソールが telnet プロンプトにあるときに、send break コマンドを入力した場合。
ドメイン化が有効な場合は、これらのタイプのブレーク後に次のプロンプトが表示されます。
c)ontinue, s)ync, r)eset, h)alt? |
これらのタイプのブレーク後のシステムの動作を表す文字を入力します。
次の表に、制御 (primary) ドメインの停止時または再起動時に予想される動作を示します。
ドメイン化が有効かどうかに関する、表 9–1 の質問は、Sun UltraSPARC T1 プロセッサにのみ関連するものです。それ以外のプラットフォームでは、ドメイン化は常に有効になっています。
コマンド |
ドメイン化が有効か |
他のドメインが構成されているか |
動作 |
---|---|---|---|
halt |
無効 |
なし |
Sun UltraSPARC T1 プロセッサの場合: ok プロンプトに移行します。 |
|
有効 |
未構成 |
Sun UltraSPARC T1 プロセッサの場合: システムは、リセットして OpenBoot ok プロンプトに進むか、または次のプロンプトに進みます。 r)eset, o)k prompt, or h)alt? Sun UltraSPARC T2 プロセッサの場合: ホストの電源が切断され、SP で電源が投入されるまで切断されたままです。 |
|
有効 |
構成 |
変数 auto-boot? が true である場合は、ソフトリセットが行われて起動します。変数 auto-boot? が false である場合は、ソフトリセットが行われて ok プロンプトで停止します。 |
reboot |
無効 |
なし |
Sun UltraSPARC T1 プロセッサの場合: ホストの電源が切断され、再投入されます。 |
|
有効 |
未構成 |
Sun UltraSPARC T1 プロセッサの場合: ホストの電源が切断され、再投入されます。 Sun UltraSPARC T2 プロセッサの場合: ホストを再起動し、電源は切断されません。 |
|
有効 |
構成 |
Sun UltraSPARC T1 プロセッサの場合: ホストの電源が切断され、再投入されます。 Sun UltraSPARC T2 プロセッサの場合: ホストを再起動し、電源は切断されません。 |
shutdown -i 5 |
無効 |
なし |
Sun UltraSPARC T1 プロセッサの場合: ホストの電源が切断されます。 |
|
有効 |
未構成 |
ホストの電源が切断され、SP で電源が投入されるまで切断されたままです。 |
|
有効 |
構成 |
ソフトリセットが行われて再起動します。 |
この節では、Advanced Lights Out Manager (ALOM) チップマルチスレッディング (CMT) を Logical Domains Manager とともに使用する場合の注意事項について説明します。ALOM CMT ソフトウェアの使用については、『Advanced Lights Out Management (ALOM) CMT v1.3 ガイド』 を参照してください。
ALOM CMT のドキュメントでは 1 つのドメイン (primary ドメイン) についてのみ説明しています。したがって、Logical Domains 環境では複数のドメインを導入していることに注意する必要があります。たとえば、仮想デバイスサービスをほかのドメインに提供するためのサービスドメインとして、primary ドメインが使用されているとします。この場合、primary ドメインを再起動すると、再起動処理の間は、これらのクライアントドメインが動かなくなっているように見えます。primary ドメインが完全に再起動すると、ドメインは通常の動作を再開します。すべてのドメインを停止する必要があるのは、サーバー全体の電源が切断される場合のみです。
既存の ALOM CMT コマンドでは、追加オプションが使用可能です。
bootmode [normal|reset_nvram|bootscript=strong|config=”config-name”] |
config=”config-name” オプションを使用すると、次回の電源投入時の構成を factory-default 出荷時構成などの別の構成に設定できます。
ホストの電源が投入されているか切断されているかにかかわらず、このコマンドを実行できます。次回のホストリセットまたは電源投入時に有効になります。
ALOM CMT ソフトウェアでこのコマンドを実行して、次回の電源投入時に論理ドメインの構成をデフォルトの出荷時構成にリセットします。
sc> bootmode config=”factory-default” |
また、ldm add-config コマンドを使用して Logical Domains Manager で作成され、サービスプロセッサ (SP) に保存されているほかの構成を選択することもできます。Logical Domains Manager の ldm add-config コマンドで指定した名前を使用して、ALOM CMT の bootmode コマンドでその構成を選択できます。たとえば、ldm-config1 という名前の構成が保存されているとすると、次のように指定します。
sc> bootmode config=”ldm-config1” |
この場合、システムの電源を切ってすぐに入れ直し、新しい設定をロードする必要があります。
ldm add-config コマンドの詳細は、ldm(1M) マニュアルページを参照してください。
Logical Domains 構成とは、単一システム内でのすべてのドメインとそのリソース割り当てをすべて記述したものです。構成は、サービスプロセッサ (SP) に保存および格納し、あとで使用することができます。
システムに電源を投入すると、SP は選択された構成を起動します。特定の構成を起動することで、システムは、同じドメインセットを実行し、その構成に指定されている同じ仮想化およびリソース割り当てのパーティション分割を使用します。デフォルトの構成は、最後に保存された構成です。
Logical Domains 1.2 リリース以降は、Logical Domains 構成が変更された場合は常に、現在の構成のコピーが制御ドメインに自動的に保存されます。
次の状況でも、自動保存処理はただちに行われます。
新しい構成が、SP に明示的に保存されていない場合
実際の構成の変更が、影響を受けるドメインの再起動時まで行われない場合
SP に保存されている構成が失われた場合、この自動保存処理によって構成を回復できます。また、システムの電源再投入時に現在の構成が SP に明示的に保存されなかった場合も、この処理によって構成を回復できます。このような場合、現在の構成が次回の起動時用としてマークされている構成よりも新しければ、Logical Domains Manager は再起動時にこの構成を回復できます。
電源管理、FMA、ASR、および PRI 更新イベントでは、自動保存ファイルは更新されません。
自動保存ファイルは、自動または手動で新規または既存の構成に復元できます。デフォルトでは、自動保存構成が、対応する実行中の構成よりも新しい場合、メッセージが LDoms ログに書き込まれます。したがって、ldm add-spconfig -r コマンドを使用して既存の構成を手動で更新するか、または自動保存データに基づいて新しい構成を作成する必要があります。
遅延再構成が保留中の場合、構成の変更はただちに自動保存されます。そのため、ldm list-config -r コマンドを実行すると、自動保存構成は、現在の構成より新しいものとして表示されます。
ldm *-spconfig コマンドを使用して構成を管理する方法と、自動保存ファイルを手動で回復する方法については、ldm(1M) マニュアルページを参照してください。
ALOM CMT Version 1.3 のコマンドを使用して起動する構成を選択する方法については、「LDoms と ALOM CMT の使用」 を参照してください。
自動回復ポリシーには、制御ドメインに自動的に保存された 1 つの構成が対応する実行中の構成よりも新しい場合に、構成の回復を処理する方法を指定します。自動回復ポリシーを指定するには、ldmd SMF サービスの autorecovery_policy プロパティーを設定します。autorecovery_policy プロパティーには次の値を使用できます。
autorecovery_policy=1 – 自動保存構成が、対応する実行中の構成よりも新しい場合に、警告メッセージをログに記録します。これらのメッセージは、ldmd SMF ログファイルに記録されます。ユーザーは、構成の回復を手動で実行する必要があります。これはデフォルトのポリシーです。
autorecovery_policy=2 – 自動保存構成が、対応する実行中の構成よりも新しい場合に、通知メッセージを表示します。この通知メッセージは、Logical Domains Manager の毎回の再起動後にはじめて ldm コマンドが実行されるときに、ldm コマンドの出力結果中に出力されます。ユーザーは、構成の回復を手動で実行する必要があります。
autorecovery_policy=3 – 自動保存構成が、対応する実行中の構成よりも新しい場合に、構成を自動的に更新します。この処理は、次回の電源の再投入時に使用される SP 構成を上書きします。この構成は、制御ドメインに保存されている、より新しい構成で更新されます。この処理は、現在実行中の構成には影響を与えません。次回の電源再投入時に使用される構成にのみ影響を与えます。メッセージもログに記録されます。このメッセージには、より新しい構成が SP に保存され、次回のシステム電源の再投入時にはその構成が起動されるということが示されます。これらのメッセージは、ldmd SMF ログファイルに記録されます。
制御ドメインでスーパーユーザーになります。
autorecovery_policy プロパティー値を表示します。
# svccfg -s ldmd listprop ldmd/autorecovery_policy |
ldmd サービスを停止します。
# svcadm disable ldmd |
autorecovery_policy プロパティー値を変更します。
# svccfg -s ldmd setprop ldmd/autorecovery_policy=value |
たとえば、自動回復を実行するようにポリシーを設定するには、プロパティー値を 3 に設定します。
# svccfg -s ldmd setprop ldmd/autorecovery_policy=3 |
ldmd サービスを更新して再起動します。
# svcadm refresh ldmd # svcadm enable ldmd |
次の例は、autorecovery_policy プロパティーの現在の値を表示し、その値を新しい値に変更する方法を示しています。このプロパティーの元の値は 1 です。この場合、自動保存の変更はログに記録されます。ldmd サービスの停止および再起動には svcadm コマンド、プロパティー値の表示および設定には svccfg コマンドが使用されます。
# svccfg -s ldmd listprop ldmd/autorecovery_policy ldmd/autorecovery_policy integer 1 # svcadm disable ldmd # svccfg -s ldmd setprop ldmd/autorecovery_policy=3 # svcadm refresh ldmd # svcadm enable ldmd |