容器云怎么直通加载显卡?

背景
自有容器云内加载显卡

场景
自由容器云,如何配置直通模式加载显卡

要求
高效稳定运行

参与9

4同行回答

罗文江罗文江课题专家组云计算架构师某银行
容器云如果是物理机部署K8S集群的模式,则可以直接使用K8S的GPU虚拟化技术 vCUDA或者cGPU,就可以实现了在容器POD实例中高效稳定运行GPU显示。 GPU直通模式(即GPU Passthrough )则是指将GPU在虚拟化平台透传到客户虚拟机的技术,如下所示:Passthrough是指将PCI上的物理设备不经...显示全部

容器云如果是物理机部署K8S集群的模式,则可以直接使用K8S的GPU虚拟化技术 vCUDA或者cGPU,就可以实现了在容器POD实例中高效稳定运行GPU显示。

 GPU直通模式(即GPU Passthrough )则是指将GPU在虚拟化平台透传到客户虚拟机的技术,如下所示:

  1. Passthrough是指将PCI上的物理设备不经过宿主机的os层,直接透传给虚拟机使用。而一般的I/O设备需要经过OS层面的设备驱动,识别该PCI设备,然后将物理设备模拟给虚拟机。
  2. Passthrough 技术机理如下:
    Linux内核的PCI设备交互包括 PCI设备识别 、 PCI设备使用 、 PCI I/O地址空间和内存地址空间映射。
    (A) PCI设备识别:通过PCI配置空间,主要是vendor ID、product ID(由驱动识别),domain、bus、slot、function。
    (B)PCI设备使用:识别后把PCI设备挂载到虚拟机下,在xml写入pci设备地址。
    (C)PCI I/O地址空间和内存地址空间的映射VFIO。
    VFIO把设备通过IOMMU映射的DMA物理内存地址映射到用户态中,让用户态程序可以自行操纵数据的传输,还可以自行注册中断处理函数,从而在用户态下实现设备的驱动程序。VFIO的基础是IOMMU。业界有3种IOMMU技术,分别为Intel vt-d、AMD iommu、ARM Smmu。譬如INTEL VT- D V是对IOVA的地址转换使得直通设备可以在硬件层次直接使用GPA(Guest Physical Address)地址。
  3. 直通模式是对比物理机,其性能损耗最小,硬件驱动无需修改的方案,当前普遍地被各大公用云厂商广泛采用。对于支持直通的GPU而言,直通模式没有对可支持的GPU数量做限制,也没有对GPU功能性做阉割,功能兼容性好 。GPU厂家的绝大多数新功能可以在直通模式下无修改地支持,技术实现简单,运维成本低,对GPU厂商没有依赖 。
        直通模式的缺点是不支持热迁移(Live Migration),也不支持GPU资源的分割 , 也缺失GPU卡的物理级的监控数据。

4. KVM 配置直通模式加载显卡。
(A) 硬件环境准备
确定主板和CPU都支持VT-d技术,即Virtualization Technology for Direct I/O(英特尔虚拟技术),近年的产品应该都支持此技术,在BIOS里开启VT-d支持。 显卡直通需要两块以上显卡,一块主机用,其他的给虚拟机用。
(B) 软件环境准备
安装KVM虚拟化平台,软件包如下:
qemu-kvm -为KVM管理程序提供硬件仿真的软件。
libvirt-daemon-system -用于将libvirt守护程序作为系统服务运行的配置文件。
libvirt-clients -用于管理虚拟化平台的软件。
bridge-utils -一组用于配置以太网桥的命令行工具。
virtinst -一组用于创建虚拟机的命令行工具。
virt-manager -易于使用的GUI界面和支持命令行工具,用于通过libvirt管理虚拟机。
(C) 内核配置支持iommu
在GRUB中配置文件 / etc / default / grub中,配置 GRUB_CMDLINE_LINUX = "intel_iommu=on"
(D) 将显卡从宿主机解绑
在 /etc/modprobe.d/blacklist.conf 将NVIDIA GPU卡禁用 默认驱动 。
(E) 创建虚拟机,在添加PCI设备时,直接选择NVIDIA独立显卡,安装 NVIDIA驱动程序即可。

收起
银行 · 2022-05-01
浏览1445
请参考讲解视频后面的GPU Operator演示内容。显示全部

请参考讲解视频后面的GPU Operator演示内容。

收起
IT咨询服务 · 2022-04-28
浏览1552
Monica WangMonica WangNVIDIA AI Enterprise 产品经理 NVIDIA英伟达
通过NVAIE 软件套件中GPU Operator可以管理GPU,支持K8S 管理编排。NVAIE中vGPU 组件可以实现GPU虚拟化切分。显示全部

通过NVAIE 软件套件中GPU Operator可以管理GPU,支持K8S 管理编排。
NVAIE中vGPU 组件可以实现GPU虚拟化切分。

收起
硬件生产 · 2022-04-28
浏览1522
可以通过GPU Operator来实现 https://docs.nvidia.com/datacenter/cloud-native/contents.html显示全部
互联网服务 · 2022-04-28
浏览1512

提问者

ideazhang
项目经理证通股份
擅长领域: 云计算容器容器云

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2022-04-25
  • 关注会员:5 人
  • 问题浏览:2972
  • 最近回答:2022-05-01
  • X社区推广