共计 1441 个字符,预计需要花费 4 分钟才能阅读完成。
实验的主要目的是验证在ARM架构下,QEMU+KVM的虚拟化的解决方案能否正常承担起VMM的作用;
实验环境:
- HOST:ubuntu-22.04-live-server-arm64;
- GUEST:ubuntu-22.04-live-server-arm64
- CPU:鲲鹏920
2. 步骤
2.1. KVM模块

以上信息表明:在当前环境下,使用QEMU/KVM作为VMM的话,KVM能够发挥其加速作用
2.2. QEMU安装
//克隆QEMU
git clone git://git.qemu-project.org/qemu.git
//安装依赖包(在configure时与make时报错如果是因为缺少依赖包请自行下载,以下不一定完整)
sudo apt -y install libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev ninja-build\
git-email libaio-dev libbluetooth-dev libcapstone-dev libbrlapi-dev libbz2-dev libcap-ng-dev libcurl4-gnutls-dev libgtk-3-dev libibverbs-dev libjpeg8-dev libncurses5-dev libnuma-dev librbd-dev librdmacm-dev libsasl2-dev libsdl2-dev libseccomp-dev libsnappy-dev libssh-dev valgrind xfslibs-dev libvde-dev libvdeplug-dev libvte-2.91-dev libxen-dev liblzo2-dev
//配置(注意指定目标平台为arm架构)
../configure --enable-kvm --enable-sdl --enable-debug --enable-tpm --enable-vnct--target-list=aarch64-softmmu,arm-softmmu
//编译
make -j$proc

3. 虚拟机启动
./qemu-system-aarch64 -enable-kvm -hda /home/csri/test.qcow2 -m 10240 -cdrom /root/ubuntu-22.04-live-server-arm64.iso -machine virt-8.2 -cpu host -boot menu=on -k en-us
/*
*-cpu选择host以当前宿主机的cpu型号进行模拟 ;
*-machine的选择得确定ARRCH64的模拟程序是否支持;使用命令qemu-system-aarch64 -M ? 查看
*/
3.1. 出错
- 运行上述命令时仅仅会弹出qemu-monitor的监视器页面,并未进入操作系统安装页面。如下:

- 使用
apt install qemu-system-arm
安装的模拟工具在使用命令行的方式也存在与上述相同和问题
4. 使用virt-manager测试^1
在使用virt-manager 按照常规流程进行虚拟机创建,能够完成操作系统的安装与初始化,结果如下图。其证明——在ARM架构的宿主机上能够使用QEMU模拟(搭配KVM进行加速)ARM架构的主机可行

其中底层调用的命令为:
//qemu版本为6.2.0
//使用了KVM内核模块为其加速
/usr/bin/qemu-system-aarch64 ... -accel kvm -cpu host -m 4096 ...


正文完