11.16. 虚拟化

在某些情况下,通过 https 或 ssh 安装虚拟机会失败

目前,当尝试通过 https 或 ssh 连接从 ISO 源安装客户机操作系统时,virt-install 工具会失败 - 例如使用 virt-install --cdrom https://example/path/to/image.iso。所描述的操作意外终止并显示 internal error: process exited while connecting to monitor 错误,而不是创建虚拟机(VM)

同样,使用 RHEL 9 web 控制台安装客户机操作系统失败,如果使用 https 或 ssh URL 或 Download OS 功能,则会显示 Unknown driver 'https' 错误。

要临时解决这个问题,请在主机上安装 qemu-kvm-block-curlqemu-kvm-block-ssh 来启用 https 和 ssh 协议支持。或者,使用不同的连接协议或不同的安装源。

Bugzilla:2014229

在虚拟机中使用 NVIDIA 驱动程序会禁用 Wayland

目前,NVIDIA 驱动程序与 Wayland 图形会话不兼容。因此,使用 NVIDIA 驱动程序的 RHEL 客户机操作系统会自动禁用 Wayland 并加载 Xorg 会话。这主要在以下情况下发生:

  • 当您通过 NVIDIA GPU 设备传递给 RHEL 虚拟机(VM)
  • 当您为 RHEL 虚拟机分配 NVIDIA vGPU mediated 设备

Jira:RHELPLAN-117234

在 AMD Milan 系统上有时无法提供 Milan VM CPU 类型

在某些 AMD Milan 系统上,默认在 BIOS 中禁用了增强 REP MOVSB(erms)和 Fast Short REP MOVSB(fsrm)功能标记。因此,在这些系统上可能无法使用 Milan CPU 类型。另外,在具有不同功能标志设置的 Milan 主机之间的虚拟机实时迁移可能会失败。要临时解决这个问题,在主机的 BIOS 中手动打开 ermsfsrm

Bugzilla:2077767

带有故障切换设置的 hostdev 接口在热拔后无法进行热插

从正在运行的虚拟机(VM)中删除带有故障切换配置的 hostdev 网络接口后,该接口目前无法重新连接到同一正在运行的虚拟机。

Bugzilla:2052424

带有故障切换 VF 的虚拟机实时复制迁移失败

目前,如果虚拟机使用启用了虚拟功能(VF)故障转移功能的设备,则试图对一个正在运行的虚拟机(VM)进行 post-copy 迁移会失败。要临时解决这个问题,请使用标准迁移类型,而不要使用 post-copy 迁移方式。

Bugzilla:1817965

主机网络无法在实时迁移过程中 ping 使用 VF 的虚拟机

当使用配置的虚拟功能 (VF) 实时迁移虚拟机时,如使用虚拟 SR-IOV 软件的虚拟机,虚拟机的网络不对其它设备看到,如 ping 之类的命令无法访问虚拟机。完成迁移后,问题将不再发生。

Bugzilla:1789206

在 Windows 虚拟机上不分配 IP 地址故障转移 virtio NIC

目前,当使用故障转移 virtio NIC 启动 Windows 虚拟机时,虚拟机无法为 NIC 分配 IP 地址。因此,NIC 无法设置网络连接。目前,还没有临时解决方案。

Bugzilla:1969724

禁用 AVX 会导致虚拟机无法引导

在使用具有高级向量扩展(AVX)支持的 CPU 的主机上,尝试引导明确禁用 AVX 的虚拟机当前会失败,并触发虚拟机中的内核 panic。

Bugzilla:2005173

在网络接口重置后,Windows VM 无法获取 IP 地址

有时,Windows 虚拟机在自动网络接口重置后无法获取 IP 地址。因此,虚拟机无法连接到网络。要临时解决这个问题,在 Windows 设备管理器中禁用并重新启用网络适配器驱动程序。

Bugzilla:2084003

实时迁移后,Broadcom 网络适配器在 Windows 虚拟机上无法正常工作

目前,广播设备(如 Broadcom、Qlogic 或 Marvell)的网络适配器无法在 Windows 虚拟机实时迁移过程中热拔。因此,在迁移完成后,适配器可以正常工作。

此问题只会影响那些使用单根 I/O 虚拟化 (SR-IOV) 附加到 Windows 虚拟机的适配器。

Bugzilla:2090712, Bugzilla:2091528, Bugzilla:2111319

Windows Server 2016 虚拟机有时会在热插拔 vCPU 后停止工作

目前,将 vCPU 分配给运行 Windows Server 2016 客户机操作系统的虚拟机(VM)可能会导致各种问题,如虚拟机意外终止、变得没有响应或重启。

Bugzilla:1915715

使用大量队列可能会导致 Windows 虚拟机失败

当启用了虚拟可信平台模块(vTPM)设备,且将 multi-queue virtio-net 功能配置为使用超过 250 个队列时,Windows 虚拟机(VM)可能会失败。

这个问题是由 vTPM 设备的限制造成的。vTPM 设备对于打开的文件描述符的最大数量有一个硬性的限制。因为会为每个新队列打开多个文件描述符,因此可能会超过内部 vTPM 的限值,从而导致虚拟机失败。

要临时解决这个问题,请选择以下两个选项之一:

  • 保持 vTPM 设备启用,但使用少于 250 个队列。
  • 禁用 vTPM 设备以使用超过 250 个队列。

