You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenStack Rocky适配Neoverse-N1架构硬件的集成可行性及问题排查咨询

OpenStack Rocky适配Neoverse-N1架构硬件的集成可行性及问题排查咨询

首先可以明确告诉你:在Ubuntu 18.04.6 + OpenStack Rocky集群上集成Neoverse-N1(aarch64)硬件是完全可行的,只不过因为你的硬件规格较新,而Rocky版本搭配的QEMU(2.11.1)、libvirt(4.0.0)版本偏老,默认配置没适配这类新架构的细节,所以需要针对性调整配置来覆盖默认行为。下面针对你遇到的具体问题逐一给出解决方案:

一、解决libvirtError: XML error: memballoon unsupported with address type 'none'错误

这个问题是因为OpenStack默认生成的libvirt XML中,memballoon设备的地址类型与你指定的virt机器类型不兼容,你可以二选一来解决:

  • 方案1:指定memballoon为virtio类型
    在nova.conf的[libvirt]段添加以下配置:
    memballoon_model = virtio
    
    这会让OpenStack生成适配virt机器的virtio类型memballoon设备,匹配你QEMU支持的virtio-balloon-pci设备。
  • 方案2:禁用memballoon(如果不需要内存动态调整功能)
    如果你的业务不需要虚拟机内存动态伸缩,也可以直接禁用memballoon:
    enable_memballoon = false
    

二、解决qemu-system-aarch64: Unsupported NIC model: virtio-net/lan9118错误

从你提供的QEMU设备列表能看到,你的QEMU支持virtio-net-pci(带PCI总线的virtio网卡),但不支持纯设备类型的virtio-net;而lan9118是老版本aarch64默认网卡模型,你的硬件/QEMU组合也不兼容。解决方法是强制OpenStack使用virtio-net-pci作为默认网卡模型:
在nova.conf的[libvirt]段添加:

virtio_net_model = virtio-net-pci

配置生效后,OpenStack生成的虚拟机XML会使用virtio-net-pci网卡,匹配你QEMU支持的设备类型。

三、现有nova.conf配置的补充优化

你当前的nova.conf配置方向是对的:

[libvirt]
virt_type = kvm
cpu_mode = host-passthrough
hw_machine_type = virt,accel=kvm,gic-version=3

再补充上面提到的memballoon和网卡模型配置后,基本就能适配Neoverse-N1硬件了。另外建议你确认计算节点的内核模块状态:
执行命令检查KVM模块是否加载:

lsmod | grep kvm

确保kvm_arm64模块已正常加载,这是KVM虚拟化生效的前提。

四、验证思路

你已经能通过QEMU命令行正常创建虚拟机,说明底层硬件、QEMU本身是支持Neoverse-N1虚拟化的,问题核心就是OpenStack默认生成的libvirt XML不符合老版本QEMU的aarch64要求,通过上述配置修改覆盖默认XML生成逻辑后,应该就能解决所有验证错误。

备注:内容来源于stack exchange,提问作者jimbob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 13:02:36