在 qemu-system 中组合 -snapshot 和 -loadvm snap_id

use*_*r54 5 linux kvm-virtualization

在使用 qemu-system 启动 guest 虚拟机期间是否可以以某种方式同时使用 -snapshot 和 -loadvm snap_id ?

目前,如果我同时使用这些选项,则无法启动 guest 虚拟机。

我需要防止将数据保存到来宾磁盘中以避免数据增长。-snapshot 允许即时实现它,但我还需要 -loadvm snap_id 来获取已启动的虚拟机,而不是等待它启动。

use*_*r54 1

作为解决方法,我使用了外部快照类型。所以一般算法如下:

  1. 从基本 qcow2 映像运行 guest 虚拟机
  2. 在 guest 里面做一些事情
  3. 关闭访客电源
  4. 借助 qemu-img 创建外部快照
  5. 从创建的快照运行来宾
  6. 通过socket连接到qemu监视器并运行savevm命令来保存guest当前的运行状态
  7. 再次关闭访客电源
  8. 使用外部快照和 -loadvm 参数在任何地方启动 guest 虚拟机

关于提到的问题,四年前创建了一个功能请求: https: //bugs.launchpad.net/qemu/+bug/1184089