Logical Domains 1.3 管理ガイド

第 10 章 構成の管理

この章では、構成の管理について説明します。

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

将来の再構築用の論理ドメイン構成の保存

基本的な処理は、各ドメインの制約情報を XML ファイルに保存することです。たとえば、ハードウェアの障害のあとに、この XML ファイルを Logical Domains Manager に対して再実行して、必要な設定を再構築できます。

「ゲストドメイン構成を再構築する」 は、制御ドメインではなく、ゲストドメインに対して有効です。制御 (primary) ドメインの制約を XML ファイルに保存することはできますが、それを ldm add-domain i コマンドに指定することはできません。ただし、XML ファイルのリソース制約を使用して、primary ドメインを再構成する CLI コマンドを作成することはできます。ldm list-constraints -x primary コマンドの標準的な XML 出力を、primary ドメインの再構成に必要な CLI コマンドに変換する方法については、「制御ドメインの再構築」 を参照してください。

次に示す方法では、実際のバインドは保持されず、それらのバインドを作成するために使用した制約だけが保持されます。つまり、この手順を行うと、ドメインは同じ仮想リソースを持ちますが、同じ物理リソースにバインドされるとはかぎりません。

Procedureすべての論理ドメイン構成を保存する

  1. 各論理ドメインで、ドメインの制約を含む XML ファイルを作成します。


    # ldm list-constraints -x ldom > ldom.xml
    

    次の例は、primary ドメインの制約を含む XML ファイル primary.xml を作成する方法を示しています。


    # ldm list-constraints -x primary > primary.xml
    

Procedureゲストドメイン構成を再構築する

  1. 作成した各ゲストドメインの XML ファイルに対して、次のコマンドを実行します。


    # ldm add-domain -i ldom.xml
    # ldm bind-domain ldom
    # ldm start-domain ldom
    

制御ドメインの再構築

この節では、ldm list-constraints -x primary コマンドの標準的なの XML 出力を、primary ドメインの再構成に必要な CLI コマンドに変換する方法について説明します。XML 出力のサンプルでは、XML から CLI コマンドを作成するために使用するリソースおよびプロパティーが太字で示されています。CLI コマンドの詳細は、ldm(1M) マニュアルページを参照してください。

ldm list-constraints -x primary コマンドの出力のサンプルを次に示します。


例 10–1 list-constraints サブコマンドの XML 出力のサンプル


