Logical Domains 1.3 管理ガイド

第 4 章 サービスと論理ドメインの設定

この章では、デフォルトのサービス、制御ドメイン、およびゲストドメインの設定に必要な手順について説明します。

Logical Domains Configuration Assistant を使用して論理ドメインおよびサービスを構成することもできます。付録 D Logical Domains Configuration Assistant を参照してください。

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

出力メッセージ

primary ドメインのいずれかのデバイスまたはいずれかのサービスに対して動的に実行できない最初の操作のあと、次のメッセージを受け取ります。


Initiating delayed reconfigure operation on LDom primary. All
configuration changes for other LDoms are disabled until the
LDom reboots, at which time the new configuration for LDom
primary will also take effect.

primary ドメインを再起動するまで、その後の各操作のあとに次の通知を受け取ります。


Notice: LDom primary is in the process of a delayed
reconfiguration. Any changes made to this LDom will only take
effect after it reboots.

デフォルトのサービスの作成

あとで使用できるように、次のデフォルトの仮想サービスを最初に作成する必要があります。

Procedureデフォルトのサービスを作成する

  1. 論理ドメインに仮想ディスクをインポートできるように、仮想ディスクサーバー (vds) を作成します。

    たとえば、次のコマンドを使用して、仮想ディスクサーバー (primary-vds0) を制御ドメイン (primary) に追加します。


    primary# ldm add-vds primary-vds0 primary
    
  2. 仮想ネットワーク端末サーバーデーモン (vntsd) が使用する仮想コンソール端末集配信装置 (vcc) サービスを、すべての論理ドメインコンソールの端末集配信装置として作成します。

    たとえば、次のコマンドを使用して、ポートの範囲が 5000 ~ 5100 の仮想コンソール端末集配信装置サービス (primary-vcc0) を、制御ドメイン (primary) に追加します。


    primary# ldm add-vcc port-range=5000-5100 primary-vcc0 primary
    
  3. 論理ドメインの仮想ネットワーク (vnet) デバイス間でネットワークを有効にするには、仮想スイッチサービス (vsw) を作成します。

    各論理ドメインが仮想スイッチを使用して外部と通信する必要がある場合は、GLDv3 準拠のネットワークアダプタを仮想スイッチに割り当てます。

    たとえば、次のコマンドを使用して、ネットワークアダプタドライバ nxge0 の仮想スイッチサービス (primary-vsw0) を、制御ドメイン (primary) に追加します。


    primary# ldm add-vsw net-dev=nxge0 primary-vsw0 primary
    

    このコマンドによって、仮想スイッチに MAC アドレスが自動的に割り当てられます。ldm add-vsw コマンドに、オプションとして独自の MAC アドレスを指定できます。ただし、この場合、指定した MAC アドレスが既存の MAC アドレスと競合していないことの確認は、ユーザーが責任を持って行います。

    追加された仮想スイッチが、基本となる物理アダプタに代わり主ネットワークインタフェースとなる場合は、動的ホスト構成プロトコル (DHCP) サーバーによってドメインに同じ IP アドレスが割り当てられるように、仮想スイッチに物理アダプタの MAC アドレスを割り当てる必要があります。「制御ドメインまたはサービスドメインとその他のドメイン間のネットワークの有効化」 を参照してください。


    primary# ldm add-vsw mac-addr=2:04:4f:fb:9f:0d net-dev=nxge0 primary-vsw0 primary
    
  4. list-services サブコマンドを使用して、サービスが作成されたことを確認します。

    次のように出力されるはずです。


    primary# ldm list-services primary
    VDS
        NAME             VOLUME         OPTIONS          DEVICE
        primary-vds0
     
    VCC
        NAME             PORT-RANGE
        primary-vcc0     5000-5100
     
    VSW
        NAME             MAC               NET-DEV   DEVICE     MODE
        primary-vsw0     02:04:4f:fb:9f:0d nxge0     switch@0   prog,promisc

制御ドメインの初期構成

最初に、すべてのシステムリソースが制御ドメインに割り当てられます。その他の論理ドメインを作成できるように、一部のリソースを解放する必要があります。

