热迁移
迁移链路、停机窗口、脏页收敛与跨主机兼容性 · 汇总 19 条 · 近期 9 条
v2 以布尔 VIR_MIGRATE_PARAM_ZERO_PAGE_DETECTION 封装 QEMU zero-page 检测,可关闭检测或让主线程/multifd 线程执行。
此前版本为 vfio-ap 中介设备补齐迁移所需读回调与 get_data_size 等 vfio_migration_ops 实现,使携带 AP 直通配置的 guest 支持热迁移;本期获部分 Reviewed-by;当前已迭代至 v10,最新变化以原始线程为准。
为 RISC-V KVM SBI STA 增加 get-reg-list 探测,同步 shmem_lo/shmem_hi,并以 vmstate subsection 保存地址,修复 live migration 后 STA 失效。
v16 以新的 owner_handed_over 标志替代 errno 过滤,仅在所有权确实移交时释放,并处理目标退出/失败时源端取回设备;新增带 vhost-vsock-pci 的 cpr-transfer/cpr-exec 测试,获 Peter Xu 的 Reviewed-by。
7 个补丁修复 7.2 机型上 multifd 与 postcopy 组合迁移失败;作者给出 qtest 复现命令,并说明 TLS 因不可预读目前无法同时修复。评审另附 fixup,建议简化与调整检查位置。
RFC v3 为 igb VF 迁移的 DVSEC 接口补充 qtests,覆盖能力发现、状态机、save/load 往返、错误恢复与 blob 校验。
21 补丁系列新增 cpr-luo 迁移模式,借助 Linux Live Update Orchestrator 与 Kexec Handover,把 CPR 状态与 RAMBlock fd 经 kexec 传给新内核,设备 vmstate 仍走常规迁移流。
vfio_migration_set_state_or_reset 在状态转换失败时一律以 ERROR 触发 VFIO_DEVICE_RESET;补丁改为在设备合法拒绝 stop(如 vGPU 存在调试会话)时恢复到当前状态。
issue 记录 libvirt 12.7.0 配 qemu 11.1.1 做 postcopy 迁移时,virtqemud 报 MIGRATION 事件中 'postcopy-device' 为缺失或未知取值;当前状态为已关闭。