在某些情况下,vSphere Bitfusion 服务器的虚拟机会由于 GPU 相关问题而无法启动。

问题

打开 vSphere Bitfusion 服务器的虚拟机的电源时,虚拟机无法启动。

原因

通常,在安装新 vSphere Bitfusion 服务器的过程中,会观察到以下情况。
  • 将同一个 GPU 的多个实例添加到 vSphere Bitfusion 服务器的虚拟机。
  • vSphere Bitfusion 服务器上所用 GPU 的总内存大于 128 GB。
  • 使用已分配给另一个正在运行的虚拟机的 GPU。

解决方案

  • 如果多次添加同一个 GPU,vCenter Server 会多次添加第一个 GPU。必须手动更新其他 GPU 的 PCI 总线的 ID,使其具有唯一值。
    1. vSphere Client 中,右键单击 vSphere Bitfusion 服务器的虚拟机,然后选择编辑设置
    2. 从每个 PCI 设备下拉菜单中,选择 GPU 的唯一 ID。
  • 如果单个 vSphere Bitfusion 服务器上所用 GPU 的总内存大于 128 GB,则必须更改 pciPassthru.64bitMMIOSizeGB 属性的值,该属性是 GPU 直通的高级虚拟机属性。
    1. 计算属性的正确值。计算 vSphere Bitfusion 服务器虚拟机使用的 PCI 设备(例如 GPU)的数量,将该数值乘以 GPU 大小(以 GB 为单位),然后将该值向上舍入到下一个二次方。例如,要对 2 台 16 GB GPU 设备使用 GPU 直通,请将值向上舍入到 64 (2 * 16 = 32 * 2 = 64)。对于单个 16 GB GPU,请使用值 32。
    2. 修改虚拟机属性。
      1. vSphere Client 中,选择 vSphere Bitfusion 服务器的虚拟机,然后将其关闭电源。
      2. 选择虚拟机后,选择操作 > 编辑设置 > 虚拟机选项 > 高级 > 编辑配置
      3. 搜索 pciPassthru.64bitMMIOSizeGB 并设置一个新值。
      4. 打开虚拟机电源。
  • 如果要分配给 vSphere Bitfusion 服务器的虚拟机的 GPU 已分配给正在运行的服务器,则必须选择其他 GPU。您可以将一个 GPU 直通到一个 vSphere Bitfusion 服务器。