JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle VM Server for SPARC 2.0 管理ガイド
search filter icon
search icon

ドキュメントの情報

はじめに

1.  Oracle VM Server for SPARC ソフトウェアの概要

2.  ソフトウェアのインストールおよび有効化

3.  セキュリティー

4.  サービスおよび制御ドメインの設定

5.  ゲストドメインの設定

6.  I/O ドメインの設定

I/O ドメインの概要

PCIe バスの割り当て

PCIe バスの割り当てによる I/O ドメインの作成

PCIe エンドポイントデバイスの割り当て

直接 I/O のハードウェア要件とソフトウェア要件

直接 I/O の制限

PCIe エンドポイントデバイス構成の計画

primary ドメインの再起動

PCIe ハードウェアの変更

PCIe エンドポイントデバイスの割り当てによる I/O ドメインの作成

7.  仮想ディスクの使用

8.  仮想ネットワークの使用

9.  ドメインの移行

10.  リソースの管理

11.  構成の管理

12.  その他の管理タスクの実行

A.  Oracle VM Server for SPARC 物理から仮想への変換ツール

B.  Oracle VM Server for SPARC Configuration Assistant

C.  Logical Domains Manager の検出

D.  Logical Domains Manager での XML インタフェースの使用

E.  Logical Domains Manager XML スキーマ

用語集

索引

PCIe エンドポイントデバイスの割り当て

Oracle VM Server for SPARC 2.0 リリースと Oracle Solaris 10 9/10 OS 以降では、個別の PCIe エンドポイントデバイス (または直接 I/O を割り当て可能なデバイス) をドメインに割り当てることができます。PCIe エンドポイントデバイスをこのように使用することで、I/O ドメインにデバイスをより細かく割り当てることが可能になります。この機能は、直接 I/O (Direct I/O、DIO) 機能により提供されます。

DIO 機能によって、システム内の PCIe バスの数よりも多くの I/O ドメインを作成できます。I/O ドメインの最大数は現在、PCIe エンドポイントデバイスの数によってのみ制限されます。

PCIe エンドポイントデバイスは、次のいずれかです。

次の図は、PCIe エンドポイントデバイス PCIE3 が I/O ドメインに割り当てられている状態を示しています。I/O ドメインのバス pci_0 とスイッチは、いずれも仮想のものです。PCIE3 エンドポイントデバイスには、primary ドメインではアクセスできなくなっています。

I/O ドメインで、pci_0 ブロックとスイッチは、それぞれ仮想ルートコンプレックスと仮想 PCIe スイッチです。このブロックとスイッチは、primary ドメインの pci_0 ブロックとスイッチに非常によく似ています。primary ドメインで、スロット PCIE3 のデバイスは元のデバイスのシャドウであり、SUNW,assigned として識別されます。

図 6-2 PCIe エンドポイントデバイスの I/O ドメインへの割り当て

この図は、PCIe エンドポイントデバイスを I/O ドメインに割り当てる方法を示しています。

ldm list-io コマンドを使用して、PCIe エンドポイントデバイスの一覧を確認します。

DIO 機能により、スロットの任意の PCIe カードを I/O ドメインに割り当てることができますが、サポートされるのは特定の PCIe カードのみです。「Direct I/O Hardware and Software Requirements」 in 『Oracle VM Server for SPARC 2.0 Release Notes』を参照してください。


注 - スイッチまたはブリッジを持つ PCIe カードはサポートされません。PCIe の機能レベルの割り当てもサポートされません。サポートされていない PCIe カードを I/O ドメインに割り当てた場合、予期しない動作が引き起こされることがあります。


DIO 機能についてのいくつかの重要な詳細を以下に示します。

直接 I/O のハードウェア要件とソフトウェア要件

DIO 機能を正しく使用するには、適切なソフトウェアを実行し、DIO 機能によってサポートされている PCIe カードのみを I/O ドメインに割り当てる必要があります。ハードウェアおよびソフトウェアの要件については、「Direct I/O Hardware and Software Requirements」 in 『Oracle VM Server for SPARC 2.0 Release Notes』を参照してください。


