Logical Domains 1.3 管理ガイド

第 11 章 その他の管理タスクの実行

この章では、ここまでの章では説明していない Logical Domains ソフトウェアの使用に関する情報とタスクについて説明します。

この章の内容は次のとおりです。

CLI での名前の入力

次の節では、Logical Domains Manager CLI で名前を入力する場合の制限について説明します。

ファイル名 (file) と変数名 (var-name)

仮想ディスクサーバー backend および仮想スイッチデバイス名

名前は、英字、数字、または句読点を含む必要があります。

構成名 (config-name)

サービスプロセッサ (SP) に格納されている構成に割り当てる論理ドメイン構成名 (config-name) は、64 文字以下である必要があります。

その他のすべての名前

論理ドメイン名 (ldom)、サービス名 (vswitch-nameservice-namevdpcs-service-name、および vcc-name)、仮想ネットワーク名 (if-name)、仮想ディスク名 (disk-name) など、その他の名前は、次の形式である必要があります。

ネットワークを介したゲストコンソールへの接続

vntsd(1M) の SMF マニフェストで listen_addr プロパティーが制御ドメインの IP アドレスに設定されている場合は、ネットワークを介してゲストコンソールに接続できます。次に例を示します。


$ telnet host-name 5001

注 –

コンソールへのネットワークアクセスを有効にすることには、セキュリティー上の問題があります。すべてのユーザーがコンソールに接続できるようになるため、デフォルトではこの設定は無効になっています。


サービス管理機能マニフェストは、サービスが記述された XML ファイルです。SMF マニフェストの作成については、「Solaris 10 System Administrator Collection」を参照してください。


注 –

コンソールを使用してゲストドメインの英語版以外の OS にアクセスするには、コンソールの端末が、その OS が必要とするロケールになっている必要があります。


コンソールグループの使用

仮想ネットワーク端末サーバーデーモン vntsd(1M) を使用すると、1 つの TCP ポートを使用して複数のドメインのコンソールにアクセスできるようになります。Logical Domains Manager は、ドメインの作成時に、そのドメインのコンソール用の新しいデフォルトグループを作成することにより、各コンソールに一意の TCP ポートを割り当てます。TCP ポートは、コンソール自体ではなくコンソールグループに割り当てられます。コンソールは、set-vcons サブコマンドを使用して既存のグループにバインドできます。

Procedure複数のコンソールを 1 つのグループにまとめる

  1. ドメインのコンソールを 1 つのグループにバインドします。

    次の例では、3 つの異なるドメイン (ldg1ldg2ldg3) のコンソールを同じコンソールグループ (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
    
  2. 関連付けられた TCP ポート (この例ではポート 5000localhost) に接続します。


    # telnet localhost 5000
    primary-vnts-group1: h, l, c{id}, n{name}, q:

    いずれかのドメインコンソールの選択を求めるプロンプトが表示されます。

  3. 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) マニュアルページを参照してください。


負荷が大きいドメインの停止処理がタイムアウトする可能性

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 OS の操作

この節では、Logical Domains Manager によって作成された構成がインスタンス化されるときに発生する、Solaris OS を使用した場合の動作の変更について説明します。

Solaris OS の起動後に OpenBoot ファームウェアを使用できない

Solaris OS を起動したあとに OpenBoot ファームウェアを使用できません。これは、OpenBoot ファームウェアがメモリーから削除されるためです。

Solaris OS から ok プロンプトを表示するには、ドメインを停止する必要があります。Solaris OS の halt コマンドを使用すると、ドメインを停止することができます。

サーバーの電源の再投入

LDoms ソフトウェアを実行しているシステムでサーバーの電源の再投入を必要とする保守作業を行うときは常に、最初に現在の論理ドメイン構成を SP に保存する必要があります。

Procedure現在の論理ドメイン構成を SP に保存する

  1. 次のコマンドを使用します。


    # ldm add-config config-name
    

電源管理されているドメインのアクティブな CPU での psradm(1M) コマンドの使用禁止

電源管理されているドメインのアクティブな CPU の動作状態を、psradm(1M) コマンドを使用して変更しようとしないでください。

Solaris OS のブレークの結果

    この節で説明する動作は、次の処理を行なった場合に発生します。

  1. 入力デバイスが keyboard に設定されているときに、L1-A キーシーケンスを押した場合。

  2. 仮想コンソールが telnet プロンプトにあるときに、send break コマンドを入力した場合。

これらのタイプのブレーク後に次のプロンプトが表示されます。


c)ontinue, s)ync, r)eset, h)alt?

これらのタイプのブレーク後のシステムの動作を表す文字を入力します。

制御ドメインの停止または再起動の結果

次の表に、制御 (primary) ドメインの停止時または再起動時に予想される動作を示します。

