Oracle® VM Server for SPARC 3.3 管理指南

退出打印视图

更新时间: 2015 年 10 月
 
 

创建和销毁 InfiniBand 虚拟功能

如何创建 InfiniBand 虚拟功能

此过程介绍如何创建 InfiniBand SR-IOV 虚拟功能。

  1. 在根域上启动延迟重新配置。
    primary# ldm start-reconf root-domain-name
  2. 通过设置 iov=on 启用 I/O 虚拟化。

    请只有在未对具有物理功能的总线启用 I/O 虚拟化时才执行此步骤。

    primary# ldm set-io iov=on bus
  3. 创建一个或多个与该根域中的物理功能关联的虚拟功能。
    primary# ldm create-vf pf-name

    您可以为要创建的每个虚拟功能运行此命令。您还可以使用 –n 选项通过单个命令创建基于同一物理功能的多个虚拟功能。请参见Example 7–6ldm(1M) 手册页。

  4. 重新引导根域。

    运行以下命令之一:

    • 重新引导非 primary 根域。
      primary# ldm stop-domain -r root-domain
    • 重新引导 primary 根域。
      primary# shutdown -i6 -g0 -y
示例 7-14  创建 InfiniBand 虚拟功能

    以下示例显示有关物理功能 /SYS/MB/RISER1/PCIE4/IOVIB.PF0 物理功能的信息:

  • 此物理功能位于 PCIE 插槽 4 中。

  • IOVIB 字符串表示该物理功能是一个 InfiniBand SR-IOV 设备。

primary# ldm list-io
NAME                                      TYPE   BUS      DOMAIN   STATUS
----                                      ----   ---      ------   ------
pci_0                                     BUS    pci_0    primary
niu_0                                     NIU    niu_0    primary
/SYS/MB/RISER0/PCIE0                      PCIE   pci_0    primary  EMP
/SYS/MB/RISER1/PCIE1                      PCIE   pci_0    primary  EMP
/SYS/MB/RISER2/PCIE2                      PCIE   pci_0    primary  EMP
/SYS/MB/RISER0/PCIE3                      PCIE   pci_0    primary  OCC
/SYS/MB/RISER1/PCIE4                      PCIE   pci_0    primary  OCC
/SYS/MB/RISER2/PCIE5                      PCIE   pci_0    primary  EMP
/SYS/MB/SASHBA0                           PCIE   pci_0    primary  OCC
/SYS/MB/SASHBA1                           PCIE   pci_0    primary  OCC
/SYS/MB/NET0                              PCIE   pci_0    primary  OCC
/SYS/MB/NET2                              PCIE   pci_0    primary  OCC
/SYS/MB/RISER0/PCIE3/IOVIB.PF0            PF     pci_0    primary
/SYS/MB/RISER1/PCIE4/IOVIB.PF0            PF     pci_0    primary
/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_0    primary
/SYS/MB/NET2/IOVNET.PF1                   PF     pci_0    primary

以下命令显示有关指定物理功能的更多详细信息。maxvfs 值表示该设备所支持的最多虚拟功能数。

primary# ldm list-io -l /SYS/MB/RISER1/PCIE4/IOVIB.PF0
NAME                                      TYPE   BUS      DOMAIN   STATUS
----                                      ----   ---      ------   ------
/SYS/MB/RISER1/PCIE4/IOVIB.PF0            PF     pci_0    primary
[pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0]
    maxvfs = 64

以下示例说明如何创建静态虚拟功能。首先,在 primary 域上启动延迟重新配置,然后对 pci_0 PCIe 总线启用 I/O 虚拟化。由于已将 pci_0 总线分配到 primary 根域,因此,请使用 ldm set-io 命令启用 I/O 虚拟化。

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
-----------------------------------------------------------------------
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 create-vf 命令从 /SYS/MB/RISER1/PCIE4/IOVIB.PF0 物理功能创建虚拟功能。

primary# ldm create-vf /SYS/MB/RISER1/PCIE4/IOVIB.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/RISER1/PCIE4/IOVIB.PF0.VF0

请注意,在同一个延迟重新配置过程中,可以创建多个虚拟功能。以下命令可以再创建一个虚拟功能:

primary# ldm create-vf /SYS/MB/RISER1/PCIE4/IOVIB.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/RISER1/PCIE4/IOVIB.PF0.VF1

最后,重新引导 primary 根域以使更改生效。

primary# shutdown -i6 -g0 -y
Shutdown started.

Changing to init state 6 - please wait
...

如何销毁 InfiniBand 虚拟功能

此过程介绍如何销毁 InfiniBand SR-IOV 虚拟功能。

如果当前未将虚拟功能分配给域,则可以销毁该虚拟功能。虚拟功能只能按照与创建时相反的顺序进行销毁,因此,只能销毁已创建的最后一个虚拟功能。生成的配置由物理功能驱动程序验证。

  1. 在根域上启动延迟重新配置。
    primary# ldm start-reconf root-domain-name
  2. 销毁一个或多个与该根域中的物理功能关联的虚拟功能。
    primary# ldm destroy-vf vf-name

    您可以为要销毁的每个虚拟功能运行此命令。您还可以使用 –n 选项通过单个命令销毁基于同一物理功能的多个虚拟功能。请参见Example 7–8ldm(1M) 手册页。

  3. 重新引导根域。

    运行以下命令之一:

    • 重新引导非 primary 根域。
      primary# ldm stop-domain -r root-domain
    • 重新引导 primary 根域。
      primary# shutdown -i6 -g0 -y
示例 7-15  销毁 InfiniBand 虚拟功能

以下示例说明如何销毁静态 InfiniBand 虚拟功能 /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF1

ldm list-io 命令可显示有关总线、物理功能和虚拟功能的信息。

primary# ldm list-io
NAME                                      TYPE   BUS      DOMAIN STATUS
----                                      ----   ---      ------ ------
pci_0                                     BUS    pci_0    primary  IOV
...
/SYS/MB/RISER1/PCIE4/IOVIB.PF0            PF     pci_0    primary
...
/SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF0        VF     pci_0
/SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF1        VF     pci_0

可以使用 ldm list-io -l 命令获取有关物理功能和相关虚拟功能的更多详细信息。

primary# ldm list-io -l /SYS/MB/RISER1/PCIE4/IOVIB.PF0
NAME                                      TYPE   BUS      DOMAIN STATUS
----                                      ----   ---      ------ ------
/SYS/MB/RISER1/PCIE4/IOVIB.PF0            PF     pci_0    primary
[pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0]
    maxvfs = 64
/SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF0        VF     pci_0
[pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0,1]
/SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF1        VF     pci_0
[pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0,2]

只有当未将某一虚拟功能分配到域时,才能销毁该虚拟功能。ldm list-io -l 输出中的 DOMAIN 列可显示将虚拟功能分配到的任何域的名称。此外,虚拟功能必须按照与创建时相反的顺序来销毁。因此,在此示例中,必须先销毁 /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF1 虚拟功能,然后再销毁 /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF0 虚拟功能。

在确定了正确的虚拟功能之后,可以将其销毁。首先,启动延迟重新配置。

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 destroy-vf /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF1
-----------------------------------------------------------------------
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 destroy-vf 命令。这样,您也可以销毁 /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF0

最后,重新引导 primary 根域以使更改生效。

primary# shutdown -i6 -g0 -y
Shutdown started.

Changing to init state 6 - please wait
...