Procedure制御ドメインを設定する


注 –

この手順には、制御ドメイン用に設定するリソースの例も含まれています。ここで示す数値は単なる例であり、使用される値が制御ドメインに適していない場合があります。


  1. 制御ドメインに暗号化デバイスが割り当てられているかどうかを判断します。


    primary# ldm list -o crypto primary
    
  2. 暗号化リソースを制御ドメインに割り当てます。

    次の例では、1 つの暗号化リソースが制御ドメイン primary に割り当てられます。これによって、残りの暗号化リソースをゲストドメインで使用できるようになります。


    primary# ldm set-mau 1 primary
    
  3. 仮想 CPU を制御ドメインに割り当てます。

    たとえば、次のコマンドでは、4 つの仮想 CPU が制御ドメイン primary に割り当てられます。これにより、残りの仮想 CPU をゲストドメインで使用できるようになります。


    primary# ldm set-vcpu 4 primary
    
  4. メモリーを制御ドメインに割り当てます。

    たとえば、次のコマンドでは、4G バイトのメモリーが制御ドメイン primary に割り当てられます。これにより、残りのメモリーをゲストドメインで使用できるようになります。


    primary# ldm set-memory 4G primary
    
  5. 論理ドメインのマシン構成をサービスプロセッサ (SP) に追加します。

    たとえば、次のコマンドを使用して initial という名前の構成を追加します。


    primary# ldm add-config initial
    
  6. 次回の再起動時に構成が使用できる状態であることを確認します。


    primary# ldm list-config
    factory-default
    initial [next poweron]

    この list サブコマンドでは、電源を再投入すると initial 構成設定が使用されることが示されています。

論理ドメインを使用するための再起動

構成の変更を有効にして、ほかの論理ドメインで使用できるようにリソースを解放するには、制御ドメインを再起動する必要があります。

Procedure再起動する

  1. 制御ドメインを停止して再起動します。


    primary# shutdown -y -g0 -i6
    

    注 –

    再起動または電源の再投入のいずれかによって、新しい構成がインスタンス化されます。サービスプロセッサ (SP) に保存されている構成が実際に起動されるのは、電源再投入後のみで、その際に list-config の出力に反映されます。


制御ドメインまたはサービスドメインとその他のドメイン間のネットワークの有効化

デフォルトでは、システムの制御ドメインとその他のドメイン間のネットワークは無効になっています。これを有効にするために、仮想スイッチデバイスをネットワークデバイスとして構成するようにしてください。仮想スイッチは、基本となる物理デバイス (この例では nxge0) に代わり主インタフェースとして構成するか、ドメインの追加のネットワークインタフェースとして構成することができます。


注 –

この手順によってドメインへのネットワーク接続が一時的に中断される可能性があるため、次の手順は制御ドメインのコンソールから実行してください。


Procedure仮想スイッチを主インタフェースとして構成する

  1. すべてのインタフェースのアドレス指定情報を表示します。


    primary# ifconfig -a
    
  2. 仮想スイッチを plumb します。この例では、構成する仮想スイッチは vsw0 です。


    primary# ifconfig vsw0 plumb
    
  3. (省略可能) ドメイン内のすべての仮想スイッチインスタンスのリストを取得するために、仮想スイッチインスタンスを一覧で表示できます。


    primary# /usr/sbin/dladm show-link | grep vsw
    vsw0            type: non-vlan  mtu: 1500       device: vsw0
  4. 仮想スイッチ (net-dev) に割り当てられた物理ネットワークデバイスを unplumb します。この例では、物理ネットワークデバイスは nxge0 です。


    primary# ifconfig nxge0 down unplumb
    
  5. 物理ネットワークデバイス (nxge0) のプロパティーを仮想スイッチ (vsw0) デバイスに移行するには、次のいずれかを実行します。

    • ネットワークが静的 IP アドレスを使用して構成されている場合は、vsw0 に対して nxge0 の IP アドレスとネットマスクを再利用します。


      primary# ifconfig vsw0 IP_of_nxge0 netmask netmask_of_nxge0 broadcast + up
      
    • ネットワークが DHCP を使用して構成されている場合は、vsw0 に対して DHCP を有効にします。


      primary# ifconfig vsw0 dhcp start
      
  6. 必要な構成ファイルに修正を加えて、この変更内容を確定します。


    primary# mv /etc/hostname.nxge0 /etc/hostname.vsw0
    primary# mv /etc/dhcp.nxge0 /etc/dhcp.vsw0
    

    注 –

    必要に応じて、物理ネットワークデバイスと同様に仮想スイッチも構成できます。この場合、手順 2 で記載されているように仮想スイッチを plumb して、物理デバイスは、unplumb しません (手順 4 をスキップする)。そのあと、仮想スイッチは、静的 IP アドレスまたは動的 IP アドレスを使用して構成する必要があります。動的 IP アドレスは DHCP サーバーから取得できます。この場合の詳細および例は、「NAT およびルーティング用の仮想スイッチおよびサービスドメインの構成」 を参照してください。