<?xml version="1.0"?>
<LDM_interface version="1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="./schemas/combined-v3.xsd"
        xmlns:ovf="./schemas/envelope"
        xmlns:rasd="./schemas/CIM_ResourceAllocationSettingData"
        xmlns:vssd="./schemas/CIM_VirtualSystemSettingData"
        xmlns:gprop="./schemas/GenericProperty" xmlns:bind="./schemas/Binding">
  <data version="3.0">
    <Envelope>
      <References/>
      <Content xsi:type="ovf:VirtualSystem_Type" ovf: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:GenericProperty key="hostid">0x83d8baf6</gprop:GenericProperty>
          </Item>
        </Section>
        <Section xsi:type="ovf:VirtualHardwareSection_Type">
          <Item>
            <rasd:OtherResourceType>cpu</rasd:OtherResourceType>
            <rasd:AllocationUnits>4</rasd:AllocationUnits>
          </Item>
        </Section>
        <Section xsi:type="ovf:VirtualHardwareSection_Type">
          <Item>
            <rasd:OtherResourceType>mau</rasd:OtherResourceType>
            <rasd:AllocationUnits>1</rasd:AllocationUnits>
          </Item>
        </Section>
        <Section xsi:type="ovf:VirtualHardwareSection_Type">
          <Item>
            <rasd:OtherResourceType>memory</rasd:OtherResourceType>
            <rasd:AllocationUnits>4G</rasd:AllocationUnits>
          </Item>
        </Section>
        <Section xsi:type="ovf:VirtualHardwareSection_Type">
          <Item>
            <rasd:OtherResourceType>physio_device</rasd:OtherResourceType>
            <gprop:GenericProperty key="name">pci@7c0</gprop:GenericProperty>
          </Item>
        </Section>
        <Section xsi:type="ovf:VirtualHardwareSection_Type">
          <Item>
            <rasd:OtherResourceType>vsw</rasd:OtherResourceType>
            <rasd:Address>auto-allocated</rasd:Address>
            <gprop:GenericProperty key="service_name">primary-vsw0</gprop:GenericProperty>
            <gprop:GenericProperty key="dev_path">nxge0</gprop:GenericProperty>
            <gprop:GenericProperty key="default-vlan-id">1</gprop:GenericProperty>
            <gprop:GenericProperty key="pvid">1</gprop:GenericProperty>
          </Item>
        </Section>
        <Section xsi:type="ovf:VirtualHardwareSection_Type">
          <Item>
            <rasd:OtherResourceType>vcc</rasd:OtherResourceType>
            <gprop:GenericProperty key="service_name">primary-vcc0</gprop:GenericProperty>
            <gprop:GenericProperty key="min_port">5000</gprop:GenericProperty>
            <gprop:GenericProperty key="max_port">6000</gprop:GenericProperty>
          </Item>
        </Section>
        <Section xsi:type="ovf:VirtualHardwareSection_Type">
          <Item>
            <rasd:OtherResourceType>vds</rasd:OtherResourceType>
            <gprop:GenericProperty key="service_name">primary-vds0</gprop:GenericProperty>
          </Item>
        </Section>
        <Section xsi:type="ovf:VirtualHardwareSection_Type">
          <Item>
            <rasd:OtherResourceType>vds_volume</rasd:OtherResourceType>
            <gprop:GenericProperty key="vol_name">primary-vds0-vol0</gprop:GenericProperty>
            <gprop:GenericProperty
              key"block_dev">/opt/SUNWldm/domain_disks/testdisk.nv.53.1</gprop:GenericProperty>
            <gprop:GenericProperty key="service_name">primary-vds0</gprop:GenericProperty>
          </Item>
        </Section>
      </Content>
    </Envelope>
  </data>
</LDM_interface>

<Content> タグおよび <Content> タグ内の <Section> には、primary ドメイン、および primary ドメインに含まれるすべてのリソースが記述されています。<Item> 内の <rasd:...> タグおよび <gprop:GenericProperty...> タグには、各リソースに必要なプロパティーが記述されています。各 <Section> の各リソースを確認して、リソースの制約に基づいて CLI コマンドを作成できます。以降の節では、ドメインの XML 記述でより一般的ないくつかのリソースと、そのリソースに対する同等の CLI コマンドを示します。

論理ドメインの情報 (ldom_info) セクション

このセクションには、primary ドメインの MAC アドレスおよびホスト ID の情報が記述されます。これは primary ドメインであるため、この情報を設定することはできません。この情報は自動的に設定されます。


例 10–2 論理ドメインの情報 (ldom_info) セクション


<Section> xsi:type="ovf:ResourceAllocationSection_Type">
  <Item>
    <rasd:OtherResourceType>ldom_info</rasd:OtherResourceType>
    <rasd:Address>00:03:ba:d8:ba:f6</rasd:Address>
    <gprop:GenericProperty key="hostid">0x83d8baf6</gprop:GenericProperty>
  </Item>
</Section>

この例での論理ドメインの情報 (ldom_info) は、次のとおりです。

暗号化 (mau) セクション

このセクションには、primary ドメインに割り当てられた暗号化装置 (mau) の数が記述されます。


注 –

XML の一覧では mau セクションは cpu セクションのあとに記述されていますが、set-mau サブコマンドは set-cpu サブコマンドの前に実行する必要があります。これは、対応する暗号化装置を削除しないかぎりドメインから CPU を削除できないためです。



例 10–3 暗号化 (mau) セクション


<Section> xsi:type="ovf:VirtualHardwareSection_Type"
  <Item>
    <rasd:OtherResourceType>mau</rasd:OtherResourceType>
    <rasd:AllocationUnits>1</rasd:AllocationUnits>
  </Item>
</Section>

このセクションは、次の CLI コマンドに相当します。


# ldm set-mau 1 primary

CPU (cpu) セクション

このセクションには、primary ドメインに割り当てられた仮想 cpu の数が記述されます。


例 10–4 CPU (cpu) セクション