表 11–1 制御 (primary) ドメインの停止または再起動時に予想される動作

コマンド 

他のドメインが構成されているか 

動作 

halt

未構成 

ホストの電源が切断され、SP で電源が投入されるまで切断されたままです。 

 

構成 

変数 auto-boot? が true である場合は、ソフトリセットが行われて起動します。変数 auto-boot? が false である場合は、ソフトリセットが行われて ok プロンプトで停止します。

reboot

未構成 

ホストを再起動し、電源は切断されません。 

 

構成 

ホストを再起動し、電源は切断されません。 

shutdown -i 5

未構成 

ホストの電源が切断され、SP で電源が投入されるまで切断されたままです。 

 

構成 

ソフトリセットが行われて再起動します。 

LDoms とサービスプロセッサの使用

この節では、Integrated Lights Out Manager (ILOM) サービスプロセッサ (SP) を Logical Domains Manager とともに使用する場合の注意事項について説明します。ILOM ソフトウェアの使用については、使用しているプラットフォーム固有のドキュメントを参照してください。たとえば、Sun SPARC Enterprise T5120 および T5220 サーバーの場合は、『Sun SPARC Enterprise T5120 and T5220 Servers Topic Set』 を参照してください。

既存の ILOM コマンドに、オプションを 1 つ追加できます。


-> set /HOST/bootmode config=config-name

config=config-name オプションを使用すると、次回の電源投入時の構成を出荷時構成 (factory-default) などの別の構成に設定できます。

ホストの電源が投入されているか切断されているかにかかわらず、このコマンドを実行できます。次回のホストリセットまたは電源投入時に有効になります。

Procedure論理ドメインの構成をデフォルトまたは別の構成にリセットする

  1. 次のコマンドを実行して、次回の電源投入時に論理ドメインの構成をデフォルトの出荷時構成にリセットします。


    -> set /HOST/bootmode config=factory-default
    

    また、ldm add-config コマンドを使用して Logical Domains Manager で作成され、サービスプロセッサ (SP) に保存されているほかの構成を選択することもできます。Logical Domains Manager の ldm add-config コマンドで指定する名前は、ILOM の bootmode コマンドで構成を選択する際に使用できます。たとえば、ldm-config1 という名前の構成が保存されているとすると、次のように指定します。


    -> set /HOST/bootmode config=ldm-config1
    

    この場合、システムの電源を切ってすぐに入れ直し、新しい設定をロードする必要があります。

    ldm add-config コマンドの詳細は、ldm(1M) マニュアルページを参照してください。

ドメインの依存関係の構成

Logical Domains Manager を使用して、ドメイン間の依存関係を確立できます。依存する 1 つ以上のドメインを持つドメインは、マスタードメインと呼ばれます。別のドメインに依存するドメインは、スレーブドメインと呼ばれます。

master プロパティーを設定することによって、各スレーブドメインに最大 4 つのマスタードメインを指定できます。たとえば、次に示すコンマで区切られたリストでは、pine スレーブドメインに 4 つのマスタードメインを指定しています。


# ldm add-domain master=apple,lemon,orange,peach pine

各マスタードメインには、マスタードメインに障害が発生した場合のスレーブドメインの動作を指定できます。たとえば、マスタードメインに障害が発生した場合、そのスレーブドメインでパニックを発生させる必要があることがあります。1 つのスレーブドメインに複数のマスタードメインが指定されている場合、最初のマスタードメインに障害が発生すると、そのすべてのスレーブドメインに対して定義済みの障害ポリシーがトリガーされます。


注 –

複数のマスタードメインに同時に障害が発生した場合、指定された障害ポリシーのうち 1 つのみが、影響を受けるすべてのスレーブドメインに対して実施されます。たとえば、障害が発生したマスタードメインに stop および panic という障害ポリシーが定義されている場合、すべてのスレーブドメインが停止するか、パニックが発生します。


マスタードメインの障害ポリシーは、failure-policy プロパティーに次のいずれかの値を設定することによって制御できます。

この例では、マスタードメインの障害ポリシーが次のように指定されています。


# ldm set-domain failure-policy=ignore apple
# ldm set-domain failure-policy=panic lemon
# ldm set-domain failure-policy=reset orange
# ldm set-domain failure-policy=stop peach

このメカニズムを使用して、ドメイン間の明示的な依存関係を作成できます。たとえば、ゲストドメインが、サービスドメインに暗黙に依存し、その仮想デバイスを提供しているとします。ゲストドメインが依存しているサービスドメインが実行されていない場合、ゲストドメインの入出力はブロックされます。ゲストドメインをサービスドメインのスレーブドメインとして定義することによって、サービスドメインが停止した場合のゲストドメインの動作を指定できます。このような依存関係が確立されていない場合、ゲストドメインはサービスドメインが使用可能になるのを待機します。


