understanding_qemu
  • Introduction
  • 设备模型
    • 设备类型注册
    • 设备类型初始化
    • 设备实例化
    • DeviceClass实例化细节
    • 面向对象的设备模型
    • 接口
    • 类型、对象和接口之间的转换
    • PCDIMM
      • PCDIMM类型
      • PCDIMM实例
      • 插入系统
      • 创建ACPI表
      • NVDIMM
  • 地址空间
    • 从初始化开始
    • MemoryRegion
    • AddressSpace Part1
    • FlatView
    • RAMBlock
    • AddressSpace Part2
    • 眼见为实
    • 添加MemoryRegion
  • APIC
    • 纯Qemu模拟
    • Qemu/kernel混合模拟
    • APICV
  • Live Migration
    • 从用法说起
    • 整体架构
    • VMStateDescription
    • 内存热迁移
    • postcopy
  • FW_CFG
    • 规范解读
    • Linux Guest
    • SeaBios
  • Machine
    • MachineType
    • PCMachine
  • CPU
    • TYPE_CPU
    • X86_CPU
  • MemoryBackend
    • MemoryBackend类层次结构
    • MemoryBackend初始化流程
Powered by GitBook
On this page

Was this helpful?

Live Migration

PreviousAPICVNext从用法说起

Last updated 5 years ago

Was this helpful?

热迁移是一个很有技术含量的话题,也是在实际使用中会常常运动的特性。最近做了一些学习,记录在此。

在研究代码之前,我们先来看看要做一次热迁移是如何操作的。

接下来我们开始从代码层面研究:

在上文整体架构篇中限于篇幅,我们跳过了一个非常重要的结构。所以干脆把VMStateDescription单独拿出来讲:

了解了总体结构后,就该研究具体的设备是如何迁移的了。在众多设备中,内存是关键的内容之一,所以第一个要研究的就是内存了。

内存迁移中运用了很多有意思的技术,大部分在中描述了。但其中有一个非常重要而且有意思的技术叫postcopy。正是因为其特殊性,且不仅适用于内存,故单列一节。

从用法说起
整体架构
VMStateDescription
内存热迁移
内存热迁移
postcopy