9.18.8. 配置 PCI 透传
通过 Peripheral Component Interconnect (PCI) 透传功能,您可以从虚拟机 (VM) 访问和管理硬件设备。配置 PCI 透传后,PCI 设备的功能就如同它们实际上附加到客户机操作系统上一样。
集群管理员可以使用 oc CLI 来公开和管理集群中允许在集群中使用的主机设备。
对于 vfio-pci 来分配 PCI 设备,其他内核驱动程序都无法管理该设备。如果驱动程序已经管理该设备,您必须将特定的内核模块添加到 blocklist 中。
向黑名单中添加内核模块会导致该模块处理的所有设备对主机不可用。
以下示例显示了一个 MachineConfig CR,它通过在 /etc/modprobe.d/ 中创建配置文件并添加内核参数,将 enic 网络驱动程序添加到 blocklist 中:
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
labels:
machineconfiguration.openshift.io/role: worker
name: 100-blacklist-enic
spec:
config:
ignition:
version: 3.4.0
storage:
files:
- contents:
source: data:,blacklist%20enic%0A
mode: 420
overwrite: true
path: /etc/modprobe.d/blacklist-enic.conf
kernelArguments:
- enic.blacklist=1
- rd.driver.blacklist=enic
9.18.8.1. 为 GPU 透传准备节点 复制链接链接已复制到粘贴板!
您可以防止 GPU 操作对象部署到您为 GPU 透传指定的 worker 节点上。
9.18.8.1.1. 防止在节点上部署 NVIDIA GPU 操作对象 复制链接链接已复制到粘贴板!
如果在集群中使用 NVIDIA GPU Operator,您可以将 nvidia.com/gpu.deploy.operands=false 标签应用到您不想为 GPU 或 vGPU 操作对象配置的节点。这可防止创建配置 GPU 或 vGPU 操作对象的 pod,并终止现有的 pod。
先决条件
-
已安装 OpenShift CLI (
oc)。
流程
运行以下命令标记节点:
$ oc label node <node_name> nvidia.com/gpu.deploy.operands=false其中:
<node_name>- 指定您不想安装 NVIDIA GPU 操作对象的节点名称。
验证
运行以下命令,验证标签是否已添加到节点:
$ oc describe node <node_name>可选: 如果之前在节点上部署了 GPU 操作对象,请验证其删除。
运行以下命令,检查
nvidia-gpu-operator命名空间中的 pod 状态:$ oc get pods -n nvidia-gpu-operator输出示例:
NAME READY STATUS RESTARTS AGE gpu-operator-59469b8c5c-hw9wj 1/1 Running 0 8d nvidia-sandbox-validator-7hx98 1/1 Running 0 8d nvidia-sandbox-validator-hdb7p 1/1 Running 0 8d nvidia-sandbox-validator-kxwj7 1/1 Terminating 0 9d nvidia-vfio-manager-7w9fs 1/1 Running 0 8d nvidia-vfio-manager-866pz 1/1 Running 0 8d nvidia-vfio-manager-zqtck 1/1 Terminating 0 9d监控 pod 状态,直到具有
Terminating状态的 pod 被删除:$ oc get pods -n nvidia-gpu-operator输出示例:
NAME READY STATUS RESTARTS AGE gpu-operator-59469b8c5c-hw9wj 1/1 Running 0 8d nvidia-sandbox-validator-7hx98 1/1 Running 0 8d nvidia-sandbox-validator-hdb7p 1/1 Running 0 8d nvidia-vfio-manager-7w9fs 1/1 Running 0 8d nvidia-vfio-manager-866pz 1/1 Running 0 8d