仮想ネットワーク端末サーバーデーモンの有効化

各論理ドメインの仮想コンソールにアクセスするには、仮想ネットワーク端末サーバーデーモン (vntsd) を有効にする必要があります。このデーモンの使用法の詳細は、vntsd(1M) マニュアルページを参照してください。

Procedure仮想ネットワーク端末サーバーデーモンを有効にする


注 –

vntsd を有効にする前に、制御ドメインにデフォルトのサービス vconscon (vcc) が作成されていることを確認してください。詳細は、「デフォルトのサービスの作成」 を参照してください。


  1. svcadm(1M) コマンドを使用して、仮想ネットワーク端末サーバーデーモン vntsd(1M) を有効にします。


    primary# svcadm enable vntsd
    
  2. svcs(1) コマンドを使用して、vntsd デーモンが有効であることを確認します。


    primary# svcs vntsd
    STATE          STIME    FMRI
    online         Oct_08   svc:/ldoms/vntsd:default

ゲストドメインの作成と起動

ゲストドメインでは、sun4v プラットフォームとハイパーバイザによって提供される仮想デバイスの両方を認識するオペレーティングシステムを実行する必要があります。現時点では、Solaris 10 11/06 OS 以上を実行する必要があります。Solaris 10 10/09 OS を実行すると、Logical Domains 1.3 のすべての機能を使用できます。必要になる可能性があるパッチについては、『Logical Domains 1.3 リリースノート』 を参照してください。デフォルトのサービスを作成し、制御ドメインからリソースを再度割り当てたら、ゲストドメインを作成して起動できます。

