KVM/QEMU2.3.0 虚拟机动态迁移分析(一)

本文详细分析了KVM/QEMU 2.3.0版本中虚拟机的动态迁移过程,从源端QEMU的migrate命令开始,包括qemu_savevm_state系列函数在内的一系列操作,描述了虚拟机状态保存与脏页重传机制。接着介绍了目的端QEMU如何通过migrate_incoming命令接收并恢复迁移的虚拟机,涉及qemu_loadvm_state及其相关流程。
摘要由CSDN通过智能技术生成

1 迁移源端QEMU

migrate命令 –> hmp_migrate –> qmp_migrate –> qemu_savevm_state_blocked判断当前虚拟机状态适不适合迁移 –> migrate_init迁移初始化 –> 根据uri来选择迁移函数,如表1所示。

Uri 跳转函数
Tcp: tcp_start_outgoing_migration
Rdma: rdma_start_outgoing_migration
exec: exec_start_outgoing_migration
unix: unix_start_outgoing_migration
fd: fd_start_outgoing_migration

以TCP迁移为例说明:tcp_start_outgoing_migration –> inet_nonblocking_connect(创建一个非阻塞的socket,并用其连接一个地址,并将tcp_wait_for_connect注册为连接成功后的处理函数)。

tcp_wait_for_connect –> migrate_fd_connect –> qemu_thread_create(创建线程,使用函数migration_thread作为执行体)。

migration_thread –> qemu_savevm_state_

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值