Bugzilla:2020146

在具有 NVIDIA passthrough 设备的虚拟机上的冗余错误消息

当使用运行 RHEL 9.2 操作系统的 Intel 主机时,具有 passthrough NVDIA GPU 设备的虚拟机(VM)会频繁记录以下出错信息:

Spurious APIC interrupt (vector 0xFF) on CPU#2, should never happen.

但是,这个错误消息不会影响虚拟机的功能,可以忽略。详情请查看 红帽知识库

Bugzilla:2149989

在带有 AMD EPYC CPU 的主机上进行 v2v 转换后,一些 Windows 客户机不能启动

在使用 virt-v2v 工具将使用 Windows 11 或 Windows Server 2022 的虚拟机(VM)转换为客户机操作系统后,虚拟机当前不能启动。这会在使用 AMD EPYC 系列 CPU 的主机上发生。

Bugzilla:2168082

在主机上重启 OVS 服务可能会阻止在其上运行的虚拟机的网络连接

当 Open vSwitch (OVS)服务在主机上重启时或崩溃时,在此主机上运行的虚拟机(VM)无法恢复网络设备的状态。因此,虚拟机可能无法完全接收数据包。

此问题只会影响在 virtio 网络堆栈中使用压缩 virtqueue 格式的系统。

要临时解决这个问题,使用 virtio 网络设备定义中的 packed=off 参数来禁用压缩的 virtqueue。当禁用压缩的 virtqueue 时,网络设备的状态在某些情况下可以从 RAM 中恢复。

Bugzilla:1947422

Nvidia GPU 驱动程序在虚拟机关闭后停止工作

RHEL 内核已采用了上游 Linux 更改,使设备电源转换延迟更接近 PCIe 规格所要求的延迟。因此,由于 GPU 的音频功能,一些 Nvidia GPU 可能会在关闭虚拟机后停止工作。

要临时解决这个问题,请从虚拟机上去除 GPU 的音频功能。另外,由于设备分配的 DMA 隔离要求(即 IOMMU 分组),将音频功能绑定到 vfio-pci 驱动程序,这将允许 GPU 功能继续被分配,且工作正常。

Bugzilla:2178956

nodedev-dumpxml 无法正确列出某些介质设备的属性

目前,nodedev-dumpxml 无法正确列出使用 nodedev-create 命令创建的介质设备的属性。要临时解决这个问题,请使用 nodedev-definenodedev-start 命令。

Bugzilla:2143158

恢复中断的复制后虚拟机迁移可能会失败

如果虚拟机(VM)的复制后迁移中断,然后在同一传入端口上立即恢复,则迁移可能会失败,并显示以下错误 Address already in use

要临时解决这个问题,请在恢复后复制迁移或切换到迁移恢复的另一个端口前至少等待 10 秒。

Bugzilla:2178376

重启 virtqemudlibvirtd后,无法附加 virtiofs 设备

目前,重启 virtqemudlibvirtd 服务会防止 virtiofs 存储设备附加到主机上的虚拟机。

Bugzilla:2078693

virsh blkiotune --weight 命令无法设置正确的 cgroup I/O 控制器值

目前,使用 virsh blkiotune --weight 命令设置 VM 权重无法按预期工作。该命令无法在 cgroup I/O 控制器接口文件中设置正确的 io.bfq.weight 值。目前还没有临时解决方案。

Jira:RHELPLAN-83423

将 Watchdog 卡热插到虚拟机失败

目前,如果没有可用的 PCI 插槽,向正在运行的虚拟机(VM)添加 Watchdog 卡会失败,并显示以下错误:

Failed to configure watchdog
ERROR Error attempting device hotplug: internal error: No more available PCI slots

要临时解决这个问题,请在添加 Watchdog 卡前关闭虚拟机。

Bugzilla:2173584

NUMA 节点映射在 AMD EPYC CPU 上无法正常工作

QEMU 无法正确处理 AMD EPYC CPU 上的 NUMA 节点映射。因此,如果使用 NUMA 节点配置,具有这些 CPU 的虚拟机(VM)的性能可能会受到负面影响。另外,虚拟机在启动过程中会显示类似如下的警告。

sched: CPU #4's llc-sibling CPU #3 is not on the same node! [node: 1 != 0]. Ignoring dependency.
WARNING: CPU: 4 PID: 0 at arch/x86/kernel/smpboot.c:415 topology_sane.isra.0+0x6b/0x80

要临时解决这个问题,请不要将 AMD EPYC CPU 用于 NUMA 节点配置。

Bugzilla:2176010

虚拟机迁移过程中的 NFS 故障会导致迁移失败和源虚拟机 coredump

目前,如果 NFS 服务或服务器在虚拟机(VM)迁移过程中关闭,则源虚拟机的 QEMU 在重新开始运行时无法重新连接到 NFS 服务器。因此,迁移会失败,并在源虚拟机上发起 coredump。目前,还没有可用的临时解决方案。

Bugzilla:2058982

PCIe ATS 设备无法在 Windows 虚拟机上工作

当您在带有 Windows 客户机操作系统的虚拟机的 XML 配置中配置 PCIe 地址转换服务(ATS)设备时,在引导虚拟机后,客户机不会启用 ATS 设备。这是因为 Windows 目前不支持 virtio 设备上的 ATS。

Bugzilla:2073872