Oracle® VM Server for SPARC 3.3 管理指南

退出打印视图

更新时间: 2015 年 10 月
 
 

创建光纤通道 SR-IOV 虚拟功能

本节介绍如何动态创建和销毁虚拟功能。如果无法使用动态方法来执行这些操作,请在创建或销毁虚拟功能之前在根域上启动延迟重新配置。

如何创建光纤通道 SR-IOV 虚拟功能

如果无法使用此动态方法,请改用静态方法。请参见静态 SR-IOV

  1. 确定物理功能设备。
    primary# ldm list-io

    请注意,物理功能的名称包括 PCIe SR-IOV 卡或板载设备的位置信息。

  2. 如果具有物理功能的总线尚未启用 I/O 虚拟化,请启用它。

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

    请参见如何对 PCIe 总线启用 I/O 虚拟化

  3. 基于物理功能用动态或静态方法创建单个虚拟功能或多个虚拟功能。

    在创建一个或多个虚拟功能后,您可以将其分配给来宾域。

    • 动态方法:
      • 要基于一个物理功能同时创建多个虚拟功能,请使用以下命令:
        primary# ldm create-vf -n number | max pf-name

        使用 ldm create-vf -n max 命令可一次创建该物理功能的所有虚拟功能。此命令自动为每个虚拟功能分配端口和节点 WWN 并将 bw-percent 属性设置为默认值 0。此值指定向所有虚拟功能分配公平份额带宽。


        提示  - 同时创建物理功能的所有虚拟功能。如果要手动分配 WWN,请首先创建所有虚拟功能,然后使用 ldm set-io 命令手动为每个虚拟功能分配 WWN 值。此方法最大程度地减少了基于物理功能创建虚拟功能时的状态转换次数。

        您可以使用路径名称或 pseudonym 名称指定虚拟功能。但是,建议做法是使用 pseudonym 名称。

      • 要基于一个物理功能创建一个虚拟功能,请使用以下命令:
        ldm create-vf [bw-percent=value] [port-wwn=value node-wwn=value] pf-name

        您还可以手动指定特定于光纤通道类的属性值。


      注 - OS 探测 IOV 设备时,有时无法立即使用新创建的虚拟功能。使用 ldm list-io 命令确定父物理功能及其子虚拟功能在 "Status"(状态)列中是否具有 INV 值。如果它们具有此值,则等待直到 ldm list-io 输出不再在 "Status"(状态)列中显示 INV 值(大约 45 秒),然后再使用该物理功能或其任何子虚拟功能。如果此状态持续存在,则设备存在问题。

      根域重新引导(包括 primary 的重新引导)后或者您使用 ldm create-vfldm destroy-vf 命令后,状态可能立即为 INV


    • 静态方法:
      1. 启动延迟重新配置。
        primary# ldm start-reconf root-domain-name
      2. 基于物理功能创建单个虚拟功能或多个虚拟功能。

        使用如前所示的相同命令动态创建虚拟功能。

      3. 重新引导根域。
        • 要重新引导非 primary 根域,请使用以下命令:
          primary# ldm stop-domain -r root-domain
        • 要重新引导 primary 根域,请使用以下命令:
          primary# shutdown -i6 -g0 -y
示例 7-18  显示有关光纤通道物理功能的信息

此示例显示了有关 /SYS/MB/PCIE7/IOVFC.PF0 物理功能的信息:

  • 此物理功能来自 PCIe 槽 PCIE7 中的一个板。

  • IOVFC 字符串指示此物理功能是一个光纤通道 SR-IOV 设备。

