鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

特性使能

使用vCPU热插功能,需要在创建虚拟机时配置虚拟机当前的CPU数目、虚拟机所支持的最大CPU数目,以及虚拟机芯片组类型(对于AArch64架构,需为virt-4.2及以上版本。对于x86_64架构,需为pc-i440fx-1.5及以上版本)。这里以AArch64架构虚拟机为例,配置模板如下。

<domain type='kvm'>
...
<vcpu placement='static' current='m'>n</vcpu>
<os><type arch='aarch64' machine='virt-6.2'>hvm</type>
</os>
...
<domain>
  • placement的值必须是static。
  • m为虚拟机当前CPU数目,即虚拟机启动后默认的CPU数目。n为虚拟机支持热插到的最大CPU数目,该值不能超过Hypervisor支持的虚拟机最大CPU规格及GuestOS支持的最大CPU规格,n≥m。
  • 通过virt-install命令创建虚拟机的场景下,默认虚拟机创建完成后,其xml配置文件中不含以上vcpu节点。通过virsh edit <vm name>命令进行动态添加时,该节点不会即时生效,因此添加操作完成后需自行重启虚拟机,才能进行后续的vCPU热插拔操作。

openEuler 24.03 LTS版本中,该特性默认开启,系统安装即使能。非openEuler内核需要自行合入并适配如下功能补丁。

qemu:
https://gitee.com/openeuler/qemu/pulls/804
https://gitee.com/openeuler/qemu/pulls/850
https://gitee.com/openeuler/qemu/pulls/860
https://gitee.com/openeuler/qemu/pulls/863
guest OS:
https://gitee.com/openeuler/kernel/pulls/4219
https://gitee.com/openeuler/kernel/pulls/5555
https://gitee.com/openeuler/kernel/pulls/7902
https://gitee.com/openeuler/kernel/pulls/9746