OnceNoAgain 2022-07-26 11:57 采纳率: 0%
浏览 61
已结题

kvm利用快照启动多个虚拟机

问题遇到的现象和发生背景

我想通过qemu-system-x86_64命令利用基础镜像生成的快照同时启动多个windows kvm虚拟机,但是如果同时启动的虚拟机数量过多会吃内存,造成系统死机;于是我改用其他方式,都没法达到我想要的目的

操作环境、软件版本等信息

宿主机操作环境:centos7.9
软件:qemu-system-x86_64
虚拟机操作系统:windows7,windows10

尝试过的解决方法

最开始,我在qemu的monitor模式下执行savevm指令给基础镜像打快照,快照数据会保存在基础镜像里面,然后运行时我把该镜像复制到某个目录下并将其命名为101,102,103等,这样确实可以通过loadvm启动几个虚拟机,但是由于镜像文件很大,复制操作非常占内存,同时执行多个这样的操作会马上将系统内存吃满并造成死机
于是,我尝试第二种方法,我在基础镜像上利用qemu执行savevm生成快照,然后利用基础镜像在某个目录下利用qemu-img命令生成增量镜像(用来省去耗内存的镜像复制操作),再利用qemu-system-x86_64命令在增量镜像执行loadvm命令恢复快照,发现无法恢复基础镜像上的快照,提示增量镜像没有那个快照
最后,我改用virsh,在基础镜像上生成外置内存checkpoint,再试图利用增量镜像+基础镜像的checkpoint来恢复虚拟机,又报uuid不一致。

我想要达到的结果

Xen是可以通过xl工具实现基础镜像打外置checkpoint,然后再生成增量镜像及其配置文件,然后执行xl restore vms_cfg_path base_image.checkpoint启动多个增量镜像,kvm想达到该效果还如何做?

  • 写回答

3条回答 默认 最新

  • HZ.superdats 2022-07-29 17:20
    关注

    您好,用脚本实现,参考链接:
    https://developer.aliyun.com/article/529104

    评论

报告相同问题?

问题事件

  • 系统已结题 8月3日
  • 创建了问题 7月26日