注 - プラットフォームでサポートされているすべての PCIe カードは、primary ドメインでサポートされます。サポートされている PCIe カードの一覧は、お使いのプラットフォームのドキュメントを参照してください。ただし、I/O ドメインに割り当てることができるのは、「直接 I/O がサポートされている PCIe カードのみ」です。


直接 I/O の制限

以下の制限を回避する方法については、「PCIe エンドポイントデバイス構成の計画」を参照してください。

PCIe エンドポイントデバイス構成の計画

primary ドメインの停止を避けるため、PCIe エンドポイントデバイスの割り当てまたは削除は、事前に慎重に計画します。primary ドメインの再起動は、primary ドメイン自体で利用可能なサービスだけでなく、PCIe エンドポイントデバイスが割り当てられている I/O ドメインにも影響を及ぼします。個々の I/O ドメインへの変更は、他のドメインに影響を及ぼしませんが、事前に計画することにより、そのドメインによって提供されるサービスへの影響を最小限に抑えることができます。

遅延再構成は、デバイスを最初に割り当てるか削除したときに開始されます。そのため、デバイスの追加または削除を引き続き行い、そのあとで primary ドメインを 1 回だけ再起動することで、すべての変更を有効にできます。

例については、「PCIe エンドポイントデバイスの割り当てによる I/O ドメインの作成」を参照してください。

DIO デバイス構成の計画と実行には、一般に以下のような手順が必要です。

  1. システムのハードウェア構成を理解し、記録します。

    具体的には、システムの PCIe カードについて、部品番号やその他の詳細情報を記録します。

    ldm list-io -l および prtdiag -v コマンドを使用して情報を取得し、あとで参照するために保存します。

  2. primary ドメインに必要な PCIe エンドポイントデバイスを特定します。

    たとえば、次のデバイスへのアクセスを提供する PCIe エンドポイントデバイスを特定します。

    • 起動ディスクデバイス

    • ネットワークデバイス

    • primary ドメインがサービスとして提供するその他のデバイス

  3. I/O ドメインで使用する可能性のあるすべての PCIe エンドポイントデバイスを削除します。

    この手順により、以後 primary ドメインで再起動操作を実行することを避け、再起動による I/O ドメインへの影響を防ぐことができます。

    PCIe エンドポイントデバイスを削除するには、ldm rm-io コマンドを使用します。rm-io および add-io サブコマンドでデバイスを指定するには、デバイスパスの代わりに仮名を使用します。


    注 - PCIe エンドポイントデバイスを最初に削除したときに遅延再構成が開始されますが、デバイスの削除を引き続き行うことができます。必要なすべてのデバイスを削除した後で、primary ドメインを 1 回だけ再起動すれば、すべての変更が有効になります。


  4. この構成をサービスプロセッサ (Service Processor、SP) に保存します。

    ldm add-config コマンドを使用します。

  5. primary ドメインを再起動し、手順 3 で削除した PCIe エンドポイントデバイスを解放します。

  6. 削除した PCIe エンドポイントデバイスが、primary ドメインに割り当てられていないことを確認します。

    ldm list-io -l コマンドを使用して、削除したデバイスが出力に SUNW,assigned-device として表示されることを確認します。

  7. 物理デバイスへの直接アクセスを可能にするため、使用可能な PCIe エンドポイントデバイスをゲストドメインに割り当てます。

    この割り当てを行った後で、ドメインの移行機能を使用して別の物理システムにゲストドメインを移行することはできません。

  8. ゲストドメインに対して、PCIe エンドポイントデバイスの追加または削除を行います。

    ldm add-io コマンドを使用します。

    I/O ドメインへの変更を最小限に抑えることで、再起動操作を減らし、そのドメインが提供するサービスの停止を避けます。

  9. (省略可能) PCIe ハードウェアに変更を加えます。

    「PCIe ハードウェアの変更」を参照してください。

