次の手順で、PCIe SR-IOV 仮想機能を含む I/O ドメインを作成する方法を説明します。
ルートドメインのリブート回数を最小限に抑えて、停止時間を最小限に抑えるように事前に計画してください。
始める前に
始める前に、仮想機能を作成する物理機能の親である PCIe バスの I/O 仮想化を有効化していることを確認します。PCIe バスに対する I/O 仮想化を有効にする方法を参照してください。
primary# ldm list-io
primary# ldm create-vf pf-name
このコマンドは、作成する仮想機能ごとに実行できます。–n オプションを使用すると、1 回のコマンドで同じ物理機能から複数の仮想機能を作成することもできます。Example 8–6 および ldm(1M) のマニュアルページを参照してください。
primary# ldm list-io
primary# ldm add-io vf-name domain-name
次の Oracle Solaris 11 コマンドは、仮想機能の利用度を表示します。
guest# dladm show-phys
次の動的な例は、物理機能 /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使用例 8-13 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