<Section> xsi:type="ovf:VirtualHardwareSection_Type"
  <Item>
    <rasd:OtherResourceType>cpu</rasd:OtherResourceType>
    <rasd:AllocationUnits>4</rasd:AllocationUnits>
  </Item>
</Section>

このセクションは、次の CLI コマンドに相当します。


# ldm set-vcpu 4 primary

メモリー (memory) セクション

このセクションには、primary ドメインに割り当てられたメモリーの量が記述されます。


例 10–5 メモリー (memory) セクション


<Section> xsi:type="ovf:VirtualHardwareSection_Type"
  <Item>
    <rasd:OtherResourceType>memory</rasd:OtherResourceType>
    <rasd:AllocationUnits>4G</rasd:AllocationUnits>
  </Item>
</Section>

このセクションは、次の CLI コマンドに相当します。


# ldm set-memory 4G primary

物理入出力 (physio_device) セクション

このセクションには、primary ドメインに残す物理 I/O バスが記述されます。


例 10–6 物理 I/O (physio_device) セクション


<Section> xsi:type="ovf:VirtualHardwareSection_Type"
  <Item>
    <rasd:OtherResourceType>physio_device</rasd:OtherResourceType>
    <gprop:GenericProperty key="name">pci@7c0</gprop:GenericProperty>
  </Item>
</Section>

以前の構成どおりに、同じ I/O デバイスを primary ドメインに設定するには、まず、起動時に構成される I/O デバイスを一覧表示する必要があります。


# ldm list -l primary
....
IO
    DEVICE           PSEUDONYM        OPTIONS
    pci@7c0          bus_b
    pci@780          bus_a
....

例 10–6 で、primary ドメインに残るように以前に構成されていたバスは、pci@7c0 です。XML に他の physio-device セクションが含まれていない場合、pci@780 バスを削除する必要があります。

このセクションは、次の CLI コマンドに相当します。


# ldm remove-io pci@780 primary

仮想スイッチ (vsw) セクション

このセクションには、primary ドメインに割り当てられた仮想スイッチ (vsw) が記述されます。


<Section xsi:type="ovf:VirtualHardwareSection_Type">
  <Item>
    <rasd:OtherResourceType>vsw</rasd:OtherResourceType>
    <rasd:Address>auto-allocated</rasd:Address>
    <gprop:GenericProperty key="service_name">primary-vsw0</gprop:GenericProperty>
    <gprop:GenericProperty key="dev_path">nxge0</gprop:GenericProperty>
    <gprop:GenericProperty key="mode">sc</gprop:GenericProperty>
    <gprop:GenericProperty key="default-vlan-id">1</gprop:GenericProperty>
    <gprop:GenericProperty key="pvid">1</gprop:GenericProperty>
  </Item>
</Section>

各表記の意味は次のとおりです。

default-vlan-id (1)、pvid (1) など、このセクションの一部の値にはデフォルト値が使用されるため、このセクションは次の CLI コマンドに相当します。


# ldm add-vswitch net-dev=nxge primary-vsw0 primary

仮想コンソール端末集配信装置 (vcc) セクション

このセクションには、primary ドメインに割り当てられた仮想コンソール端末集配信装置 (vcc) が記述されます。


<Section xsi:type="ovf:VirtualHardwareSection_Type">
  <Item>
    <rasd:OtherResourceType>vcc</rasd:OtherResourceType>
    <gprop:GenericProperty key="service_name">primary-vcc0</gprop:GenericProperty>
    <gprop:GenericProperty key="min_port">5000</gprop:GenericProperty>
    <gprop:GenericProperty key="max_port">6000</gprop:GenericProperty>
  </Item>
</Section>

XML のキープロパティー service_name は、vcc サービスの名前 (この場合は、primary-vcc0) を示します。

このセクションは、次の CLI コマンドに相当します。


# ldm add-vcc port-range=5000-6000 primary-vcc0 primary

仮想ディスクサーバー (vds) セクション

このセクションには、primary ドメインに割り当てられた仮想ディスクサーバー (vds) が記述されます。


<Section xsi:type="ovf:VirtualHardwareSection_Type">
  <Item>
    <rasd:OtherResourceType>vds</rasd:OtherResourceType>
    <gprop:GenericProperty key="service_name">primary-vds0</gprop:GenericProperty>
  </Item>
