此过程介绍如何创建 InfiniBand SR-IOV 虚拟功能。
primary# ldm start-reconf root-domain-name
请只有在未对具有物理功能的总线启用 I/O 虚拟化时才执行此步骤。
primary# ldm set-io iov=on bus
primary# ldm create-vf pf-name
您可以为要创建的每个虚拟功能运行此命令。您还可以使用 –n 选项通过单个命令创建基于同一物理功能的多个虚拟功能。请参见示例 10和 ldm(1M) 手册页。
运行以下命令之一:
primary# ldm stop-domain -r root-domain
primary# shutdown -i6 -g0 -y
以下示例显示有关物理功能 /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 SR-IOV 虚拟功能。
如果当前未将虚拟功能分配给域,则可以销毁该虚拟功能。虚拟功能只能按照与创建时相反的顺序进行销毁,因此,只能销毁已创建的最后一个虚拟功能。生成的配置由物理功能驱动程序验证。
primary# ldm start-reconf root-domain-name
primary# ldm destroy-vf vf-name
您可以为要销毁的每个虚拟功能运行此命令。您还可以使用 –n 选项通过单个命令销毁基于同一物理功能的多个虚拟功能。请参见示例 12和 ldm(1M) 手册页。
运行以下命令之一:
primary# ldm stop-domain -r root-domain
primary# shutdown -i6 -g0 -y
以下示例说明如何销毁静态 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 ...