22.6. ARM 64 上的虚拟化与 AMD64 和 Intel 64 的不同
ARM 64 系统上的 RHEL 9 中的 KVM 虚拟化与 AMD64 和 Intel 64 系统中的 KVM 虚拟化在很多方面有所不同。这包括但不限于:
- 支持
- ARM 64 上的虚拟化只作为 RHEL 9 的一个 技术预览提供,因此不被支持。
- 客户机操作系统
- 目前唯一在 ARM 64 虚拟机 (VM) 上操作的客户机操作系统是 RHEL 9。
- Web 控制台管理
- RHEL 9 web 控制台中虚拟机管理的某些功能在 ARM 64 硬件上无法正常工作。
- vCPU 热插和热拔
- 在 ARM 64 主机上不支持将虚拟 CPU (vCPU) 附加到正在运行的虚拟机(也称为 vCPU 热插)。另外,与 AMD64 和 Intel 64 主机类似,ARM 64 不支持从正在运行的虚拟机(vCPU 热拔)中删除 vCPU。
- SecureBoot
- SecureBoot 功能在 ARM 64 系统中不可用。
- PXE
-
在 Preboot Execution Environment (PXE) 中引导只能使用
virtio-net-pci
网络接口控制器(NIC)。另外,需要使用虚拟机 UEFI 平台固件(带有edk2-aarch64
软件包安装的)内置VirtioNetDxe
驱动程序进行 PXE 引导。请注意,不支持 iPXE 选项 ROM。 - 设备内存
- 设备内存特性(如双线内存模块(DIMM)和非易失性 DIMM)在 ARM 64 上不起作用。
- pvpanic
-
pvpanic 设备目前在 ARM 64 上无法正常工作。确保从 ARM 64 上的客户机 XML 配置的 <
<devices>
部分删除<panic>
元素,因为它的存在可能会导致虚拟机无法引导。 - OVMF
ARM 64 主机上的虚拟机无法使用 AMD64 和 Intel 64 使用的 OVMF UEFI 固件,包括在
edk2-ovmf
软件包中。相反,这些虚拟机使用edk2-aarch64
软件包中包含的 UEFI 固件,它提供类似的接口并实施类似的功能集。具体来说,
edk2-aarch64
提供了一个内置的 UEFI shell,但不支持以下功能:- SecureBoot
- 管理模式
- TPM-1.2 支持
- kvm-clock
-
kvm-clock
服务不必为 ARM 64 的虚拟机中的时间管理配置。 - 外设设备
- ARM 64 系统不支持 AMD64 和 Intel 64 系统支持的所有外设设备。在某些情况下,设备功能完全不被支持,其他情况下,支持不同的设备来实现相同的功能。
- 串行控制台配置
-
当在虚拟机上设置串行控制台时,请使用
console=ttyAMA0
内核选项,而不是使用grubby
实用程序的console=ttyS0
。 - 不可屏蔽中断
- 目前无法向 ARM 64 虚拟机发送不可屏蔽中断 (NMI)。
- 嵌套虚拟化
- 目前在 ARM 64 主机上无法创建嵌套虚拟机。
- v2v 和 p2v
-
virt-v2v
和virt-p2v
实用程序只在 AMD64 和 Intel 64 构架中被支持,因此不是在 ARM 64 中提供。