qemu savevm流程

本文详细介绍了QEMU中savevm流程,包括检查迁移条件、删除块设备快照、保存全局状态、停止虚拟机、保存虚拟机状态等步骤。重点探讨了内存管理和脏页跟踪在迁移过程中的作用,以及如何将RAMBlock信息写入保存文件。
摘要由CSDN通过智能技术生成

hmp_savevm->save_snapshot->if (migration_is_blocked())判断是否不能迁移,有些设备不支持迁移或者全局链表migration_blockers里面有内容,则直接返回
                         ->if (!replay_can_snapshot())也直接返回
                         ->if (!bdrv_all_can_snapshot())也直接返回
                         -> if (name) { bdrv_all_delete_snapshot }删除块设备的快照。
                         ->...
                         ->global_state_store()将全局变量current_run_state转为字符串保存到global_state.runstate中
                         ->vm_stop(RUN_STATE_SAVE_VM)停止虚拟机运行,并将状态设置为RUN_STATE_SAVE_VM
                         ->...
                         ->if (!nostate) { f = qemu_fopen_bdrv(bs, 1); ret = qemu_savevm_state(f, errp) }
                         ->bdrv_all_create_snapshot()対所有的bdrv调用bdrv_snapshot_create()
                         ->...
                         ->if (saved_vm_running) {vm_start()}

qemu_savevm_stat

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值