</Section>

XML のキープロパティー service_name は、仮想ディスクサーバーのこのインスタンスのサービス名 (この場合は、primary-vds0) を示します。この service_name は、サーバー上のすべての仮想ディスクサーバーインスタンスの中で一意である必要があります。

このセクションは、次の CLI コマンドに相当します。


# ldm add-vds primary-vds0 primary

仮想ディスクサーバーデバイス (vdsdev) セクション

このセクションには、primary ドメインに割り当てられた仮想ディスクサーバーによってエクスポートされたデバイス (vdsdev) が記述されます。


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

各表記の意味は次のとおりです。

このセクションは、次の CLI コマンドに相当します。


# ldm add-vdsdev options=ro mpgroup=mpgroup-name
/opt/SUNWldm/domain_disks/testdisk1 vdsdev0@primary-vds0

Logical Domains 構成の管理

Logical Domains 構成とは、単一システム内でのすべてのドメインとそのリソース割り当てをすべて記述したものです。構成は、サービスプロセッサ (SP) に保存および格納し、あとで使用することができます。

システムに電源を投入すると、SP は選択された構成を起動します。特定の構成を起動することで、システムは、同じドメインセットを実行し、その構成に指定されている同じ仮想化およびリソース割り当てのパーティション分割を使用します。デフォルトの構成は、最後に保存された構成です。

Logical Domains 1.2 リリース以降は、Logical Domains 構成が変更された場合は常に、現在の構成のコピーが制御ドメインに自動的に保存されます。

次の状況でも、自動保存処理はただちに行われます。

SP に保存されている構成が失われた場合、この自動保存処理によって構成を回復できます。また、システムの電源再投入時に現在の構成が SP に明示的に保存されなかった場合も、この処理によって構成を回復できます。このような場合、現在の構成が次回の起動時用としてマークされている構成よりも新しければ、Logical Domains Manager は再起動時にこの構成を回復できます。


注 –

電源管理、FMA、ASR、および PRI 更新イベントでは、自動保存ファイルは更新されません。


自動保存ファイルは、自動または手動で新規または既存の構成に復元できます。デフォルトでは、自動保存構成が、対応する実行中の構成よりも新しい場合、メッセージが LDoms ログに書き込まれます。したがって、ldm add-spconfig -r コマンドを使用して既存の構成を手動で更新するか、または自動保存データに基づいて新しい構成を作成する必要があります。


注 –

遅延再構成が保留中の場合、構成の変更はただちに自動保存されます。そのため、ldm list-config -r コマンドを実行すると、自動保存構成は、現在の構成より新しいものとして表示されます。


ldm *-spconfig コマンドを使用して構成を管理する方法と、自動保存ファイルを手動で回復する方法については、ldm(1M) マニュアルページを参照してください。

起動する構成を選択する方法については、「LDoms とサービスプロセッサの使用」を参照してください。

Procedure自動回復ポリシーを変更する

自動回復ポリシーには、制御ドメインに自動的に保存された 1 つの構成が対応する実行中の構成よりも新しい場合に、構成の回復を処理する方法を指定します。自動回復ポリシーを指定するには、ldmd SMF サービスの autorecovery_policy プロパティーを設定します。autorecovery_policy プロパティーには次の値を使用できます。

  1. 制御ドメインにログインします。

  2. スーパーユーザーになるか、同等の役割を取得します。

    役割には、承認および特権付きコマンドが含まれます。役割の詳細は、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」 を参照してください。

  3. autorecovery_policy プロパティー値を表示します。


    # svccfg -s ldmd listprop ldmd/autorecovery_policy
    
  4. ldmd サービスを停止します。


    # svcadm disable ldmd
    
  5. autorecovery_policy プロパティー値を変更します。


    # svccfg -s ldmd setprop ldmd/autorecovery_policy=value
    

    たとえば、自動回復を実行するようにポリシーを設定するには、プロパティー値を 3 に設定します。


    # svccfg -s ldmd setprop ldmd/autorecovery_policy=3
    
  6. ldmd サービスを更新して再起動します。


    # svcadm refresh ldmd
    # svcadm enable ldmd
    

例 10–7 ログへの記録から自動回復への自動回復ポリシーの変更

次の例は、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