hw_emulation_architecture - 配置 QEMU 实例模拟架构

版本 25.0.0 中添加: (Yoga)

libvirt 驱动程序现在允许处理在镜像元数据属性中定义的特定 CPU 架构,通过 QEMU 进行模拟。

添加了 hw_emulation_architecture 作为可用的 image_meta 属性。

注意

以下内容仅适用于使用 libvirt 计算主机的环境,并且作为首次发布的功能,应将其视为完全实验性的。

介绍

此功能是为了满足那些没有能力支持当今物理硬件所拥有的各种 CPU 架构的环境的需求。 一小部分在 libvirt 和 QEMU 中都受支持的架构被选为模拟支持的首选候选者。

虽然已为以下基本架构添加了支持,但这并不能保证使用这些架构的每个子集或自定义操作系统都能正常运行。

配置

QEMU 二进制支持

为了确保 libvirt 和 QEMU 可以正确处理最终用户所需的 CPU 模拟级别,您需要在将提供支持的计算节点上安装特定的 qemu-system-XXXqemu-efi-armqemu-efi-aarch64 二进制文件。

控制台支持

需要考虑您想要支持哪些架构,因为 spice、novnc 和串行接口的支持存在限制。 所有测试和验证均已完成,以确保 spice 和串行连接按预期工作。

  • AARCH64 - Spice & 串行

  • S390X - 串行

  • PPC64LE - Spice & 串行

  • MIPSEL - 未测试

支持的模拟架构

支持的模拟架构需要设置特定的镜像元数据属性,以便触发 libvirtd 配置正确的设置。

对于最终用户,实例的模拟架构由选择具有设置了 hw_emulation_architecture 镜像元数据属性的镜像来控制。

AARCH64

已测试 验证 功能正常

$ openstack image set --property hw_emulation_architecture=aarch64 $IMAGE
$ openstack image set --property hw_machine_type=virt $IMAGE
$ openstack image set --property hw_firmware_type=uefi $IMAGE

S390x

已测试 验证 功能正常

$ openstack image set --property hw_emulation_architecture=s390x $IMAGE
$ openstack image set --property hw_machine_type=s390-ccw-virtio $IMAGE
$ openstack image set --property hw_video_model=virtio $IMAGE

PPC64LE

已测试 验证 功能正常

$ openstack image set --property hw_emulation_architecture=ppc64le $IMAGE
$ openstack image set --property hw_machine_type=pseries $IMAGE

MIPSEL

测试 验证 正在进行 克服 PCI 问题

注意

目前的支持受到影响,当前的支持方法是手动修补和编译,如 libvirt bug XML 错误:没有可用的 PCI 总线 中定义的那样。

$ openstack image set --property hw_emulation_architecture=mipsel $IMAGE
$ openstack image set --property hw_machine_type=virt $IMAGE