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

ドキュメントの情報

はじめに

パート I Oracle VM Server for SPARC 3.0 ソフトウェア

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

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

3.  Oracle VM Server for SPARC のセキュリティー

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

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

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

I/O ドメインの概要

I/O ドメインを作成するための一般的なガイドライン

PCIe バスの割り当て

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

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

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

直接 I/O 機能の現在の制限事項

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

ルートドメインのリブート

PCIe ハードウェアの変更

PCIe エンドポイントデバイスを割り当てることによって I/O ドメインを作成する方法

PCIe SR-IOV 仮想機能の使用

SR-IOV の概要

SR-IOV のハードウェア要件とソフトウェア要件

SR-IOV 機能の現在の制限事項

PCIe SR-IOV 仮想機能の使用の計画

仮想機能の作成、変更、および破棄

仮想機能を作成する方法

仮想機能を変更する方法

仮想機能を破棄する方法

I/O ドメイン上の仮想機能の追加および削除

仮想機能を I/O ドメインに追加する方法

仮想機能を I/O ドメインから削除する方法

SR-IOV: ルートドメインのリブート

I/O ドメインを作成するための SR-IOV 仮想機能の使用

SR-IOV 仮想機能を割り当てることによって I/O ドメインを作成する方法

SR-IOV の詳細なトピック

SR-IOV デバイス固有のプロパティー

仮想機能のための高度なネットワーク構成

7.  仮想ディスクの使用

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

9.  ドメインの移行

10.  リソースの管理

11.  ドメイン構成の管理

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

パート II オプションの Oracle VM Server for SPARC ソフトウェア

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

14.  Oracle VM Server for SPARC Configuration Assistant (Oracle Solaris 10)

15.  電源管理の使用

16.  Oracle VM Server for SPARC 管理情報ベース (MIB) ソフトウェアの使用

17.  Logical Domains Manager の検出

18.  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 として識別されます。


注意

注意 - ldm rm-io コマンドを使用して PCIe エンドポイントデバイスを primary ドメインから削除した後、Oracle Solaris ホットプラグ操作を使用してそのデバイスを「ホットリムーブ」することはできません。PCIe エンドポイントデバイスの交換または取り外しの詳細は、「PCIe ハードウェアの変更」を参照してください。


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

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

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

DIO 機能により、スロットの任意の PCIe カードを I/O ドメインに割り当てることができますが、サポートされるのは特定の PCIe カードのみです。『Oracle VM Server for SPARC 3.0 リリースノート』の「直接 I/O のハードウェア要件とソフトウェア要件」を参照してください。


注意

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


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

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

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


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


直接 I/O 機能を使用して PCIe エンドポイントデバイスを追加または削除するには、まず PCIe バス自体で I/O 仮想化を有効にする必要があります。

ldm set-io または ldm add-io コマンドを使用すると、iov プロパティーを on に設定できます。また、ldm add-domain または ldm set-domain コマンドを使用すると、rc-add-policy プロパティーを iov に設定できます。ldm(1M) マニュアルページを参照してください。

ルートドメインをリブートすると直接 I/O に影響を及ぼすため、直接 I/O の構成変更は、直接 I/O に関連する primary ドメインの変更が最大限になり、primary ドメインのリブートが最小限になるように、十分に計画してください。

直接 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 サブコマンドでデバイスを指定するには、デバイスパスの代わりに仮名を使用します。


    注 - 遅延再構成時に、必要なすべてのデバイスを削除したあとですべての変更を有効にするには、primary ドメインを 1 回だけリブートする必要があります。


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

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

  5. ルートドメインをリブートし、段階 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 ドメインは 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 の導入はすべて事前に計画します。


注意

注意 - SPARC T3-1 または SPARC T4-1 システム上の /SYS/MB/SASHBA1 スロットを DIO ドメインに割り当てると、primary ドメインはオンボードの DVD デバイスへのアクセスを失います。

SPARC T3-1 および SPARC T4-1 システムには、オンボードのストレージ用に 2 基の DIO スロットが搭載されており、それらは /SYS/MB/SASHBA0 および /SYS/MB/SASHBA1 パスで表されます。/SYS/MB/SASHBA1 スロットは、複数ヘッドのオンボードのディスクに加え、オンボードの DVD デバイスも収容します。そのため、/SYS/MB/SASHBA1 を DIO ドメインに割り当てると、primary ドメインはオンボードの DVD デバイスへのアクセスを失います。