Procedureゲストドメインを作成および起動する

  1. 論理ドメインを作成します。

    たとえば、次のコマンドを使用して ldg1 という名前のゲストドメインを作成します。


    primary# ldm add-domain ldg1
    
  2. CPU をゲストドメインに追加します。

    たとえば、次のコマンドを使用して 4 つの仮想 CPU をゲストドメイン ldg1 に追加します。


    primary# ldm add-vcpu 4 ldg1
    
  3. メモリーをゲストドメインに追加します。

    たとえば、次のコマンドを使用して 2G バイトのメモリーをゲストドメイン ldg1 に追加します。


    primary# ldm add-memory 2G ldg1
    
  4. 仮想ネットワークデバイスをゲストドメインに追加します。

    たとえば、次のコマンドを使用して、次のように指定した仮想ネットワークデバイスをゲストドメイン ldg1 に追加します。


    primary# ldm add-vnet vnet1 primary-vsw0 ldg1
    

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

    • vnet1 は、後続の set-vnet または remove-vnet サブコマンドで参照するためにこの仮想ネットワークデバイスのインスタンスに割り当てられる、論理ドメインで一意のインタフェース名です。

    • primary-vsw0 は、接続する既存のネットワークサービス (仮想スイッチ) の名前です。


    注 –

    手順 5 および 6 は、仮想ディスクサーバーデバイス (vdsdev) を primary ドメインに、および仮想ディスク (vdisk) をゲストドメインに追加するための簡略化された方法です。ZFSTM ボリュームおよびファイルシステムを仮想ディスクとして使用する方法については、「ZFS ボリュームを 1 つのスライスディスクとしてエクスポートする」 および 「仮想ディスクと ZFS の使用」 を参照してください。


  5. 仮想ディスクサーバーによってゲストドメインに仮想ディスクとしてエクスポートされるデバイスを指定します。

    物理ディスク、ディスクスライス、ボリューム、またはファイルをブロック型デバイスとしてエクスポートできます。物理ディスクとファイルの例を次に示します。

    • 物理ディスクの例。 最初の例では、次の指定で物理ディスクを追加します。


      primary# ldm add-vdsdev /dev/dsk/c2t1d0s2 vol1@primary-vds0
      

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

      • /dev/dsk/c2t1d0s2 は、実際の物理デバイスのパス名です。デバイスを追加する場合、パス名にはデバイス名を組み合わせる必要があります。

      • vol1 は、仮想ディスクサーバーに追加するデバイスに指定する必要がある一意の名前です。ボリューム名は、この仮想ディスクサーバーによってクライアントにエクスポートされ追加されるため、ボリューム名はこの仮想ディスクサーバーのインスタンスに対して一意である必要があります。デバイスを追加する場合、ボリューム名には実際のデバイスのパス名を組み合わせる必要があります。

      • primary-vds0 は、このデバイスを追加する仮想ディスクサーバーの名前です。

    • ファイルの例。 この 2 つめの例では、ファイルをブロック型デバイスとしてエクスポートします。


      primary# ldm add-vdsdev backend vol1@primary-vds0
      

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

      • backend は、ブロック型デバイスとしてエクスポートされる実際のファイルのパス名です。デバイスを追加する場合、このバックエンドにデバイス名を組み合わせる必要があります。

      • vol1 は、仮想ディスクサーバーに追加するデバイスに指定する必要がある一意の名前です。ボリューム名は、この仮想ディスクサーバーによってクライアントにエクスポートされ追加されるため、ボリューム名はこの仮想ディスクサーバーのインスタンスに対して一意である必要があります。デバイスを追加する場合、ボリューム名には実際のデバイスのパス名を組み合わせる必要があります。

      • primary-vds0 は、このデバイスを追加する仮想ディスクサーバーの名前です。

  6. 仮想ディスクをゲストドメインに追加します。

    次の例では、仮想ディスクをゲストドメイン ldg1 に追加します。


    primary# ldm add-vdisk vdisk1 vol1@primary-vds0 ldg1
    

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

    • vdisk1 は、仮想ディスクの名前です。

    • vol1 は、接続する既存のボリュームの名前です。

    • primary-vds0 は、接続する既存の仮想ディスクサーバーの名前です。


    注 –

    仮想ディスクは、さまざまな種類の物理デバイス、ボリューム、またはファイルに関連付けられた総称的なブロック型デバイスです。仮想ディスクは SCSI ディスクと同義ではありません。そのため、ディスクラベル内のターゲット ID は除外されます。論理ドメインの仮想ディスクの形式は、cNdNsN です。cN は仮想コントローラ、dN は仮想ディスク番号、および sN はスライスを示します。


  7. ゲストドメインの auto-boot および boot-device 変数を設定します。

    最初の例のコマンドは、ゲストドメイン ldg1auto-boot\?true に設定します。


    primary# ldm set-var auto-boot\?=true ldg1
    

    2 つめの例のコマンドは、ゲストドメイン ldg1boot-devicevdisk に設定します。


    primary# ldm set-var boot-device=vdisk ldg1
    
  8. ゲストドメイン ldg1 にリソースをバインドし、ドメインを一覧表示してリソースがバインドされていることを確認します。


    primary# ldm bind-domain ldg1
    primary# ldm list-domain ldg1
    NAME          STATE    FLAGS  CONS   VCPU MEMORY   UTIL  UPTIME
    ldg1          bound    -----  5000   4    2G
  9. ゲストドメインのコンソールのポートを見つけるために、前述の list-domain サブコマンドの出力を調べます。

    CONS という見出しの下で、論理ドメインゲスト 1 (ldg1) のコンソール出力がポート 5000 にバインドされていることがわかります。

  10. 制御ドメインにログインし、ローカルホストのコンソールポートに直接接続することによって、別の端末からゲストドメインのコンソールに接続します。


    $ ssh admin@controldom.domain
    $ telnet localhost 5000
    
  11. ゲストドメイン ldg1 を起動します。


    primary# ldm start-domain ldg1
    

