10.4. 在放置服务中保留 PCI 设备
要从计算调度程序服务中删除 PCI 设备,您必须找到该设备,然后使用 openstack 命令在放置服务中保留设备,因此将其从计算调度程序服务中删除。保留时,计算服务(nova)无法将设备用于虚拟机(VM)。由于各种原因,可能需要删除该设备,例如修复设备或执行维护。在维护后,您可以执行反向操作来取消保护设备。
先决条件
- 您已在放置中启用了 PCI 跟踪。如需更多信息,请参阅 在放置服务中启用 PCI 设备跟踪。
流程
要保留特定的设备,例如,compute1 上带有 PCI 地址 0000:09:00.0 的设备,您必须使用 命令中的设备资源提供程序(RP)来检索设备的 UUID。设备 RP 是 Compute 节点的主机名和 GPU 的 PCI 地址的组合,如
compute1_0000:09:00.0:$ openstack resource provider list --name compute1_0000:09:00.0 +--------------------------------------+-----------------------+------------+--------------------------------------+--------------------------------------+ | uuid | name | generation | root_provider_uuid | parent_provider_uuid | +--------------------------------------+-----------------------+------------+--------------------------------------+--------------------------------------+ | d3d0f3d7-8376-487f-8849-e43027c31582 | compute1_0000:09:00.0 | 2 | e909b54b-4cea-49f9-bfcb-17c833db51d1 | e909b54b-4cea-49f9-bfcb-17c833db51d1 | +--------------------------------------+-----------------------+------------+--------------------------------------+--------------------------------------+使用设备的
uuid检查 RP 的当前清单。在本例中,UUID 是d3d0f3d7-8376-487f-8849-e43027c31582:$ openstack resource provider inventory list d3d0f3d7-8376-487f-8849-e43027c31582 +----------------------+------------------+----------+----------+----------+-----------+-------+------+ | resource_class | allocation_ratio | min_unit | max_unit | reserved | step_size | total | used | +----------------------+------------------+----------+----------+----------+-----------+-------+------+ | CUSTOM_PCI_8086_10C9 | 1.0 | 1 | 1 | 0 | 1 | 1 | 0 | +----------------------+------------------+----------+----------+----------+-----------+-------+------+注意当您保留设备时,计算调度程序服务将阻止在将来的调度中使用它。但是,该设备可能仍然被预先存在的虚拟机使用。如果清单列表输出中的
使用列的值被设置为 0,则该设备不会被预先存在的虚拟机使用。要保留该设备,将
reserved的值设置为 1:openstack resource provider inventory set d3d0f3d7-8376-487f-8849-e43027c31582 --amend --resource CUSTOM_PCI_8086_10C9:reserved=1 +----------------------+------------------+----------+----------+----------+-----------+-------+ | resource_class | allocation_ratio | min_unit | max_unit | reserved | step_size | total | +----------------------+------------------+----------+----------+----------+-----------+-------+ | CUSTOM_PCI_8086_10C9 | 1.0 | 1 | 1 | 1 | 1 | 1 | +----------------------+------------------+----------+----------+----------+-----------+-------+要取消保护设备并使其可供计算调度程序服务使用,请将
reserved的值设置为 0 :openstack resource provider inventory set d3d0f3d7-8376-487f-8849-e43027c31582 --amend --resource CUSTOM_PCI_8086_10C9:reserved=0 +----------------------+------------------+----------+----------+----------+-----------+-------+ | resource_class | allocation_ratio | min_unit | max_unit | reserved | step_size | total | +----------------------+------------------+----------+----------+----------+-----------+-------+ | CUSTOM_PCI_8086_10C9 | 1.0 | 1 | 1 | 0 | 1 | 1 | +----------------------+------------------+----------+----------+----------+-----------+-------+