6.10. 主机设备

6.10.1. 将主机设备添加到虚拟机

若要提高性能,您可以将主机设备附加到虚拟机。

主机设备是连接到特定主机机器的物理设备,例如:

  • SCSI 磁带驱动器、磁盘和更改器
  • PCI NIC、GPU 和 HBA
  • USB mice、相机和磁盘

要将主机设备添加到虚拟机,您可以使用虚拟机的主机设备属性。首先,您可以选择其中一个集群主机和设备类型。然后,您选择并附加该主机上的一个或多个主机设备。

重要

当您更改 Pinned Host 设置时,它会删除当前的主机设备。保存这些更改时,它会在虚拟机的主机设置中将 Start Running On 设置为 Specific Host(s),并使用 Pinned Host 设置指定您之前选择的主机。

完成附加一个或多个主机设备后,您将运行虚拟机以应用更改。虚拟机将在附加的主机设备的主机上启动。

如果虚拟机无法在指定主机上启动或访问主机设备,它将取消启动操作,并生成一条包含原因相关信息的错误消息。

先决条件

  • 主机的状态为 Up
  • 主机配置为直接分配设备。

流程

  1. 在管理门户中,点 ComputeVirtual Machines
  2. 关闭虚拟机。
  3. 单击虚拟机的名称,以转至详情视图。
  4. 单击 主机设备 选项卡。
  5. Add device。此时将打开 Add Host Devices 窗格。
  6. 使用 Pinned Host 选择运行虚拟机的主机。
  7. 使用 Capability 列出 pciscsinvdimmusb_device 设备。

    注意

    nvdimm 选项是一个技术预览功能。如需更多信息,请参阅 nvdimm 主机设备

  8. 使用 可用主机设备 选择设备.
  9. 单击向下箭头,将设备移到要连接的主机设备
  10. 单击 OK 以将这些设备附加到虚拟机并关闭该窗口。
  11. 可选:如果您附加 SCSI 主机设备,请配置最佳驱动程序。

    1. 单击 编辑 按钮。此时将打开 Edit Virtual Machine 窗格。
    2. 单击 Custom Properties 选项卡。
    3. 单击 Please select a key,然后从下拉列表底部选择 scsi_hostdev
    4. 在大多数情况下,选择 scsi-hd。否则,对于磁带或者 CD 转换器设备,请选择 scsi_generic 选项。如需了解更多详细信息,请参阅 虚拟机自定义属性说明
    5. 单击 确定 按钮。
  12. 运行虚拟机。
  13. 在虚拟机开始运行时,留意 Operation Canceled 错误消息。

故障排除

如果您无法将主机设备添加到虚拟机,或者虚拟机无法使用附加的主机设备开始运行,它会生成 Operation Canceled 错误消息。例如:

Operation Canceled
Error while executing action:

<vm name>:
* Cannot run VM. There is no host that satisfies current scheduling constraints. See below for details:
* The host <first_hostname> did not satisfy internal filter HostDevice because it does not support host device passthrough.
* The host <second_hostname> did not satisfy internal filter HostDevice because the host does not provide requested host devices.

您可以通过从虚拟机中删除主机设备或更正错误消息描述的问题来修复错误。例如:

  • 对于 The host <hostname> did not satisfy internal filter HostDevice because it does not support host device passthrough,配置主机以进行设备直通并重新启动虚拟机。
  • 对于 The host <hostname> did not satisfy internal filter HostDevice because the host does not provide requested host devices,向主机设备添加到主机。
  • 对于 Cannot add Host devices because the VM is in Up status,在添加主机设备前关闭虚拟机。
  • 验证主机的状态是否为 Up

其他资源

6.10.2. 从虚拟机中删除主机设备

如果您要删除直接附加到虚拟机的所有主机设备,以便从其他主机中添加设备,您可以从所需的主机中添加设备,这将自动删除所有已附加到虚拟机的设备。

流程

  1. 单击 ComputeVirtual Machines
  2. 选择要进入详情视图的虚拟机。
  3. 单击 Host Devices 选项卡,以列出附加到虚拟机的主机设备。
  4. 选择要从虚拟机分离的主机设备,或者按 Ctrl 来选择多个设备,然后单击 Remove device。此时将打开 Remove Host Device(s) 窗口。
  5. 单击 OK,以确认这些设备并从虚拟机中分离。

6.10.3. 将虚拟机固定到另一主机

您可以使用虚拟机的详情视图中的主机设备选项卡将其固定到特定的主机上。

如果虚拟机上附加了任何主机设备,将它固定到另一台主机会自动从虚拟机中删除主机设备。

将虚拟机固定到主机

  1. 单击虚拟机名称,然后单击 主机设备 选项卡。
  2. Pin to another host。此时将打开 Pin VM to Host 窗口。
  3. 使用 Host 下拉菜单选择主机。
  4. OK,将虚拟机固定到所选主机。

6.10.4. NVDIMM 主机设备

注意

NVDIMM 设备只是一个技术预览功能。技术预览功能不被红帽产品服务级别协议(SLA)支持,且可能无法完成。红帽不建议在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。如需更多信息,请参阅红帽技术预览功能支持范围

您可以在虚拟机中添加模拟的 NVDIMM 设备。在别处,此类内存也称为 虚拟 NVDIMMvNVDIMM

您可以附加到虚拟机的仿真 NVDIMM 由运行虚拟机的主机上的实际 NVDIMM 支持。因此,当将 NVDIMM 附加到虚拟机时,您还可以将虚拟机固定到特定的主机上。

您可以重新配置虚拟机中模拟 NVDIMM 设备的模式、分区和其他属性,而不影响主机设备中物理 NVDIMM 的设置。

要在虚拟机中添加模拟 NVDIMM,请参阅在虚拟机中添加主机 设备

限制

  • 当虚拟机中有 NVDIMM 设备时,内存快照会被禁用。无法生成 NVDIMM 内容的快照,没有对应的 NVDIMM 数据,内存快照将无法正常工作。
  • 在 RHV 中,传递到虚拟机的每个 NVDIMM 设备都有自动分配的标签区域,固定大小为 128 KB。IBM POWER 硬件,128 KB 是 QEMU 允许的最小标签大小。
  • 默认情况下,虚拟机使用整个 NVDIMM 设备。您无法从虚拟机配置 NVDIMM 的大小。要配置它的大小,请对主机上的 NVDIMM 设备进行分区,并将分区添加到虚拟机中。
  • 虚拟机上 NVDIMM 设备的大小可能稍低于主机上的,以符合 libvirt 以及 QEMU 校准和大小调整。还需要精确调整大小才能使内存热插拔工作。
  • libvirt 和 QEMU 调整其大小和标签放置。如果这些内部安排发生变化,可能会导致数据丢失。
  • 平台不支持 NVDIMM 热插。
  • 具有 NVDIMM 设备的虚拟机无法迁移,因为它们固定到主机中。
  • SELinux 目前阻止访问 devdax 模式中的 NVDIMM 设备。因此,如果主机失败,数据持久性无法保证。请参阅 BZ1855336
重要

避免在 IBM POWER 硬件中使用 NVDIMM。在完成进一步的工作之前,此组合目前并不稳定。