SPARC T3-2 および SPARC T4-2 システムには 1 つの SASHBA スロットがあり、それにすべてのオンボードのディスクとオンボードの DVD デバイスが収容されます。そのため、SASHBA を DIO ドメインに割り当てると、オンボードのディスクおよびオンボードの DVD デバイスが DIO ドメインに貸し出されるため、primary ドメインには利用できなくなります。


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


注 - 今回のリリースでは、DefaultFixed NCP を使用して、Oracle Solaris 11 システム上にデータリンクおよびネットワークインタフェースを構成することをお勧めします。

Oracle Solaris 11 OSには、次の NCP が含まれています。

netadm list コマンドを使用して、DefaultFixed NCP が有効になっていることを確認します。『Oracle Solaris Administration: Network Interfaces and Network Virtualization』の第 7 章「Using Datalink and Interface Configuration Commands on Profiles」を参照してください。


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

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


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


    # ldm list-io -l
    NAME                                      TYPE   BUS      DOMAIN   STATUS   
    ----                                      ----   ---      ------   ------   
    niu_0                                     NIU    niu_0    primary           
    [niu@480]
    niu_1                                     NIU    niu_1    primary           
    [niu@580]
    pci_0                                     BUS    pci_0    primary           
    [pci@400]
    pci_1                                     BUS    pci_1    primary           
    [pci@500]
    /SYS/MB/PCIE0                             PCIE   pci_0    primary  OCC      
    [pci@400/pci@2/pci@0/pci@8]
        SUNW,emlxs@0/fp/disk
        SUNW,emlxs@0/fp/tape
        SUNW,emlxs@0/fp@0,0
        SUNW,emlxs@0,1/fp/disk
        SUNW,emlxs@0,1/fp/tape
        SUNW,emlxs@0,1/fp@0,0
    /SYS/MB/PCIE2                             PCIE   pci_0    primary  OCC      
    [pci@400/pci@2/pci@0/pci@4]
        pci/scsi/disk
        pci/scsi/tape
        pci/scsi/disk
        pci/scsi/tape
    /SYS/MB/PCIE4                             PCIE   pci_0    primary  OCC      
    [pci@400/pci@2/pci@0/pci@0]
        ethernet@0
        ethernet@0,1
        SUNW,qlc@0,2/fp/disk
        SUNW,qlc@0,2/fp@0,0
        SUNW,qlc@0,3/fp/disk
        SUNW,qlc@0,3/fp@0,0
    /SYS/MB/PCIE6                             PCIE   pci_0    primary  EMP      
    [pci@400/pci@1/pci@0/pci@8]
    /SYS/MB/PCIE8                             PCIE   pci_0    primary  EMP      
    [pci@400/pci@1/pci@0/pci@c]
    /SYS/MB/SASHBA                            PCIE   pci_0    primary  OCC      
    [pci@400/pci@2/pci@0/pci@e]
        scsi@0/iport@1
        scsi@0/iport@2
        scsi@0/iport@4
        scsi@0/iport@8
        scsi@0/iport@80/cdrom@p7,0
        scsi@0/iport@v0
    /SYS/MB/NET0                              PCIE   pci_0    primary  OCC      
    [pci@400/pci@1/pci@0/pci@4]
        network@0
        network@0,1
    /SYS/MB/PCIE1                             PCIE   pci_1    primary  OCC      
    [pci@500/pci@2/pci@0/pci@a]
        SUNW,qlc@0/fp/disk
        SUNW,qlc@0/fp@0,0
        SUNW,qlc@0,1/fp/disk
        SUNW,qlc@0,1/fp@0,0
    /SYS/MB/PCIE3                             PCIE   pci_1    primary  OCC      
    [pci@500/pci@2/pci@0/pci@6]
        network@0
        network@0,1
        network@0,2
        network@0,3
    /SYS/MB/PCIE5                             PCIE   pci_1    primary  OCC      
    [pci@500/pci@2/pci@0/pci@0]
        network@0
        network@0,1
    /SYS/MB/PCIE7                             PCIE   pci_1    primary  EMP      
    [pci@500/pci@1/pci@0/pci@6]
    /SYS/MB/PCIE9                             PCIE   pci_1    primary  EMP      
    [pci@500/pci@1/pci@0/pci@0]
    /SYS/MB/NET2                              PCIE   pci_1    primary  OCC      
    [pci@500/pci@1/pci@0/pci@5]
        network@0
        network@0,1
        ethernet@0,80
    /SYS/MB/NET0/IOVNET.PF0                   PF     pci_0    primary           
    [pci@400/pci@1/pci@0/pci@4/network@0]
        maxvfs = 7
    /SYS/MB/NET0/IOVNET.PF1                   PF     pci_0    primary           
    [pci@400/pci@1/pci@0/pci@4/network@0,1]
        maxvfs = 7
    /SYS/MB/PCIE5/IOVNET.PF0                  PF     pci_1    primary           
    [pci@500/pci@2/pci@0/pci@0/network@0]
        maxvfs = 63
    /SYS/MB/PCIE5/IOVNET.PF1                  PF     pci_1    primary           
    [pci@500/pci@2/pci@0/pci@0/network@0,1]
        maxvfs = 63
    /SYS/MB/NET2/IOVNET.PF0                   PF     pci_1    primary           
    [pci@500/pci@1/pci@0/pci@5/network@0]
        maxvfs = 7
    /SYS/MB/NET2/IOVNET.PF1                   PF     pci_1    primary           
    [pci@500/pci@1/pci@0/pci@5/network@0,1]
        maxvfs = 7
  2. 保持する必要があるブートディスクのデバイスパスを確認します。

    「PCIe バスの割り当てによって I/O ドメインを作成する方法」の段階 2 を参照してください。

  3. ブロック型デバイスが接続されている物理デバイスを確認します。

    「PCIe バスの割り当てによって I/O ドメインを作成する方法」の段階 3 を参照してください。

  4. システムで使用されているネットワークインタフェースを確認します。

    「PCIe バスの割り当てによって I/O ドメインを作成する方法」の段階 4 を参照してください。

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

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

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

    この例で、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-reconf primary コマンドを使用して、primary ドメインでの遅延再構成を取り消します。


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

      # ldm start-reconf primary
      primary# ldm set-io iov=on pci_1
      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.
      primary# ldm remove-io /SYS/MB/PCIE1 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.
      ------------------------------------------------------------------------------
      primary# ldm remove-io /SYS/MB/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.
      ------------------------------------------------------------------------------
      primary# ldm remove-io /SYS/MB/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. 新しい構成をサービスプロセッサ (SP) に保存します。

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

      # ldm add-config dio
    3. システムをリブートし、PCIe エンドポイントデバイスの削除を反映させます。
      # reboot -- -r
  7. primary ドメインにログインし、PCIe エンドポイントデバイスのドメインへの割り当てが解除されたことを確認します。
    # ldm list-io
    NAME                                      TYPE   BUS      DOMAIN   STATUS   
    ----                                      ----   ---      ------   ------   
    niu_0                                     NIU    niu_0    primary           
    niu_1                                     NIU    niu_1    primary           
    pci_0                                     BUS    pci_0    primary           
    pci_1                                     BUS    pci_1    primary  IOV      
    /SYS/MB/PCIE0                             PCIE   pci_0    primary  OCC      
    /SYS/MB/PCIE2                             PCIE   pci_0    primary  OCC      
    /SYS/MB/PCIE4                             PCIE   pci_0    primary  OCC      
    /SYS/MB/PCIE6                             PCIE   pci_0    primary  EMP      
    /SYS/MB/PCIE8                             PCIE   pci_0    primary  EMP      
    /SYS/MB/SASHBA                            PCIE   pci_0    primary  OCC      
    /SYS/MB/NET0                              PCIE   pci_0    primary  OCC      
    /SYS/MB/PCIE1                             PCIE   pci_1             OCC      
    /SYS/MB/PCIE3                             PCIE   pci_1             OCC      
    /SYS/MB/PCIE5                             PCIE   pci_1             OCC      
    /SYS/MB/PCIE7                             PCIE   pci_1    primary  EMP      
    /SYS/MB/PCIE9                             PCIE   pci_1    primary  EMP      
    /SYS/MB/NET2                              PCIE   pci_1    primary  OCC      
    /SYS/MB/NET0/IOVNET.PF0                   PF     pci_0    primary           
    /SYS/MB/NET0/IOVNET.PF1                   PF     pci_0    primary           
    /SYS/MB/NET2/IOVNET.PF0                   PF     pci_1    primary           
    /SYS/MB/NET2/IOVNET.PF1                   PF     pci_1    primary

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


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

    ネットワークデバイスが使用可能であることを確認してから、ネットワークデバイスをドメインで使用するための構成を行います。

    • Oracle Solaris 10。次のコマンドを実行します:
      # dladm show-dev
      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
    • Oracle Solaris 11。次のコマンドを実行します:
      # dladm show-phys
      LINK              MEDIA                STATE      SPEED  DUPLEX    DEVICE
      net0              Ethernet             unknown    0      unknown   nxge0
      net1              Ethernet             unknown    0      unknown   nxge1
      net2              Ethernet             unknown    0      unknown   nxge2
      net3              Ethernet             unknown    0      unknown   nxge3