24.7. ARM 64 上的虚拟化与 AMD64 和 Intel 64 上的虚拟化有何不同


ARM 64 系统上 RHEL 9 中的 KVM 虚拟化(也称为 AArch64)在几个方面与 AMD64 和 Intel 64 系统上的 KVM 有所不同。这包括但不限于:

客户机操作系统
ARM 64 虚拟机(VM)上唯一支持的客户机操作系统是 RHEL 9 或 RHEL 10。
vCPU 热插拔
目前,ARM 64 主机不支持将虚拟 CPU (vCPU)附加到正在运行的虚拟机(也称为 vCPU 热插拔)。另外,与 AMD64 和 Intel 64 主机类似,ARM 64 上不支持从正在运行的虚拟机中移除 vCPU (vCPU 热拔)。
SecureBoot
SecureBoot 功能在 ARM 64 系统上不提供。
Migration
只有在源和目标主机使用相同的 CPU 和相同的内存页面大小时,才支持在 ARM 64 主机间迁移虚拟机。
Memory page sizes

ARM 64 目前支持运行具有 64 KB 或 4 KB 内存页大小的虚拟机,但主机和客户机必须使用相同的内存页大小。不支持主机和客户机具有不同的内存页大小配置。

默认情况下,RHEL 9 使用 4 KB 内存页大小。如果要运行具有 64 KB 内存页大小的虚拟机,您的主机必须 使用具有 64 KB 内存页大小的内核。在创建虚拟机时,您必须安装 kernel-64k 软件包 ,例如,通过在 kickstart 文件中包括以下参数:

%packages
-kernel
kernel-64k
%end
巨页

具有 64 KB 内存页大小的 ARM 64 主机支持具有以下大小的大内存页:

  • 2 MB
  • 512 MB
  • 16 GB

    当您在具有 64 KB 内存页大小的 ARM 64 主机上使用透明巨页(THP)时,它只支持 512 MB 巨页。

    具有 4 KB 内存页大小的 ARM 64 主机支持具有以下大小的内存巨页:

  • 64 KB
  • 2 MB
  • 32 MB
  • 1024 MB

    当您在具有 4 KB 内存页大小的 ARM 64 主机上使用透明巨页(THP)时,它只支持 2 MB 巨页。

SVE

ARM 64 架构提供 Scalable Vector Expansion (SVE) 功能。如果主机支持该功能,在虚拟机中使用 SVE 可以在这些虚拟机中提高向量数计算和字符串操作的速度。

在支持它的主机 CPU 上默认启用了 SVE 的基线级别。但是,红帽建议明确配置每个向量长度。这确保虚拟机只能在兼容的主机上启动。要做到这一点:

  1. 验证您的 CPU 是否有 SVE 功能:

    # grep -m 1 Features /proc/cpuinfo | grep -w sve
    
    Features: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm fcma dcpop sve

    如果这个命令的输出中包含 sve 或其退出代码是 0,则您的 CPU 支持 SVE。

  2. 打开您要修改的虚拟机的 XML 配置:

    # virsh edit vm-name
  3. 编辑 <cpu> 元素,类似如下:

    <cpu mode='host-passthrough' check='none'>
    <feature policy='require' name='sve'/>
    <feature policy='require' name='sve128'/>
    <feature policy='require' name='sve256'/>
    <feature policy='disable' name='sve384'/>
    <feature policy='require' name='sve512'/>
    </cpu>

    这个示例明确启用了 SVE 向量长度 128、256 和 512,并明确禁用了向量长度 384。

CPU 型号
ARM 64 上的虚拟机目前仅支持 host-passthrough CPU 型号。
PXE

在预启动执行环境(PXE)中引导可以正常工作,但不支持,红帽强烈建议不要在生产环境中使用它。

如果您需要 PXE 引导,则只能使用 virtio-net-pci 网络接口控制器(NIC)。

EDK2

ARM 64 客户机使用 edk2-aarch64 软件包中包含的 UEFI 固件,其提供了一个与 AMD64 和 Intel 64 上的 OVMF UEFI 类似的接口,并实现类似的一组功能。

具体来说,edk2-aarch64 提供了一个内置的 UEFI shell,但不支持以下功能:

  • SecureBoot
  • 管理模式
kvm-clock
不需要为 ARM 64 上虚拟机中的时间管理配置 kvm-clock 服务。
外设设备

ARM 64 系统支持与 AMD64 和 Intel 64 设备部分不同的外围设备的集合。

  • 仅支持 PCIe 拓扑。
  • ARM 64 系统通过使用 virtio-*-pci 驱动程序来支持 virtio 设备。因此,只支持 virtio-pci 设备。
  • virtio-gpu 驱动程序只支持图形安装。
  • ARM 64 系统只支持 usb-mouseusb-tablet 设备用于图形安装。不支持其他 USB 设备、USB passthrough 或 USB 重定向。
模拟设备

ARM 64 上不支持以下设备:

  • 模拟声音设备,如 ICH9、ICH6 或 AC97。
  • 模拟图形卡,如 VGA 卡。
  • 模拟网络设备,如 rtl8139
GPU 设备
ARM 64 系统上目前不支持 分配 GPU 设备
嵌套虚拟化
目前无法在 ARM 64 主机上创建嵌套虚拟机。
v2v 和 p2v
virt-v2vvirt-p2v 工具只在 AMD64 和 Intel 64 构架上被支持,因此在 ARM 64 上不提供。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部