Introduction
This document describes how to deploy and enable the QEMU VM memory hotplug feature on a Kunpeng server running the openEuler OS.
QEMU is a cross-platform computing emulator that is quick and open source. It can emulate a variety of hardware architectures and usually works together with libvirt to provide user VMs with emulated hardware operating environment, offering easy management and scheduling of large-scale VMs.
VM memory hotplug is a virtualization technology that dynamically expands the memory capacity of a running VM based on QEMU. However, on the current AArch64 architecture platform, the native QEMU 6.2.0 faces a technical limitation: It cannot start VMs whose initial memory in the NUMA configuration is configured 0, and cannot provide the memory hotplug function to such VMs. This limitation narrows the QEMU application scenarios.
The Kunpeng BoostKit QEMU VM memory hotplug feature is based on QEMU's existing memory hotplug logic and extends functions through patches. The feature is open-sourced and released on Gitee. This feature makes the VM's XML configuration file contain a NUMA node with 0 initial memory and dynamically adds memory to the NUMA node using memory hotplug commands. This improvement greatly widens the QEMU application scenarios.