QEMU的动态块设备迁移分为几种情形:
- migrate -b : 这是最原始的 块设备迁移 的实现方式. 这种方式将块设备的内容作为live migaration stream的一部分. 使用dirty bitmap,并且采用了pre-copy的方法.不过这种方法慢慢的被灵活性更好的方法替代了.
- block-stream: 可以用作 pre-copy 和post-copy两种迁移. 它将产生一个新的image file,用作元磁盘image的backing_file. backing file的内容将被copy到新的image,直到新块已经被写到new image中. 这种方式需要NFS,NBD 或者其他的机制来同时访问new image 和backing file. 这种方式与live migration stream 无关.
- drive-mirror灵活性更好.使用他的一种方式为pre-copy磁盘的内容到目的host. 他不使用backing file, 所以目的磁盘可以为任何格式. 同样的,他需要NFS,NBD或者其他的机制来同时访问新旧image. 这个过程 不是 live migration stream的一部分.这种mirroring方式的好处是 在mirring进行过程中掉电或者crash,可以直接继续运行old image, 重新开始mirroring过程就可以了.
Could someone share me with some information about the live block migration strategy in the current qemu-kvm. As I know, there are at least IO mirroring, dirty block tracking, snapshot, precopy or postcopy strategy