注 –

Logical Domains Manager では、依存サイクルが生じるようなドメイン関係を作成することはできません。詳細は、「依存サイクル」 を参照してください。


ドメインの依存関係の XML の例は、例 12–6 を参照してください。

ドメインの依存関係の例

次の例は、ドメインの依存関係を構成する方法を示します。

依存サイクル

Logical Domains Manager では、依存サイクルが生じるようなドメイン関係を作成することはできません。依存サイクルとは、スレーブドメインが自身に依存したり、マスタードメインがそのスレーブドメインのいずれかに依存したりすることになる、2 つ以上のドメイン間の関係です。

Logical Domains Manager は、依存関係を追加する前に、依存サイクルが存在しないかを判断します。Logical Domains Manager は、まずスレーブドメインについて、マスター配列によって指定されたすべてのパスを最初から最後まで検索します。途中で依存サイクルが見つかると、エラーとして報告されます。

次の例は、依存サイクルがどのように作成されるかを示します。最初のコマンドは、mohawk というスレーブドメインを作成します。このドメインは、マスタードメインに primary を指定します。その結果、mohawk は、次のような依存関係の連鎖で primary に依存します。

図 11–1 単一のドメインの依存関係

この図は、mohawk ドメインがマスタードメインである primary に依存する、ドメインの依存関係の連鎖を示しています。

2 つめのコマンドは、primary というスレーブドメインを作成します。このドメインは、マスタードメインに counter を指定します。その結果、次のような依存関係の連鎖で、mohawkprimary に依存し、primary が counter に依存します。

図 11–2 複数のドメインの依存関係

この図は、mohawk が primary に依存し、primary が counter に依存する、ドメインの依存関係の連鎖を示しています。

3 つめのコマンドは、counter ドメインと mohawk ドメインとの間に依存関係の作成を試みます。これによって、次のような依存サイクルが生成されます。

図 11–3 ドメインの依存サイクル

この図は、mohawk が primary に依存し、primary が counter に依存し、counter が mohawk に依存する、ドメインの依存サイクルを示しています。

次のエラーメッセージが表示されて ldm set-domain コマンドが失敗します。


# ldm add-domain master=primary mohawk
# ldm set-domain master=counter primary
# ldm set-domain master=mohawk counter
Dependency cycle detected: LDom "counter" indicates "primary" as its master

CPU およびメモリーアドレスのマッピングによるエラー発生箇所の確認

この節では、Solaris の障害管理アーキテクチャー (FMA) によって報告される情報と、障害の発生が示されている論理ドメインリソースを関係付ける方法について説明します。

FMA では、物理 CPU 番号に関する CPU エラーと、物理メモリーアドレスに関するメモリーエラーを報告します。

エラーが発生した論理ドメインと、そのドメイン内の対応する仮想 CPU 番号または実メモリーアドレスを確認する場合は、マッピングを実行する必要があります。

CPU マッピング

ドメインとそのドメイン内の仮想 CPU 番号は、特定の物理 CPU 番号に対応しており、次の手順を使用して確認できます。

ProcedureCPU 番号を確認する

  1. すべてのドメインの解析可能な長形式のリストを生成します。


    primary# ldm list -l -p
    
  2. リストの VCPU セクションで、物理 CPU 番号に等しい pid フィールドを持つエントリを探します。

    • このようなエントリが見つかった場合、CPU はそのエントリが表示されたドメインに存在し、そのドメイン内の仮想 CPU 番号がエントリの vid フィールドに指定されています。

    • このようなエントリが見つからない場合、CPU はどのドメインにも存在しません。

メモリーのマッピング

ドメインとそのドメイン内の実メモリーアドレスは、特定の物理メモリーアドレス (PA) に対応しており、次のように確認できます。

Procedure実メモリーアドレスを確認する

  1. すべてのドメインの解析可能な長形式のリストを生成します。


    primary# ldm list -l -p
    
  2. リストの MEMORY セクションの行を探します。この場合、PA は pa から (pa + size - 1) の包括範囲内にあります。つまり、pa <= PA < (pa + size - 1) です。

    ここでの pasize は、その行の対応するフィールドの値を指します。

    • このようなエントリが見つかった場合、PA はそのエントリが表示されたドメインに存在し、そのドメイン内の対応する実アドレスが ra + (PA - pa) によって求められます。

    • このようなエントリが見つからない場合、PA はどのドメインにも存在しません。

CPU およびメモリーのマッピングの例

例 11–1 に示すような論理ドメインの構成があり、物理 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 です。


例 11–1 論理ドメイン構成の解析可能な長形式のリスト


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
...
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
...
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
...