ゲストドメインへの Solaris OS のインストール

この節では、ゲストドメインに Solaris OS をインストールできる、いくつかの異なる方法について説明します。

ProcedureDVD からゲストドメインに Solaris OS をインストールする

  1. Solaris 10 OS DVD を DVD ドライブに挿入します。

  2. primary ドメインでボリューム管理デーモン vold(1M) を停止します。


    primary# svcadm disable volfs
    
  3. ゲストドメイン (ldg1) を停止し、バインドを解除します。次に、DVDROM メディアがマウントされた DVD を、たとえば二次ボリューム (dvd_vol@primary-vds0) および仮想ディスク (vdisk_cd_media) として追加します。

    c0t0d0s2 は、Solaris OS メディアのマウント先です。


    primary# ldm stop ldg1
    primary# ldm unbind ldg1
    primary# ldm add-vdsdev /dev/dsk/c0t0d0s2 dvd_vol@primary-vds0
    primary# ldm add-vdisk vdisk_cd_media dvd_vol@primary-vds0 ldg1
    
  4. DVD が二次ボリュームおよび仮想ディスクとして追加されていることを確認します。


    primary# ldm list-bindings
    NAME             STATE    FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME 
    primary          active   -n-cv   SP      4     4G       0.2%  22h 45m
    ...
    VDS 
       NAME             VOLUME         OPTIONS          DEVICE
       primary-vds0     vol1                            /dev/dsk/c2t1d0s2
       dvd_vol                                          /dev/dsk/c0t0d0s2
    ....
    ------------------------------------------------------------------------------
    NAME             STATE    FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
    ldg1             inactive -----           60    6G
    ...
    DISK
       NAME             VOLUME                      TOUT DEVICE  SERVER
       vdisk1           vol1@primary-vds0
       vdisk_cd_media   dvd_vol@primary-vds0
    ....
  5. ゲストドメイン (ldg1) をバインドし、起動します。


    primary# ldm bind ldg1
    primary# ldm start ldg1
    LDom ldg1 started
    primary# telnet localhost 5000
    Trying 027.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
     
    Connecting to console "ldg1" in group "ldg1" ....
    Press ~? for control options ..
  6. クライアント OpenBootTM PROM でデバイス別名を表示します。

    この例で、vdisk_cd_media (Solaris DVD) および vdisk1 (Solaris OS をインストール可能な仮想ディスク) のデバイス別名を確認してください。


    ok devalias
    vdisk_cd_media  /virtual-devices@100/channel-devices@200/disk@1
    vdisk1          /virtual-devices@100/channel-devices@200/disk@0
    vnet1           /virtual-devices@100/channel-devices@200/network@0
    virtual-console /virtual-devices/console@1
    name            aliases
  7. ゲストドメインのコンソールで、スライス fvdisk_cd_media (disk@1) から起動します。


    ok boot vdisk_cd_media:f -v
    Boot device: /virtual-devices@100/channel-devices@200/disk@1:f  File and args: -s
    SunOS Release 5.10 Version Generic_139555-08 64-bit
    Copyright 1983-2009 Sun Microsystems, Inc.  All rights reserved.
    Use is subject to license terms.
  8. 引き続き Solaris OS のインストールメニューに従います。

