首页/云/云平台与虚拟化速查/块级复制与增量跟踪

块级复制与增量跟踪

块级复制把磁盘按块同步到目标:首轮全量后持续跟踪脏块,只传变化部分;为得到一致快照点,源端通常借助 VSS(Windows)或 LVM 快照等机制冻结写入。

云平台与虚拟化速查云更新于 2026-10-13

块级复制与增量跟踪是什么

块级复制把磁盘按块同步到目标:首轮全量,之后只传发生变化的数据块,因此第二轮以后的耗时不取决于磁盘总容量,而取决于变更量。为了得到可用的目标端,复制必须落在某个一致快照点上——源端通常借助 VSS(Windows)、文件系统冻结或 LVM 快照把写入暂停,让所有块处于同一时刻状态,否则目标系统相当于异常断电后的形态。

基本信息

核心机制全量复制加基于变更块的增量复制
变更跟踪块级变更跟踪(CBT)或脏位图(dirty bitmap)
一致性来源VSS 卷影副本、文件系统冻结、LVM 快照、阵列快照
常用检查qemu-img map 看块的分配状态,qemu-img info 看实际占用
典型工具云厂商主机迁移服务、第三方块复制与持续数据保护产品
窗口关系增量轮次越多,割接时的追平时间越短

典型使用场景

  • 整机搬迁:首轮全量拷贝后持续增量同步,割接窗口内只需追平最后一小段
  • 容灾复制:把生产磁盘持续复制到异地存储,故障时按最近一致点恢复
  • 存储更换:把数据从旧阵列整体搬到新阵列,业务只停很短时间
  • 测试数据制备:从生产数据的某个一致点复制一份用于验证
  • 备份加速:块级增量替代全量备份,缩短备份窗口
  • 迁移演练:用增量轮次估算正式割接窗口是否够用

核对与观察

核对与观察
qemu-img info target.qcow2                      # 看虚拟容量与实际占用,判断增量是否在有效推进
qemu-img map --output=json target.qcow2 | head   # 查看分配了哪些块,识别是否仍在增长
qemu-img compare source.qcow2 target.qcow2       # 逐块比对,确认无差异(耗时与容量成正比)
# 一致性侧:Windows 用 VSS 创建卷影副本获取同一时刻的块视图
# 一致性侧:Linux 可用 LVM 快照或文件系统冻结,保证跨盘一致
# 增量侧:确认变更块跟踪已开启,否则每轮都要重新扫描全盘
df -h;ls -l target.qcow2                        # 观察目标侧空间增长是否符合预期

概念与影响对照

概念含义失效后果
全量复制首轮把所有已分配块传到目标耗时长,是迁移窗口的主要组成部分
增量复制只传自上次同步以来变化的块未开启跟踪就要全盘扫描,窗口被无限拉长
一致快照点某一时刻所有块处于同一状态缺失则目标系统相当于异常断电状态
冻结时间暂停应用写入的时长过长影响业务,过短则快照不完整
校验比对复制后逐块或抽样比对不做校验就无法证明目标数据可用
重放与追平用增量把目标对齐到切换点追平速度决定割接停写窗口的长短
一致性快照点是块级复制的核心:业务写入被暂停的时间应当尽量短,把大部分时间花在传输上,而不是花在冻结上。
未开启变更块跟踪就反复做全量扫描:不仅窗口越来越长,频繁大 IO 还会拖慢生产业务,属于典型的隐性故障源。

易错点

  • 源端不做冻结直接复制:目标端相当于异常断电状态,启动后文件系统可能损坏
  • 变更块跟踪未开启:每轮都全量扫描,割接窗口一再延长
  • 只做首轮全量就割接:最后一次变化未追平,切换后数据缺失
  • 不做校验比对:目标数据是否完整没有证据,出问题时无法定位
  • 冻结时间过长:业务写入被暂停太久,超过可接受范围引发投诉

数据来源与参考

  • QEMU 文档:块设备与镜像
  • 阿里云 SMC 增量迁移说明
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