primary# ldm list-io
NAME                                      TYPE   BUS      DOMAIN   STATUS
----                                      ----   ---      ------   ------
pci_0                                     BUS    pci_0    primary  IOV
pci_1                                     BUS    pci_1    rootdom1 IOV
niu_0                                     NIU    niu_0    primary
niu_1                                     NIU    niu_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    rootdom1 OCC
/SYS/MB/PCIE3                             PCIE   pci_1    rootdom1 OCC
/SYS/MB/PCIE5                             PCIE   pci_1    rootdom1 OCC
/SYS/MB/PCIE7                             PCIE   pci_1    rootdom1 OCC
/SYS/MB/PCIE9                             PCIE   pci_1    rootdom1 OCC
/SYS/MB/NET2                              PCIE   pci_1    rootdom1 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    rootdom1
/SYS/MB/PCIE5/IOVNET.PF1                  PF     pci_1    rootdom1          
/SYS/MB/PCIE7/IOVFC.PF0                   PF     pci_1    rootdom1
/SYS/MB/PCIE7/IOVFC.PF1                   PF     pci_1    rootdom1
/SYS/MB/NET2/IOVNET.PF0                   PF     pci_1    rootdom1
/SYS/MB/NET2/IOVNET.PF1                   PF     pci_1    rootdom1

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

primary# ldm list-io -l /SYS/MB/PCIE7/IOVFC.PF0
NAME                                      TYPE   BUS      DOMAIN   STATUS   
----                                      ----   ---      ------   ------   
/SYS/MB/PCIE7/IOVNET.PF0                  PF     pci_0    rootdom1           
[pci@400/pci@1/pci@0/pci@6/SUNW,fcdev@0]
    maxvfs = 8
示例 7-19  动态创建光纤通道虚拟功能而不设置可选属性

此示例会动态创建一个虚拟功能,而不设置任何可选属性。在本例中,ldm create-vf 命令自动分配默认带宽百分比、端口全球名称 (world-wide name, WWN) 以及节点 WWN 值。

确保已对 pci_1 PCIe 总线启用 I/O 虚拟化。请参见如何对 PCIe 总线启用 I/O 虚拟化

您可以使用 ldm create-vf 命令创建基于 /SYS/MB/PCIE7/IOVFC.PF0 物理功能的所有虚拟功能。

primary# ldm create-vf -n max /SYS/MB/PCIE7/IOVFC.PF0
Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF0
Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF1
Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF2
Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF3
Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF4
Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF5
Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF6
Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF7
示例 7-20  动态创建光纤通道虚拟功能并设置属性

此示例以动态方法创建一个虚拟功能,同时将 bw-percent 属性值设置为 25 并指定端口和节点 WWN。

primary# ldm create-vf port-wwn=10:00:00:14:4F:FC:00:01 \
node-wwn=20:00:00:14:4F:FC:00:01 bw-percent=25 /SYS/MB/PCIE7/IOVFC.PF0
示例 7-21  以静态方法创建光纤通道虚拟功能而不设置可选属性

此示例会静态创建一个虚拟功能,而不设置任何可选属性。在本例中,ldm create-vf 命令自动分配默认带宽百分比、端口全球名称 (world-wide name, WWN) 以及节点 WWN 值。

首先在 rootdom1 域上启动延迟重新配置。然后,在 pci_1 PCIe 总线上启用 I/O 虚拟化。由于 pci_1 总线已分配到 rootdom1 根域,因此,请使用 ldm set-io 命令启用 I/O 虚拟化。

primary# ldm start-reconf rootdom1
Initiating a delayed reconfiguration operation on the rootdom1 domain.
All configuration changes for other domains are disabled until the rootdom1
domain reboots, at which time the new configuration for the rootdom1 domain
will also take effect.

primary# ldm set-io iov=on pci_1

请注意,您可以使用 ldm create-vf 命令创建基于 /SYS/MB/PCIE7/IOVFC.PF0 物理功能的所有虚拟功能。

primary# ldm create-vf -n max /SYS/MB/PCIE7/IOVFC.PF0

------------------------------------------------------------------------------
Notice: The rootdom1 domain is in the process of a delayed reconfiguration.
Any changes made to the rootdom1 domain will only take effect after it reboots.
------------------------------------------------------------------------------

Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF0
Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF1
Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF2
Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF3
Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF4
Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF5
Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF6
Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF7

    最后,采用下列方法之一重新引导 rootdom1 根域以使更改生效:

  • rootdom1 是一个非 primary 根域

    primary# ldm stop-domain -r rootdom1
  • rootdom1primary

    primary# shutdown -i6 -g0 -y