primary ドメインの再起動

primary ドメインは PCIe バスの所有者で、バスの初期化と管理の役割を担います。primary ドメインはアクティブで、DIO 機能をサポートするバージョンの Oracle Solaris OS を実行している必要があります。primary ドメインのシャットダウン、停止、または再起動を行うと、PCIe バスへのアクセスが中断されます。PCIe バスが使用できないとき、そのバス上の PCIe デバイスが影響を受け、使用不可能になることがあります。

PCIe エンドポイントデバイスを持つ I/O ドメインの実行中に primary ドメインが再起動された場合、I/O ドメインの動作は予測不能です。たとえば、再起動中または再起動後に、PCIe エンドポイントデバイスを持つ I/O ドメインでパニックが発生することがあります。primary ドメインを再起動するときは、各ドメインを手動で停止/開始する必要があります。

これらの問題を回避するには、次のいずれかの手順を実行します。

PCIe ハードウェアの変更

以下の手順は、PCIe エンドポイント割り当ての構成の間違いを防ぐために役立ちます。特定のハードウェアのインストールと削除に関するプラットフォーム固有の情報については、お使いのプラットフォームのドキュメントを参照してください。

PCIe エンドポイントデバイスの割り当てによる I/O ドメインの作成

停止時間を最小限に抑えるため、DIO の導入はすべて事前に計画します。

