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-curl
和 qemu-kvm-block-ssh
来启用 https 和 ssh 协议支持。或者,使用不同的连接协议或不同的安装源。
在虚拟机中使用 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 中手动打开 erms
和 fsrm
。
Bugzilla:2077767
带有故障切换设置的 hostdev
接口在热拔后无法进行热插
从正在运行的虚拟机(VM)中删除带有故障切换配置的 hostdev
网络接口后,该接口目前无法重新连接到同一正在运行的虚拟机。
带有故障切换 VF 的虚拟机实时复制迁移失败
目前,如果虚拟机使用启用了虚拟功能(VF)故障转移功能的设备,则试图对一个正在运行的虚拟机(VM)进行 post-copy 迁移会失败。要临时解决这个问题,请使用标准迁移类型,而不要使用 post-copy 迁移方式。
主机网络无法在实时迁移过程中 ping 使用 VF 的虚拟机
当使用配置的虚拟功能 (VF) 实时迁移虚拟机时,如使用虚拟 SR-IOV 软件的虚拟机,虚拟机的网络不对其它设备看到,如 ping
之类的命令无法访问虚拟机。完成迁移后,问题将不再发生。
在 Windows 虚拟机上不分配 IP 地址故障转移 virtio NIC
目前,当使用故障转移 virtio NIC 启动 Windows 虚拟机时,虚拟机无法为 NIC 分配 IP 地址。因此,NIC 无法设置网络连接。目前,还没有临时解决方案。
禁用 AVX 会导致虚拟机无法引导
在使用具有高级向量扩展(AVX)支持的 CPU 的主机上,尝试引导明确禁用 AVX 的虚拟机当前会失败,并触发虚拟机中的内核 panic。
Bugzilla:2005173
在网络接口重置后,Windows VM 无法获取 IP 地址
有时,Windows 虚拟机在自动网络接口重置后无法获取 IP 地址。因此,虚拟机无法连接到网络。要临时解决这个问题,在 Windows 设备管理器中禁用并重新启用网络适配器驱动程序。
实时迁移后,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)可能会导致各种问题,如虚拟机意外终止、变得没有响应或重启。
使用大量队列可能会导致 Windows 虚拟机失败
当启用了虚拟可信平台模块(vTPM)设备,且将 multi-queue virtio-net 功能配置为使用超过 250 个队列时,Windows 虚拟机(VM)可能会失败。
这个问题是由 vTPM 设备的限制造成的。vTPM 设备对于打开的文件描述符的最大数量有一个硬性的限制。因为会为每个新队列打开多个文件描述符,因此可能会超过内部 vTPM 的限值,从而导致虚拟机失败。
要临时解决这个问题,请选择以下两个选项之一:
- 保持 vTPM 设备启用,但使用少于 250 个队列。
- 禁用 vTPM 设备以使用超过 250 个队列。
在具有 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 中恢复。
Nvidia GPU 驱动程序在虚拟机关闭后停止工作
RHEL 内核已采用了上游 Linux 更改,使设备电源转换延迟更接近 PCIe 规格所要求的延迟。因此,由于 GPU 的音频功能,一些 Nvidia GPU 可能会在关闭虚拟机后停止工作。
要临时解决这个问题,请从虚拟机上去除 GPU 的音频功能。另外,由于设备分配的 DMA 隔离要求(即 IOMMU 分组),将音频功能绑定到 vfio-pci
驱动程序,这将允许 GPU 功能继续被分配,且工作正常。
Bugzilla:2178956
nodedev-dumpxml
无法正确列出某些介质设备的属性
目前,nodedev-dumpxml
无法正确列出使用 nodedev-create
命令创建的介质设备的属性。要临时解决这个问题,请使用 nodedev-define
和 nodedev-start
命令。
恢复中断的复制后虚拟机迁移可能会失败
如果虚拟机(VM)的复制后迁移中断,然后在同一传入端口上立即恢复,则迁移可能会失败,并显示以下错误 Address already in use
要临时解决这个问题,请在恢复后复制迁移或切换到迁移恢复的另一个端口前至少等待 10 秒。
重启 virtqemud
或 libvirtd
后,无法附加 virtiofs
设备
目前,重启 virtqemud
或 libvirtd
服务会防止 virtiofs
存储设备附加到主机上的虚拟机。
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 卡前关闭虚拟机。
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 节点配置。
虚拟机迁移过程中的 NFS 故障会导致迁移失败和源虚拟机 coredump
目前,如果 NFS 服务或服务器在虚拟机(VM)迁移过程中关闭,则源虚拟机的 QEMU 在重新开始运行时无法重新连接到 NFS 服务器。因此,迁移会失败,并在源虚拟机上发起 coredump。目前,还没有可用的临时解决方案。
PCIe ATS 设备无法在 Windows 虚拟机上工作
当您在带有 Windows 客户机操作系统的虚拟机的 XML 配置中配置 PCIe 地址转换服务(ATS)设备时,在引导虚拟机后,客户机不会启用 ATS 设备。这是因为 Windows 目前不支持 virtio
设备上的 ATS。
kdump 在带有 AMD SEV-SNP 的虚拟机上失败
目前,kdump 在使用带有 Secure Nested Paging (SNP) 功能的 AMD Secure Encrypted Virtualization (SEV)的 RHEL 9 虚拟机(VM)上失败。
Jira:RHEL-10019