この章では、外部ユーザープログラムが Logical Domains ソフトウェアとやり取り可能な eXtensible Markup Language (XML) の通信機構について説明します。ここで取り上げる基本事項は、次のとおりです。
Logical Domains Manager で使用する各種スキーマの詳細は、付録 A XML スキーマ を参照してください
外部プログラムは、eXtensible Messaging and Presence Protocol (XMPP – RFC 3920) を使用して、Logical Domains Manager と通信できます。XMPP は、ローカル接続とリモート接続の両方でサポートされており、デフォルトで有効です。リモート接続を切断するには、ldmd/xmpp_enabled SMF プロパティーを false に設定し、Logical Domains Manager を再起動します。
# svccfg -s ldom/ldmd setprop ldmd/xmpp_enabled=false # svcadm refresh ldmd # svcadm restart ldmd |
Logical Domains Manager は、数多くの利用可能な XMPP クライアントアプリケーションおよびライブラリと通信できる XMPP サーバーを実装しています。LDoms Manager は次のセキュリティー機構を使用しています。
クライアントと LDoms Manager 自身の間の通信チャネルをセキュリティー保護するための Transport Layer Security (TLS)。
認証用の Simple Authentication and Security Layer (SASL)。唯一サポートされている SASL 機構は PLAIN です。監視操作や管理操作を可能にするには、サーバーが承認できるようにユーザー名およびパスワードをサーバーに送信する必要があります。
LDoms Manager は、ユーザークライアントが LDoms Manager 自身と同じドメインで動作しているかどうかを検出し、同じドメインである場合はこのクライアントとの間で最小限の XMPP ハンドシェークを行います。具体的には、TLS を介したセキュアチャネルの設定後の SASL 認証手順がスキップされます。認証および承認は、クライアントインタフェースを実装しているプロセスの資格に基づいて行われます。
クライアントは、フル XMPP クライアントを実装することも、単に libxml2 Simple API for XML (SAX) パーサーなどのストリーミング XML パーサーを実行することも選択できます。いずれの場合も、クライアントは XMPP ハンドシェークを TLS ネゴシエーションまで処理する必要があります。必要な手順については、XMPP の仕様を参照してください。
通信の初期化が完了すると、次に LDoms 定義の XML メッセージが送信されます。XML メッセージには、次の 2 つの一般的なタイプがあります。
<LDM_interface> タグを使用する要求メッセージと応答メッセージ。このタイプの XML メッセージは、コマンドの伝達と、LDoms Manager からの結果の取得に使用されます。これはコマンド行インタフェース (CLI) を使用したコマンドの実行に類似しています。このタグは、イベントの登録および登録解除にも使用されます。
<LDM_event> タグを使用するイベントメッセージ。このタイプの XML メッセージは、LDoms Manager によって送信されたイベントを非同期に報告するために使用されます。
LDoms の XML インタフェースには、次の異なる 2 つの形式があります。
LDoms Manager にコマンドを送信するための形式。
受信メッセージの状態およびこのメッセージ内で要求されている処理に基づいて LDoms Manager が応答するための形式。
この 2 つの形式の XML 構造の多くは共通していますが、両者の違いを理解しやすくするために、ここでは別々に取り扱います。また、このドキュメントには、受信 XML と送信 XML の組み合わせを詳しく記述した XML スキーマも記載します (「LDM_Event XML スキーマ」 を参照)。
LDoms Manager への受信 XML 要求には、もっとも基本的なレベルで、1 つのオブジェクトで動作する 1 つのコマンドの記述が含まれています。要求が複雑になると、1 つのコマンドで複数のコマンドと複数のオブジェクトを処理できます。基本的な XML コマンドの構造は次のとおりです。
<LDM_interface version="1.0"> <cmd> <action>Place command here</action> <option>Place options for certain commands here</option> <data version="3.0"> <Envelope> <References/> <!-- Note a <Section> section can be here instead of <Content> --> <Content xsi:type="ovf:VirtualSystem_Type" id="Domain name"> <Section xsi:type="ovf:ResourceAllocationSection_type"> <Item> <rasd:OtherResourceType>LDom Resource Type</rasd:OtherResourceType> <gprop:GenericProperty key="Property name">Property Value</gprop:GenericProperty> </Item> </Section> <!-- Note: More Sections sections can be placed here --> </Content> </Envelope> </data> <!-- Note: More Data sections can be placed here --> </cmd> <!-- Note: More Commands sections can be placed here --> </LDM_interface> |
LDoms Manager に送信するすべてのコマンドは、<LDM_interface> タグで始まる必要があります。LDoms Manager に送信するドキュメントでは、ドキュメント内に含まれる <LDM_interface> タグは 1 つのみである必要があります。<LDM_interface> タグには、例 12–1 に示すようなバージョン属性が含まれている必要があります。
ドキュメントでは、<LDM_interface> タグ内に 1 つ以上の <cmd> タグが含まれている必要があります。各 <cmd> セクションには、<action> タグを 1 つのみ含める必要があります。この <action> タグは、実行するコマンドを記述するために使用します。各 <cmd> タグに 1 つ以上の <data> タグを含めて、コマンドの処理対象のオブジェクトを記述する必要があります。
また、<cmd> タグには <option> タグも含めることができます。このタグは、一部のコマンドに関連付けられたオプションおよびフラグを指定するために使用されます。次のコマンドにはオプションが使用されます。
remove-domain コマンドには、-a オプションを使用できます。
stop-domain コマンドには、-f オプションを使用できます。
cancel-operation コマンドには、migration または reconf オプションを使用できます。
add-spconfig コマンドには、-r autosave-name オプションを使用できます。
remove-spconfig コマンドには、-r オプションを使用できます。
list-spconfig コマンドには、-r [autosave-name] オプションを使用できます。
各 <data> セクションには、指定したコマンドに関連するオブジェクトの記述を含めます。データセクションの形式は、Open Virtualization Format (OVF) ドラフト仕様の XML スキーマ部分に基づいています。このスキーマは、<References> タグ (LDoms では未使用)、<Content> セクション、および <Section> セクションを含む <Envelope> セクションを定義します。
LDoms の場合、<Content> セクションは、特定のドメインを指定および記述するために使用されます。<Content> ノードの id= 属性に指定するドメイン名で、ドメインが識別されます。<Content> セクション内には、特定のコマンドの必要に応じて、ドメインのリソースを記述するための <Section> セクションが 1 つ以上あります。
ドメイン名を指定するだけの場合は、<Section> タグを使用する必要はありません。逆に、コマンドでドメイン識別子が不要な場合は、そのコマンドで必要となるリソースを記述した <Section> セクションを、<Content> セクションの外側で、<Envelope> セクションの内側の位置に指定する必要があります。
オブジェクト情報が推測可能な場合は、<data> セクションに <Envelope> タグを含める必要はありません。この状況は主に、ある処理に該当するすべてのオブジェクトの監視要求、イベントの登録および登録解除の要求に当てはまります。
OVF 仕様のスキーマを使用して、すべてのタイプのオブジェクトを適切に定義できるように、さらに 2 つの OVF タイプが定義されています。
<gprop:GenericProperty> タグ (「GenericProperty XML スキーマ」 を参照。)
<Binding> タグ (「Binding_Type XML スキーマ」 を参照。)
<gprop:GenericProperty> タグは、OVF 仕様には定義がないオブジェクトのプロパティーを取り扱うために定義されました。プロパティー名はノードの key= 属性に定義され、プロパティーの値はノードの内容になります。<binding> タグは、ほかのリソースにバインドされたリソースを定義するために、list-bindings サブコマンド出力で使用されます。
送信 XML 応答は、含まれているコマンドおよびオブジェクトに関して受信要求と厳密に一致した構造を持ちますが、そのほかに、指定されている各オブジェクトおよび各コマンド用の <Response> セクションと、要求に対する全体の <Response> セクションが追加されています。<Response> セクションでは、例 12–2 に示すような状態およびメッセージ情報が提供されます。基本的な XML 要求に対する応答の構造は、次のとおりです。
<LDM_interface version="1.0"> <cmd> <action>Place command here</action> <data version="3.0"> <Envelope> <References/> <!-- Note a <Section> section can be here instead of <Content> --> <Content xsi:type="ovf:VirtualSystem_Type" id="Domain name"> <Section xsi:type="ovf:ResourceAllocationSection_type"> <Item> <rasd:OtherResourceType> LDom Resource Type </rasd:OtherResourceType> <gprop:GenericProperty key="Property name"> Property Value </gprop:GenericProperty> </Item> </Section> <!-- Note: More <Section> sections can be placed here --> </Content> </Envelope> <response> <status>success or failure</status> <resp_msg>Reason for failure</resp_msg> </response> </data> <!-- Note: More Data sections can be placed here --> <response> <status>success or failure</status> <resp_msg>Reason for failure</resp_msg> </response> </cmd> <!-- Note: More Command sections can be placed here --> <response> <status>success or failure</status> <resp_msg>Reason for failure</resp_msg> </response> </LDM_interface> |
この <response> セクションは、<LDM_interface> セクションの直下の子であり、要求全体の成功または失敗を示します。受信 XML ドキュメントが不正な形式でないかぎり、<response> セクションには、<status> タグだけが含まれます。この応答状態が成功を示している場合、すべてのオブジェクトに対するすべてのコマンドが成功しています。この応答状態が失敗を示し、<resp_msg> タグがない場合は、元の要求内のコマンドのいずれかが失敗しています。<resp_msg> タグは、XML ドキュメント自体の問題を記述する場合にのみ使用されます。
<cmd> セクションの下にある <response> セクションは、特定のコマンドの成功または失敗についてユーザーに通知します。<status> タグは、このコマンドが成功したか失敗したかを示します。全体の応答の場合と同様に、コマンドが失敗した場合で、要求の <cmd> セクションの内容の形式が不正なときは、<response> セクションには <resp_msg> タグのみが含まれます。それ以外の場合の失敗状態は、コマンドが実行されたオブジェクトのいずれかが原因で失敗したことを示しています。
最後に、<cmd> セクション内の各 <data> セクションにも、<response> セクションがあります。ここでは、この特定のオブジェクトで実行されたコマンドが成功したか失敗したかがわかります。応答の状態が SUCCESS の場合、<response> セクション内に <resp_msg> タグはありません。状態が FAILURE の場合、そのオブジェクトでのコマンドの実行時に発生したエラーに応じて、<response> フィールドには 1 つ以上の <resp_msg> タグがあります。オブジェクトエラーは、コマンドの実行時に検出された問題、または不正な形式または不明なオブジェクトが原因で発生する可能性があります。
<response> セクションのほかに、<data> セクションにその他の情報が含まれていることがあります。この情報は、受信 <data> フィールドと同じ形式で、失敗の原因となったオブジェクトを記述しています。「<data> タグ」 を参照してください。この追加情報は、次の場合に特に有用です。
コマンドの実行が、特定の <data> セクションに対して失敗したが、別の <data> セクションに対しては成功した場合
空の <data> セクションがコマンドに渡されて、一部のドメインでは実行に失敗したが、ほかのドメインでは成功した場合
ポーリングの代わりに、特定の状態変化が発生した場合にイベント通知を受信するように登録できます。個々に、または一括して登録できるイベントのタイプは 3 つあります。詳細は、「イベントタイプ」 を参照してください。
イベントを登録するには、<LDM_interface> メッセージを使用します。「<LDM_interface> タグ」 を参照してください。処理タグには登録または登録解除するイベントのタイプを記述し、<data> セクションは空白のままにしておきます。
<LDM_interface version="1.0"> <cmd> <action>reg-domain-events</action> <data version="3.0"/> </cmd> </LDM_interface> |
Logical Domains Manager は、登録または登録解除が成功したかどうかを示す <LDM_interface> 応答メッセージで応答します。
<LDM_interface version="1.0"> <cmd> <action>reg-domain-events</action> <data version="3.0"/> <response> <status>success</status> </response> </data> <response> <status>success</status> </response> </cmd> <response> <status>success</status> </response> </LDM_interface> |
各タイプのイベントの処理文字列は、イベントサブセクションにリストされます。
イベントメッセージの形式は受信 <LDM_interface> メッセージと同じですが、このメッセージの開始タグは <LDM_event> になる点が異なります。メッセージの処理タグは、イベントをトリガーするために実行された処理です。メッセージのデータセクションにはイベントに関連付けられたオブジェクトが記述されます。詳細は、発生したイベントのタイプによって異なります。
<LDM_event version='1.0'> <cmd> <action>Event command here</action> <data version='3.0'> <Envelope <References/> <Content xsi:type='ovf:VirtualSystem_Type' ovf:id='ldg1'/> <Section xsi:type="ovf:ResourceAllocationSection_type"> <Item> <rasd:OtherResourceType>LDom Resource Type</rasd:OtherResourceType> <gprop:GenericProperty key="Property name">Property Value</gprop:GenericProperty> </Item> </Section> </Envelope> </data> </cmd> </LDM_event> |
次に、登録できるイベントのタイプを示します。
ドメインイベント
ハードウェアイベント
進捗イベント
リソースイベント
これらすべてのイベントは、Logical Domains Manager (ldm) サブコマンドに対応しています。
ドメインイベントは、ドメインに直接実行できる処理を記述します。次の表に、<LDM_event> メッセージの <action> タグにリストされる可能性のあるドメインイベントを示します。
ドメインイベント |
ドメインイベント |
ドメインイベント |
---|---|---|
add-domain |
remove-domain |
bind-domain |
unbind-domain |
start-domain |
stop-domain |
domain-reset |
panic-domain |
migrate-domain |
これらのイベントでは、常に、OVF データセクションにイベントが発生したドメインが記述された <Content> タグのみが含まれます。ドメインイベントを登録するには、<action> タグを reg-domain-events に設定した <LDM_interface> メッセージを送信します。これらのイベントの登録を解除するには、処理タグを unreg-domain-events に設定した <LDM_interface> メッセージが必要です。
ハードウェアイベントは、物理的なシステムハードウェアの変更に関係しています。LDoms ソフトウェアの場合、実行できるハードウェア変更は、ユーザーがサービスプロセッサ (SP) 構成の追加、削除、または設定を行う場合の SP への変更だけです。現在、このタイプのイベントは次の 3 つだけです。
add-spconfig
set-spconfig
remove-spconfig
ハードウェアイベントでは、常に、OVF データセクションにイベントが発生している SP 構成が記述された <Section> タグのみが含まれます。これらのイベントを登録するには、<action> タグを reg-hardware-events に設定した <LDM_interface> メッセージを送信します。これらのイベントの登録を解除するには、<action> タグを unreg-hardware-events に設定した <LDM_interface> メッセージが必要です。
進捗イベントは、ドメインの移行など、長時間にわたって実行されるコマンドに対して発行されます。このイベントは、コマンド実行期間中のそれまでの進捗量を報告します。この時点では、migration-process イベントのみが報告されます。
進捗イベントでは、常に、OVF データセクションにイベントの影響を受ける SP 構成が記述された <Section> タグのみが含まれます。 これらのイベントを登録するには、<action> タグを reg-hardware-events に設定した <LDM_interface> メッセージを送信します。これらのイベントの登録を解除するには、<action> タグを unreg-hardware-events に設定した <LDM_interface> メッセージが必要です。
進捗イベントの <data> セクションは、影響を受けるドメインを記述する <content> セクションによって構成されています。この <content> セクションでは、ldom_info <Section> タグを使用して進捗を更新します。次の汎用プロパティーが ldom_info セクションに表示されます。
--progress – コマンドの進捗の割合
--status – コマンドのステータス。ongoing、failed、または done のいずれか
--source – 進捗を報告しているマシン
任意のドメインでリソースを追加、削除、または変更すると、リソースイベントが発生します。これらの一部のイベントのデータセクションには、OVF データセクションにサービス名が示されている <Section> タグがある、<Content> タグが含まれています。次の表に、<LDM_event> メッセージの <action> タグにリスト可能なイベントを示します。
リソースイベント |
リソースイベント |
---|---|
add-vdiskserverdevice |
remove-vdiskserverdevice |
set-vdiskserverdevice |
remove-vdiskserver |
set-vconscon |
remove-vconscon |
set-vswitch |
remove-vswitch |
remove-vdpcs |
|
その他のリソースイベントでは、常に、OVF データセクションにイベントが発生したドメインが記述された <Content> タグのみが含まれます。
リソースイベント |
リソースイベント |
リソースイベント |
---|---|---|
add-vcpu |
add-crypto |
add-memory |
add-io |
add-variable |
add-vconscon |
add-vdisk |
add-vdiskserver |
add-vnet |
add-vswitch |
add-vdpcs |
add-vdpcc |
set-vcpu |
set-crypto |
set-memory |
set-variable |
set-vnet |
set-vconsole |
set-vdisk |
remove-vcpu |
remove-crypto |
remove-memory |
remove-io |
remove-variable |
remove-vdisk |
remove-vnet |
remove-vdpcc |
リソースイベントを登録するには、<action> タグを reg-resource-events に設定した <LDM_interface> メッセージを送信します。これらのイベントの登録を解除するには、<action> タグを unreg-resource-events に設定した <LDM_interface> メッセージが必要です。
各イベントを個別に登録しないで、3 つのタイプすべてのイベントを待機するように登録することもできます。3 タイプすべてのイベントを同時に登録するには、<action> タグを reg-all-events に設定した <LDM_interface> メッセージを送信します。これらのイベントの登録を解除するには、<action> タグを unreg-all-events に設定した <LDM_interface> メッセージが必要です。
<action> タグに指定するコマンドは、*-*-events コマンドを除いて、LDoms コマンド行インタフェースのコマンドに対応しています。Logical Domains Manager (ldm) サブコマンドの詳細は、ldm(1M) マニュアルページを参照してください。
XML インタフェースは、Logical Domains Manager CLI でサポートされている動詞またはコマンドの別名はサポートしていません。
<action> タグでサポートされている文字列は、次のとおりです。
LDoms の処理 |
LDoms の処理 |
LDoms の処理 |
---|---|---|
list-bindings |
list-services |
list-constraints |
list-devices |
add-domain |
remove-domain |
list-domain |
start-domain |
stop-domain |
bind-domain |
unbind-domain |
add-io |
remove-io |
add-mau |
set-mau |
remove-mau |
add-memory |
set-memory |
remove-memory |
remove-reconf |
add-spconfig |
set-spconfig |
remove-spconfig |
list-spconfig |
add-variable |
set-variable |
remove-variable |
list-variable |
add-vconscon |
set-vconscon |
remove-vconscon |
set-vconsole |
add-vcpu |
set-vcpu |
remove-vcpu |
add-vdisk |
remove-vdisk |
add-vdiskserver |
remove-vdiskserver |
add-vdpcc |
remove-vdpcc |
add-vdpcs |
remove-vdpcs |
add-vdiskserverdevice |
remove-vdiskserverdevice |
add-vnet |
set-vnet |
remove-vnet |
add-vswitch |
set-vswitch |
remove-vswitch |
reg-domain-events |
unreg-domain-events |
reg-resource-events |
unreg-resource-events |
reg-hardware-events |
unreg-hardware-events |
reg-all-events |
unreg-all-events |
migrate-domain |
cancel-operation |
set-domain |
|
ここでは、Logical Domains Manager のリソースと、リソースごとに定義できるプロパティーを示します。XML の例では、リソースおよびプロパティーは太字で示されています。これらの例は、バインド出力ではなくリソースを示しています。制約出力は、Logical Domains Manager の処理の入力を作成する場合に使用できます。ただし、ドメイン移行の出力は例外です。「ドメインの移行」 を参照してください。各リソースは、<Section> の OVF セクションで定義され、<rasd:OtherResourceType> タグによって指定されます。
<Envelope> <References/> <Content xsi:type="ovf:VirtualSystem_Type" id="primary"> <Section xsi:type="ovf:ResourceAllocationSection_type"> <Item> <rasd:OtherResourceType>ldom_info</rasd:OtherResourceType> <rasd:Address>00:03:ba:d8:ba:f6</rasd:Address> <gprop:GenericPropertykey="hostid">83d8baf6</gprop:GenericProperty> <gprop:GenericProperty key="master">plum</gprop:GenericProperty> <gprop:GenericProperty key="failure-policy">reset</gprop:GenericProperty> <gprop:GenericProperty key="progress">45%</gprop:GenericProperty> <gprop:GenericProperty key="status">ongoing</gprop:GenericProperty> <gprop:GenericProperty key="source">dt90-319</gprop:GenericProperty> </Item> </Section> </Content> </Envelope> |
ldom_info リソースは、<Content> セクション内に必ず含まれます。ldom_info リソース内の次のプロパティーは、省略可能です。
<rasd:Address> タグ。ドメインに割り当てる MAC アドレスを指定します。
<gprop:GenericPropertykey="failure-policy"> タグ。マスタードメインに障害が発生した場合のスレーブドメインの動作を指定します。デフォルト値は ignore です。次に、有効なプロパティー値を示します。
ignore は、マスタードメインの障害を無視します。スレーブドメインは影響を受けません。
panic は、マスタードメインに障害が発生した場合、すべてのスレーブドメインにパニックを発生させます。
reset は、マスタードメインに障害が発生した場合、すべてのスレーブドメインをリセットします。
stop は、マスタードメインに障害が発生した場合、すべてのスレーブドメインを停止します。
<gprop:GenericPropertykey="hostid"> タグ。ドメインに割り当てるホスト ID を指定します。
<gprop:GenericPropertykey="master"> タグ。最大 4 つのマスタードメイン名をコンマで区切って指定します。
<gprop:GenericPropertykey="progress"> タグ。コマンドの進捗の割合を指定します。
<gprop:GenericPropertykey="source"> タグ。コマンドの進捗を報告するマシンを指定します。
<gprop:GenericPropertykey="status"> タグ。コマンドの状態 (done、failed、または ongoing) を指定します。
<Envelope> <References/> <Content xsi:type="ovf:VirtualSystem_Type" id="ldg1"> <Section xsi:type="ovf:VirtualHardwareSection_Type"> <Item> <rasd:OtherResourceType>cpu</rasd:OtherResourceType> <rasd:AllocationUnits>4</rasd:AllocationUnits> </Item> </Section> </Content> </Envelope> |
cpu リソースは、<Content> セクション内に必ず含まれます。プロパティーは <rasd:AllocationUnits> タグのみで、仮想 CPU の数を指定します。
mau リソースとは、LDoms がサポートするサーバー上で LDoms がサポートする任意の暗号化装置です。現在、モジュラー演算ユニット (MAU) と Control Word Queue (CWQ) の 2 つの暗号化装置がサポートされています。
<Envelope> <References/> <Content xsi:type="ovf:VirtualSystem_Type" id="ldg1"> <Section xsi:type="ovf:VirtualHardwareSection_Type"> <Item> <rasd:OtherResourceType>mau</rasd:OtherResourceType> <rasd:AllocationUnits>1</rasd:AllocationUnits> </Item> </Section> </Content> </Envelope> |
mau リソースは、<Content> セクション内に必ず含まれます。プロパティーは <rasd:AllocationUnits> タグのみで、MAU またはその他の暗号化装置の数を指定します。
<Envelope> <References/> <Content xsi:type="ovf:VirtualSystem_Type" id="ldg1"> <Section xsi:type="ovf:VirtualHardwareSection_Type"> <Item> <rasd:OtherResourceType>memory</rasd:OtherResourceType> <rasd:AllocationUnits>4G</rasd:AllocationUnits> </Item> </Section> </Content> </Envelope> |
メモリーリソースは、<Content> セクション内に必ず含まれます。プロパティーは <rasd:AllocationUnits> タグのみで、メモリーの量を指定します。
<Envelope> <References/> <Content xsi:type="ovf:VirtualSystem_Type" id="ldg1"> <Section xsi:type="ovf:VirtualHardwareSection_Type"> <Item> <rasd:OtherResourceType>vds</rasd:OtherResourceType> <gprop:GenericProperty key="service_name">vdstmp</gprop:GenericProperty> </Item> </Section> </Content> </Envelope> |
仮想ディスクサーバー (vds) リソースは、ドメイン記述の一部として <Content> セクションに含まれることも、単独で <Envelope> セクションに記述されることもあります。プロパティーは <gprop:GenericProperty> タグのみです。このタグには、"service_name" というキーがあり、記述される vds リソースの名前が含まれています。
<Envelope> <References/> <Section xsi:type="ovf:VirtualHardwareSection_Type"> <Item> <rasd:OtherResourceType>vds_volume</rasd:OtherResourceType> <gprop:GenericProperty key="vol_name">vdsdev0</gprop:GenericProperty> <gprop:GenericProperty key="service_name">primary-vds0</gprop:GenericProperty> <gprop:GenericProperty key="block_dev"> opt/SUNWldm/domain_disks/testdisk1</gprop:GenericProperty> <gprop:GenericProperty key="vol_opts">ro</gprop:GenericProperty> <gprop:GenericProperty key="mpgroup">mpgroup-name</gprop:GenericProperty> </Item> </Section> </Envelope> |
vds_volume リソースは、ドメイン記述の一部として <Content> セクションに含まれることも、単独で <Envelope> セクションに記述されることもあります。次のキーを持つ <gprop:GenericProperty> タグが必要です。
vol_name - ボリュームの名前
service_name - このボリュームをバインドする仮想ディスクサーバーの名前
block_dev – このボリュームに関連付けるファイルまたはデバイスの名前
任意で、vds_volume リソースに次のプロパティーも設定できます。
vol_opts – {ro,slice,excl} のように、これらの項目の 1 つ以上がコンマで区切られて、1 つの文字列となっているもの
mpgroup – マルチパス (フェイルオーバー) グループの名前
<Envelope> <References/> <Content xsi:type="ovf:VirtualSystem_Type" id="ldg1"> <Section xsi:type="ovf:VirtualHardwareSection_Type"> <Item> <rasd:OtherResourceType>disk</rasd:OtherResourceType> <gprop:GenericProperty key="vdisk_name">vdisk0</gprop:GenericProperty> <gprop:GenericProperty key="service_name">primary-vds0</gprop:GenericProperty> <gprop:GenericProperty key="vol_name">vdsdev0</gprop:GenericProperty> <gprop:GenericProperty key="timeout">60</gprop:GenericProperty> </Item> </Section> </Content> </Envelope> |
disk リソースは、<Content> セクション内に必ず含まれます。次のキーを持つ <gprop:GenericProperty> タグが必要です。
vdisk_name - 仮想ディスクの名前
service_name - この仮想ディスクをバインドする仮想ディスクサーバーの名前
vol_name - この仮想ディスクを関連付ける仮想ディスクサービスデバイス
任意で、disk リソースに timeout プロパティーも含めることができます。このプロパティーは、仮想ディスククライアント (vdc) と仮想ディスクサーバー (vds) の間に接続を確立するためのタイムアウト値です (秒単位)。複数の仮想ディスク (vdisk) パスがある場合、vdc は、別の vds への接続を試みることができます。また、タイムアウトによって、いずれかの vds への接続が指定の時間内に確実に行われます。
<Envelope> <References/> <Content xsi:type="ovf:VirtualSystem_Type" id="ldg1"> <Section xsi:type="ovf:VirtualHardwareSection_Type"> <Item> <rasd:OtherResourceType>vsw</rasd:OtherResourceType> <gprop:GenericProperty key="service_name">vsw1-ldg1</gprop:GenericProperty> <gprop:GenericProperty key="dev_path">bge0</gprop:GenericProperty> <gprop:GenericProperty key="linkprop">phys-state</gprop:GenericProperty> <rasd:Address>00:14:4f:fc:00:01</rasd:Address> <gprop:GenericProperty key="mode">sc</gprop:GenericProperty> <gprop:GenericProperty key="pvid">12345678</gprop:GenericProperty> <gprop:GenericProperty key="vid">87654321</gprop:GenericProperty> </Item> </Section> </Content> </Envelope> |
vsw リソースは、ドメイン記述の一部として <Content> セクションに含まれることも、単独で <Envelope> セクションに記載されることもあります。次のキーを持つ <gprop:GenericProperty> タグが必要です。
service_name - 仮想スイッチに割り当てる名前。
linkprop – 仮想デバイスが物理リンクステータスの更新を取得するかどうかを指定します。値が phys-state の場合、仮想デバイスは物理リンクステータスの更新を取得します。値が空白の場合、仮想デバイスは物理リンクステータスの更新を取得しません。デフォルトでは、仮想デバイスは物理リンクステータスの更新を取得しません。
dev_path – この仮想スイッチに関連付けるネットワークデバイスのパス
任意で、vsw リソースに次のプロパティーも設定できます。
<rasd:Address> - MAC アドレスを仮想スイッチに割り当てます。
pvid - ポート仮想ローカルエリアネットワーク (VLAN) 識別子 (ID)。仮想ネットワークをメンバーにする必要のある VLAN をタグなしモードで指定します。
vid - 仮想ローカルエリアネットワーク (VLAN) 識別子 (ID)。仮想ネットワークおよび仮想スイッチをメンバーにする必要のある VLAN をタグ付きモードで指定します。
mode - SunCluster のハートビートサポートの場合は sc。
<Envelope> <References/> <Content xsi:type="ovf:VirtualSystem_Type" id="ldg1"> <Section xsi:type="ovf:VirtualHardwareSection_Type"> <Item> <rasd:OtherResourceType>network</rasd:OtherResourceType> <gprop:GenericProperty key="linkprop">phys-state</gprop:GenericProperty> <gprop:GenericProperty key="vnet_name">ldg1-vnet0</gprop:GenericProperty> <gprop:GenericProperty key="service_name">primary-vsw0</gprop:GenericProperty> <rasd:Address>00:14:4f:fc:00:01</rasd:Address> </Item> </Section> </Content> </Envelope> |
network リソースは、<Content> セクション内に必ず含まれます。次のキーを持つ <gprop:GenericProperty> タグが必要です。
linkprop – 仮想デバイスが物理リンクステータスの更新を取得するかどうかを指定します。値が phys-state の場合、仮想デバイスは物理リンクステータスの更新を取得します。値が空白の場合、仮想デバイスは物理リンクステータスの更新を取得しません。デフォルトでは、仮想デバイスは物理リンクステータスの更新を取得しません。
vnet_name - 仮想ネットワーク (vnet) の名前
service_name - この仮想ネットワークをバインドする仮想スイッチ (vswitch) の名前
任意で、network リソースに次のプロパティーも設定できます。
<rasd:Address> - MAC アドレスを仮想スイッチに割り当てます。
pvid - ポート仮想ローカルエリアネットワーク (VLAN) 識別子 (ID)。仮想ネットワークをメンバーにする必要のある VLAN をタグなしモードで指定します。
vid - 仮想ローカルエリアネットワーク (VLAN) 識別子 (ID)。仮想ネットワークおよび仮想スイッチをメンバーにする必要のある VLAN をタグ付きモードで指定します。
mode - 仮想ネットワークに対してハイブリッド I/O を有効にする場合は hybrid。
<Envelope> <References/> <Content xsi:type="ovf:VirtualSystem_Type" id="ldg1"> <Section xsi:type="ovf:VirtualHardwareSection_Type"> <Item> <rasd:OtherResourceType>vcc</rasd:OtherResourceType> <gprop:GenericProperty key="service_name">vcc1</gprop:GenericProperty> <gprop:GenericProperty key="min_port">6000</gprop:GenericProperty> <gprop:GenericProperty key="max_port">6100</gprop:GenericProperty> </Item> </Section> </Content> </Envelope> |
vcc リソースは、ドメイン記述の一部として <Content> セクションに含まれることも、単独で <Envelope> セクションに記述されることもあります。次のキーを持つ <gprop:GenericProperty> タグを使用できます。
service_name - 仮想コンソール端末集配信装置サービスに割り当てる名前
min_port - この vcc に関連付ける最小ポート番号
max_port - この vcc に関連付ける最大ポート番号
<Envelope> <References/> <Content xsi:type="ovf:VirtualSystem_Type" id="ldg1"> <Section xsi:type="ovf:VirtualHardwareSection_Type"> <Item> <rasd:OtherResourceType>var</rasd:OtherResourceType> <gprop:GenericProperty key="name">test_var</gprop:GenericProperty> <gprop:GenericProperty key="value">test1</gprop:GenericProperty> </Item> </Section> </Content> </Envelope> |
var リソースは、<Content> セクション内に必ず含まれます。次のキーを持つ <gprop:GenericProperty> タグを使用できます。
name - 変数の名前
value - 変数の値
<Envelope> <References/> <Content xsi:type="ovf:VirtualSystem_Type" id="ldg1"> <Section xsi:type="ovf:VirtualHardwareSection_Type"> <Item> <rasd:OtherResourceType>physio_device</rasd:OtherResourceType> <gprop:GenericProperty key="name">pci@780</gprop:GenericProperty> </Item> </Section> </Content> </Envelope> |
physio_device リソースは、<Content> セクション内に必ず含まれます。プロパティーは、<gprop:GenericProperty> タグのみです。このタグには、"name" というキープロパティー値があり、記述される I/O デバイスの名前が含まれています。
<Envelope> <Section xsi:type="ovf:ResourceAllocationSection_type"> <Item> <rasd:OtherResourceType>spconfig</rasd:OtherResourceType> <gprop:GenericProperty key="spconfig_name">primary</gprop:GenericProperty> <gprop:GenericProperty key="spconfig_status">current</gprop:GenericProperty> </Item> </Section> </Envelope> |
サービスプロセッサ (SP) 構成 (spconfig) リソースは、必ず単独で <Envelope> セクションに記述されます。次のキーを持つ <gprop:GenericProperty> タグを使用できます。
spconfig_name - SP に格納されている構成の名前。
spconfig_status - 特定の SP 構成の現在の状態。このプロパティーは、ldm list-spconfig コマンドの出力で使用されます。
<Envelope> <References/> <Content xsi:type="ovf:VirtualSystem_Type" id="ldg1"> <Section xsi:type="ovf:VirtualHardwareSection_Type"> <Item> <rasd:OtherResourceType>vdpcs</rasd:OtherResourceType> <gprop:GenericProperty key="service_name">dg1-vdpcs</gprop:GenericProperty> </Item> </Section> </Content> </Envelope> |
このリソースは、Netra DPS 環境でのみ意味を持ちます。vdpcs リソースは、ドメイン記述の一部として <Content> セクションに含まれることも、単独で <Envelope> セクションに記述されることもあります。プロパティーは、<gprop:GenericProperty> タグのみです。このタグには、"service_name" というキープロパティー値があり、記述される仮想データプレーンチャネルサービス (vdpcs) リソースの名前が含まれています。
<Envelope> <References/> <Content xsi:type="ovf:VirtualSystem_Type" id="ldg1"> <Section xsi:type="ovf:VirtualHardwareSection_Type"> <Item> <rasd:OtherResourceType>vdpcc</rasd:OtherResourceType> <gprop:GenericProperty key="vdpcc_name">vdpcc</gprop:GenericProperty> <gprop:GenericProperty key="service_name">ldg1-vdpcs</gprop:GenericProperty> </Item> </Section> </Content> </Envelope> |
このリソースは、Netra DPS 環境でのみ意味を持ちます。仮想データプレーンチャネルクライアントリソースは、<Content> セクション内に必ず含まれます。次のキーを持つ <gprop:GenericProperty> タグを使用できます。
vdpcc_name - 仮想データプレーンチャネルクライアント (vdpcc) の名前
service_name - この vdpcc をバインドする仮想データプレーンチャネルサービス (vdpcs) の名前
<Envelope> <References/> <Content xsi:type="ovf:VirtualSystem_Type" id="ldg1"> <Section xsi:type="ovf:VirtualHardwareSection_Type"> <Item> <rasd:OtherResourceType>console</rasd:OtherResourceType> <gprop:GenericProperty key="port">6000</gprop:GenericProperty> <gprop:GenericProperty key="service_name">vcc2</gprop:GenericProperty> <gprop:GenericProperty key="group">group-name</gprop:GenericProperty> </Item> </Section> </Content> </Envelope> |
console リソースは、<Content> セクション内に必ず含まれます。次のキーを持つ <gprop:GenericProperty> タグを使用できます。
port - この仮想コンソール (console) の変更先のポート
service_name - この console をバインドする仮想コンソール端末集配信装置 (vcc) サービス
group - この console をバインドするグループの名前
次の例は、migrate-domain サブコマンドの <data> セクションの内容を示しています。
<Envelope> <References/> <Content xsi:type="ovf:VirtualSystem_Type" ovf:id="ldg1"/> <Content xsi:type="ovf:VirtualSystem_Type" ovf:id="ldg1"/> <Section xsi:type="ovf:ResourceAllocationSection_Type"> <Item> <rasd:OtherResourceType>ldom_info</rasd:OtherResourceType> <gprop:GenericProperty key="target">target-host</gprop:GenericProperty> <gprop:GenericProperty key="username">user-name</gprop:GenericProperty> <gprop:GenericProperty key="password">password</gprop:GenericProperty> <Item> </Section> </Content> </Envelope> |
各表記の意味は次のとおりです。
1 番めの <Content> ノード (<ldom_info> セクションなし) は、移行元のソースドメインです。
2 番めの <Content> ノード (<ldom_info> セクションあり) は、移行先のターゲットドメインです。ソースドメインとターゲットドメインの名前は同じにすることができます。
ターゲットドメインの <ldom_info> セクションには、移行先のマシンおよびこのマシンへの移行に必要な詳細情報が記述されます。
target-host は、移行先のターゲットマシンです。
user-name は、ターゲットマシンのログインユーザー名です。SASL 64 ビットで符号化する必要があります。
password は、ターゲットマシンへのログインに使用するパスワードです。SASL 64 ビットで符号化する必要があります。
Logical Domains Manager では、sasl_decode64() を使用してターゲットのユーザー名およびパスワードを復号化し、sasl_encode64() を使用してこれらの値を符号化します。SASL 64 符号化は、base64 符号化に相当します。