Go to main content
Oracle® VM Server for SPARC 3.4 管理ガイド

印刷ビューの終了

更新: 2016 年 8 月
 
 

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

次の手順で、PCIe SR-IOV 仮想機能を含む I/O ドメインを作成する方法を説明します。

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

ルートドメインのリブート回数を最小限に抑えて、停止時間を最小限に抑えるように事前に計画してください。

始める前に

始める前に、仮想機能を作成する物理機能の親である PCIe バスの I/O 仮想化を有効化していることを確認します。PCIe バスに対する I/O 仮想化を有効にする方法を参照してください。

  1. SR-IOV 機能を使用する I/O ドメインと共有する SR-IOV 物理機能を識別します。
    primary# ldm list-io
  2. 物理機能に対して 1 つ以上の仮想機能を作成します。
    primary# ldm create-vf pf-name

    このコマンドは、作成する仮想機能ごとに実行できます。–n オプションを使用すると、1 回のコマンドで同じ物理機能から複数の仮想機能を作成することもできます。使用例 10および ldm(1M) のマニュアルページを参照してください。


    注 - このコマンドは、ほかの仮想機能が関連付けられている物理機能からすでに作成されている場合、およびそれらの仮想機能のいずれかが別のドメインにバインドされている場合に失敗します。
  3. ルートドメインで使用できる仮想機能のリストを表示します。
    primary# ldm list-io
  4. Step 2 で作成した仮想機能をそのターゲット I/O ドメインに割り当てます。
    primary# ldm add-io vf-name domain-name

    注 - ターゲット I/O ドメインの OS で動的 SR-IOV をサポートしていない場合は、静的方法を使用する必要があります。静的 SR-IOV を参照してください。
  5. 仮想機能が I/O ドメインで使用可能であることを確認します。

    次の Oracle Solaris 11 コマンドは、仮想機能の利用度を表示します。

    guest# dladm show-phys
使用例 16  SR-IOV 仮想機能を割り当てることによる I/O ドメインの動的な作成

次の動的な例は、物理機能 /SYS/MB/NET0/IOVNET.PF0 に対する仮想機能 /SYS/MB/NET0/IOVNET.PF0.VF0 を作成して、仮想機能を ldg1 I/O ドメインに割り当てる方法を示しています。

    この例では、次の状況が当てはまることを前提としています。

  • primary ドメインの OS が動的 SR-IOV 操作をサポートしている

  • pci_0 バスが primary ドメインに割り当てられ、I/O 仮想化操作のために初期化されている

  • /SYS/MB/NET0/IOVNET.PF0 物理機能が pci_0 バスに属している

  • /SYS/MB/NET0/IOVNET.PF0 物理機能に、ドメインに割り当てられた既存の仮想機能がない

  • ldg1 ドメインがアクティブでブートされており、その OS が動的 SR-IOV 操作をサポートしている

/SYS/MB/NET0/IOVNET.PF0 物理機能から仮想機能を作成します。

primary# ldm create-vf /SYS/MB/NET0/IOVNET.PF0
Created new vf: /SYS/MB/NET0/IOVNET.PF0.VF0

/SYS/MB/NET0/IOVNET.PF0.VF0 仮想機能を ldg1 ドメインに追加します。

primary# ldm add-io /SYS/MB/NET0/IOVNET.PF0.VF0 ldg1

次のコマンドは、ldg1 ドメインに仮想機能が追加されていることを示しています。

primary# 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   IOV
pci_1                         BUS   pci_1    primary
/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    primary   OCC
/SYS/MB/PCIE3                 PCIE  pci_1    primary   OCC
/SYS/MB/PCIE5                 PCIE  pci_1    primary   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/PCIE5/IOVNET.PF0      PF    pci_1    primary
/SYS/MB/PCIE5/IOVNET.PF1      PF    pci_1    primary
/SYS/MB/NET2/IOVNET.PF0       PF    pci_1    primary
/SYS/MB/NET2/IOVNET.PF1       PF    pci_1    primary
/SYS/MB/NET0/IOVNET.PF0.VF0   VF    pci_0    ldg1
使用例 17  SR-IOV 仮想機能を割り当てることによる I/O ドメインの静的な作成

次の静的な例は、物理機能 /SYS/MB/NET0/IOVNET.PF0 に対する仮想機能 /SYS/MB/NET0/IOVNET.PF0.VF0 を作成して、仮想機能を ldg1 I/O ドメインに割り当てる方法を示しています。

    この例では、次の状況が当てはまることを前提としています。

  • primary ドメインの OS が動的 SR-IOV 操作をサポートしていない

  • pci_0 バスが primary ドメインに割り当てられ、I/O 仮想化操作のために初期化されていない

  • /SYS/MB/NET0/IOVNET.PF0 物理機能が pci_0 バスに属している

  • /SYS/MB/NET0/IOVNET.PF0 物理機能に、ドメインに割り当てられた既存の仮想機能がない

  • ldg1 ドメインがアクティブでブートされており、その OS が動的 SR-IOV 操作をサポートしていない

  • ldg1 ドメインの auto-boot? プロパティーが true に設定されているため、ドメインが起動時に自動的にブートする

まず、primary ドメインで遅延再構成を開始し、I/O 仮想化を有効にして、/SYS/MB/NET0/IOVNET.PF0 物理機能から仮想機能を作成します。

primary# ldm start-reconf 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.

primary# ldm set-io iov=on pci_0
primary# ldm create-vf /SYS/MB/NET0/IOVNET.PF0

------------------------------------------------------------------------------
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.
------------------------------------------------------------------------------
Created new vf: /SYS/MB/NET0/IOVNET.PF0.VF0

次に、primary ドメインを停止します。

primary# shutdown -i6 -g0 -y

ldg1 ドメインを停止し、仮想機能を追加して、ドメインを起動します。

primary# ldm stop ldg1
primary# ldm add-io /SYS/MB/NET0/IOVNET.PF0.VF0 ldg1
primary# ldm start ldg1

次のコマンドは、ldg1 ドメインに仮想機能が追加されていることを示しています。

primary# 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   IOV
pci_1                         BUS   pci_1    primary
/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    primary   OCC
/SYS/MB/PCIE3                 PCIE  pci_1    primary   OCC
/SYS/MB/PCIE5                 PCIE  pci_1    primary   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/PCIE5/IOVNET.PF0      PF    pci_1    primary
/SYS/MB/PCIE5/IOVNET.PF1      PF    pci_1    primary
/SYS/MB/NET2/IOVNET.PF0       PF    pci_1    primary
/SYS/MB/NET2/IOVNET.PF1       PF    pci_1    primary
/SYS/MB/NET0/IOVNET.PF0.VF0   VF    pci_0    ldg1