ProcedureSolaris ISO ファイルからゲストドメインに Solaris OS をインストールする

  1. ゲストドメインのバインドを解除します。

    次の例では、ldg1 をゲストドメインとして使用しています。


    primary# ldm unbind ldg1
    
  2. 二次ボリュームおよび仮想ディスクとして Solaris ISO ファイルを追加します。

    次の例では、solarisdvd.iso を Solaris ISO ファイル、iso_vol@primary-vds0 を二次ボリューム、vdisk_iso を仮想ディスクとして使用します。


    primary# ldm add-vdsdev /export/solarisdvd.iso  iso_vol@primary-vds0
    primary# ldm-vdisk vdisk vdisk_iso iso_vol@primary-vds0 ldg1
    
  3. Solaris ISO ファイルが二次ボリュームおよび仮想ディスクとして追加されていることを確認します。


    primary# ldm list-bindings
    NAME             STATE    FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME 
    primary          active   -n-cv   SP      4     4G       0.2%  22h 45m
    ...
    VDS 
       NAME             VOLUME         OPTIONS          DEVICE
       primary-vds0     vol1                            /dev/dsk/c2t1d0s2
       iso_vol                                          /export/solarisdvd.iso
    ....
    ------------------------------------------------------------------------------
    NAME             STATE    FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
    ldg1             inactive -----           60    6G
    ...
    DISK
       NAME             VOLUME                      TOUT DEVICE  SERVER
       vdisk1           vol1@primary-vds0
       vdisk_iso        iso_vol@primary-vds0
    ....
  4. ゲストドメイン (ldg1) をバインドし、起動します。


    primary# ldm bind ldg1
    primary# ldm start ldg1
    LDom ldg1 started
    primary# telnet localhost 5000
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
     
    Connecting to console "ldg1" in group "ldg1" ....
    Press ~? for control options ..
  5. クライアント OpenBoot PROM でデバイス別名を表示します。

    この例で、vdisk_iso (Solaris ISO イメージ) および vdisk_install (ディスク領域) のデバイス別名を確認してください。


    ok devalias
    vdisk_iso       /virtual-devices@100/channel-devices@200/disk@1
    vdisk1          /virtual-devices@100/channel-devices@200/disk@0
    vnet1           /virtual-devices@100/channel-devices@200/network@0
    virtual-console /virtual-devices/console@1
    name            aliases
  6. ゲストドメインのコンソールで、スライス fvdisk_iso (disk@1) から起動します。


    ok boot vdisk_iso:f -v
    Boot device: /virtual-devices@100/channel-devices@200/disk@1:f  File and args: -s
    SunOS Release 5.10 Version Generic_139555-08 64-bit
    Copyright 1983-2009 Sun Microsystems, Inc.  All rights reserved.
    Use is subject to license terms.
  7. 引き続き Solaris OS のインストールメニューに従います。

Procedureゲストドメインの JumpStart を実行する

  1. ゲストドメインの JumpStart を行うには、次の 2 つの例で示すように、正規の Solaris OS の JumpStart 手順にあるプロファイルの構文を Logical Domains 固有の JumpStart 手順に変更して、通常の JumpStart 手順を使用します。

    通常の JumpStart のプロファイル


    filesys c1t1d0s0 free /
    filesys c1t1d0s1 2048 swap
    filesys c1t1d0s5 120 /spare1
    filesys c1t1d0s6 120 /spare2

    論理ドメインの仮想ディスクデバイス名は、デバイス名にターゲット ID (tN) が含まれないという点で、物理ディスクデバイス名とは異なります。通常の cNtNdNsN 形式の代わりに、仮想ディスクデバイス名は cNdNsN という形式になります。ここで、cN は仮想コントローラ、dN は仮想ディスク番号、および sN はスライスを示します。次のプロファイルの例のように、使用する JumpStart プロファイルを修正して、この変更を反映してください。

    論理ドメインで使用される実際のプロファイル


    filesys c0d0s0 free /
    filesys c0d0s1 2048 swap
    filesys c0d0s5 120 /spare1
    filesys c0d0s6 120 /spare2

    注 –

    仮想ネットワーク (vnet) デバイスの MAC アドレスは、ゲストのバナーで報告されたものではなく、JumpStart 構成に対する ldm(1M) コマンドによって報告されたとおりに使用する必要があります。