本节介绍如何动态创建和销毁虚拟功能。如果无法使用动态方法来执行这些操作,请在创建或销毁虚拟功能之前在根域上启动延迟重新配置。
如果无法使用此动态方法,请改用静态方法。请参见静态 SR-IOV。
primary# ldm list-io
请注意,物理功能的名称包括 PCIe SR-IOV 卡或板载设备的位置信息。
请只有在未对具有物理功能的总线启用 I/O 虚拟化时才执行此步骤。
在创建一个或多个虚拟功能后,您可以将其分配给来宾域。
primary# ldm create-vf -n number | max pf-name
使用 ldm create-vf -n max 命令可一次创建该物理功能的所有虚拟功能。此命令自动为每个虚拟功能分配端口和节点 WWN 并将 bw-percent 属性设置为默认值 0。此值指定向所有虚拟功能分配公平份额带宽。
您可以使用路径名称或 pseudonym 名称指定虚拟功能。但是,建议做法是使用 pseudonym 名称。
ldm create-vf [bw-percent=value] [port-wwn=value node-wwn=value] pf-name
您还可以手动指定特定于光纤通道类的属性值。
根域重新引导(包括 primary 的重新引导)后或者您使用 ldm create-vf 或 ldm destroy-vf 命令后,状态可能立即为 INV。
primary# ldm start-reconf root-domain-name
使用如前所示的相同命令动态创建虚拟功能。
primary# ldm stop-domain -r root-domain
primary# shutdown -i6 -g0 -y
此示例显示了有关 /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/IOVFC.PF0 PF pci_0 rootdom1 [pci@400/pci@1/pci@0/pci@6/SUNW,emlxs@0] maxvfs = 8示例 23 动态创建光纤通道虚拟功能而不设置可选属性
此示例会动态创建一个虚拟功能,而不设置任何可选属性。在本例中,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示例 24 动态创建光纤通道虚拟功能并设置属性
此示例以动态方法创建一个虚拟功能,同时将 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示例 25 以静态方法创建光纤通道虚拟功能而不设置可选属性
此示例会静态创建一个虚拟功能,而不设置任何可选属性。在本例中,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
rootdom1 是 primary 域
primary# shutdown -i6 -g0 -y