PCIe エンドポイントデバイスを追加して I/O ドメインを作成する例については、「PCIe エンドポイントデバイス構成の計画」を参照してください。

  1. システムに現在インストールされているデバイスを特定し、保存します。

    ldm list-io -l コマンドの出力に、現在の I/O デバイスの構成が表示されます。prtdiag -v コマンドを使用すると、より詳細な情報を得ることができます。


    注 - I/O ドメインにデバイスが割り当てられた後では、デバイスの ID は I/O ドメインでのみ特定できます。


    # ldm list-io -l
    IO              PSEUDONYM       DOMAIN
    --              ---------       ------
    pci@400         pci_0           primary
    pci@500         pci_1           primary
    
    PCIE                 PSEUDONYM  STATUS  DOMAIN
    ----                 ---------  ------  ------
    pci@400/pci@0/pci@c  PCIE1      EMP     -
    pci@400/pci@0/pci@9  PCIE2      OCC     primary
            network@0
            network@0,1
            network@0,2
            network@0,3
    pci@400/pci@0/pci@d  PCIE3      OCC     primary
            SUNW,emlxs/fp/disk
            SUNW,emlxs@0,1/fp/disk
            SUNW,emlxs@0,1/fp@0,0
    pci@400/pci@0/pci@8  MB/SASHBA  OCC     primary
            scsi@0/tape
            scsi@0/disk
            scsi@0/sd@0,0
            scsi@0/sd@1,0
    pci@500/pci@0/pci@9  PCIE0      EMP     -
    pci@500/pci@0/pci@d  PCIE4      OCC     primary
            network@0
            network@0,1
    pci@500/pci@0/pci@c  PCIE5      OCC     primary
            SUNW,qlc@0/fp/disk
            SUNW,qlc@0/fp@0,0
            SUNW,qlc@0,1/fp/disk
            SUNW,qlc@0,1/fp@0,0/ssd@w21000011c605dbab,0
            SUNW,qlc@0,1/fp@0,0/ssd@w21000011c6041434,0
            SUNW,qlc@0,1/fp@0,0/ssd@w21000011c6053652,0
            SUNW,qlc@0,1/fp@0,0/ssd@w21000011c6041b4f,0
            SUNW,qlc@0,1/fp@0,0/ssd@w21000011c605dbb3,0
            SUNW,qlc@0,1/fp@0,0/ssd@w21000011c60413bc,0
            SUNW,qlc@0,1/fp@0,0/ssd@w21000011c604167f,0
            SUNW,qlc@0,1/fp@0,0/ssd@w21000011c6041b3a,0
            SUNW,qlc@0,1/fp@0,0/ssd@w21000011c605dabf,0
            SUNW,qlc@0,1/fp@0,0/ssd@w21000011c60417a4,0
            SUNW,qlc@0,1/fp@0,0/ssd@w21000011c60416a7,0
            SUNW,qlc@0,1/fp@0,0/ssd@w21000011c60417e7,0
            SUNW,qlc@0,1/fp@0,0/ses@w215000c0ff082669,0
    pci@500/pci@0/pci@8  MB/NET0    OCC     primary
            network@0
            network@0,1
            network@0,2
            network@0,3
  2. 起動ディスクのデバイスパスを確認します。これは保持する必要があります。
    • UFS ファイルシステムの場合、df / コマンドを実行して、起動ディスクのデバイスパスを確認します。
      primary# df /
      /                  (/dev/dsk/c0t1d0s0 ): 1309384 blocks   457028 files
    • ZFS ファイルシステムの場合、まず df / コマンドを実行してプール名を確認してから、zpool status コマンドを実行して起動ディスクのデバイスパスを確認します。
      primary# df /
      /                  (rpool/ROOT/s10s_u8wos_08a):245176332 blocks 245176332 files
      primary# zpool status rpool
       zpool status rpool
        pool: rpool
       state: ONLINE
       scrub: none requested
      config:
      
              NAME        STATE     READ WRITE CKSUM
              rpool       ONLINE       0     0     0
                c0t1d0s0  ONLINE       0     0     0
  3. ブロック型デバイスが接続されている物理デバイスを確認します。

    ここでは、例としてブロック型デバイス c0t1d0s0 を使用します。

    primary# ls -l /dev/dsk/c0t1d0s0
    lrwxrwxrwx    1 root    root    49 Jul 20 22:17 /dev/dsk/c0t1d0s0 ->
    ../../devices/pci@400/pci@0/pci@8/scsi@0/sd@0,0:a

    この例で、primary ドメインの起動ディスクに対応する物理デバイスは、手順 1 の MB/SASHBA 一覧に対応する PCIe エンドポイントデバイス (pci@400/pci@0/pci@8) に接続されています。このデバイスを削除すると、primary ドメインがブート不可能になるため、このデバイスを primary ドメインから削除しないでください。

  4. システムで使用されているネットワークインタフェースを確認します。
    # ifconfig -a
    lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
            inet 127.0.0.1 netmask ff000000 
    nxge0: flags=1004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4> mtu 1500 index 2
            inet 10.6.212.149 netmask fffffe00 broadcast 10.6.213.255
            ether 0:21:28:4:27:cc

    この例では、nxge0 インタフェースが primary ドメインのネットワークインタフェースとして使用されます。

  5. ネットワークインタフェースが接続されている物理デバイスを確認します。

    次のコマンドでは、nxge0 ネットワークインタフェースを使用します。

    primary# ls -l /dev/nxge0
    lrwxrwxrwx   1 root     root          46 Jul 30 17:29 /dev/nxge0 ->
    ../devices/pci@500/pci@0/pci@8/network@0:nxge0

    この例で、primary ドメインによって使用されるネットワークインタフェースの物理デバイスは、手順 1 の MB/NET0 一覧に対応する PCIe エンドポイントデバイス (pci@500/pci@0/pci@8) に接続されています。そのため、このデバイスを primary ドメインから削除しないでください。他の PCIe デバイスはすべて、primary ドメインで使用されないため、他のドメインに安全に割り当てることができます。

    primary ドメインで使用されているネットワークインタフェースが、別のドメインに割り当てようとしているバス上にある場合は、別のネットワークインタフェースを使用するように primary ドメインを再構成する必要があります。

  6. I/O ドメインで使用する可能性がある PCIe エンドポイントデバイスを削除します。

    この例では、PCIE2PCIE3PCIE4、および PCIE5 エンドポイントデバイスが primary ドメインで使用されないため、これらを削除できます。

    1. PCIe エンドポイントデバイスを削除します。

      注意

      注意 - primary ドメインで使用されるデバイスは削除しないでください。

      誤ってデバイスを削除してしまった場合は、ldm cancel-op reconf primary コマンドを使用して、primary ドメインでの遅延再構成を取り消します。


      再起動の繰り返しを避けるために、同時に複数のデバイスを削除できます。

      # ldm rm-io PCIE2 primary
      Initiating a delayed reconfiguration operation on the primary domain.
      All configuration changes for other domains are disabled until the primary
      domain reboots, at which time the new configuration for the primary domain
      will also take effect.
      # ldm rm-io PCIE3 primary
      ------------------------------------------------------------------------------
      Notice: The primary domain is in the process of a delayed reconfiguration.
      Any changes made to the primary domain will only take effect after it reboots.
      ------------------------------------------------------------------------------
      # ldm rm-io PCIE4 primary
      ------------------------------------------------------------------------------
      Notice: The primary domain is in the process of a delayed reconfiguration.
      Any changes made to the primary domain will only take effect after it reboots.
      ------------------------------------------------------------------------------
      # ldm rm-io PCIE5 primary
      ------------------------------------------------------------------------------
      Notice: The primary domain is in the process of a delayed reconfiguration.
      Any changes made to the primary domain will only take effect after it reboots.
      ------------------------------------------------------------------------------
    2. 新しい構成をサービスプロセッサ (Service Processor、SP) に保存します。

      次のコマンドにより、dio という名前のファイルに構成が保存されます。

      # ldm add-config dio
    3. システムを再起動し、PCIe エンドポイントデバイスの削除を反映させます。
      # reboot -- -r
  7. primary ドメインにログインし、PCIe エンドポイントデバイスのドメインへの割り当てが解除されたことを確認します。
    # ldm list-io
    IO              PSEUDONYM       DOMAIN
    --              ---------       ------
    pci@400         pci_0           primary
    pci@500         pci_1           primary
    
    PCIE                 PSEUDONYM  STATUS  DOMAIN
    ----                 ---------  ------  ------
    pci@400/pci@0/pci@c  PCIE1      EMP     -
    pci@400/pci@0/pci@9  PCIE2      OCC
    pci@400/pci@0/pci@d  PCIE3      OCC
    pci@400/pci@0/pci@8  MB/SASHBA  OCC     primary
    pci@500/pci@0/pci@9  PCIE0      EMP     -
    pci@500/pci@0/pci@d  PCIE4      OCC
    pci@500/pci@0/pci@c  PCIE5      OCC
    pci@500/pci@0/pci@8  MB/NET0    OCC     primary

    注 - ldm list-io -l の出力で、削除された PCIe エンドポイントデバイスについて SUNW,assigned-device と表示されることがあります。実際の情報は primary ドメインから取得できなくなりますが、デバイスが割り当てられたドメインにはこの情報が存在しています。


  8. PCIe エンドポイントデバイスをドメインに割り当てます。
    1. PCIE2 デバイスを ldg1 ドメインに追加します。
      # ldm add-io PCIE2 ldg1
    2. ldg1 ドメインをバインドし、起動します。
      # ldm bind ldg1
      # ldm start ldg1
      LDom ldg1 started
  9. ldg1 ドメインにログインし、デバイスが使用可能であることを確認します。

    dladm show-dev コマンドを使用して、ネットワークデバイスが利用可能であることを確認します。そのあとで、ネットワークデバイスをドメインで使用するための構成を行います。

    # dladm show-dev
    vnet0           link: up        speed: 0     Mbps       duplex: unknown
    nxge0           link: unknown   speed: 0     Mbps       duplex: unknown
    nxge1           link: unknown   speed: 0     Mbps       duplex: unknown
    nxge2           link: unknown   speed: 0     Mbps       duplex: unknown
    nxge3           link: unknown   speed: 0     Mbps       duplex: unknown