数据块变化跟踪

在本页面

    在实施增量备份时, Veeam Backup & Replication 需要了解自上次任务会话以来哪些数据块发生了变化。为获取变化数据块列表, Veeam Backup & Replication 使用了数据块变化跟踪机制 (CBT)。CBT 可提升增量备份的速度和效率。

    Veeam Backup & Replication 在以下操作中使用 CBT:

    • 备份
    • 复制
    • 虚拟机整机还原

    Veeam Backup & Replication 启用 CBT。您可以在主机级别或作业级别禁用它,以进行故障排除。请注意,如果您选择在禁用 CBT 的情况下运行增量作业,则备份窗口可能会急剧增加,因 为 Veeam Backup & Replication 将读取所有虚拟机数据,以检测自上次作业会话以来发生变化的数据块。

    数据块变化跟踪 

    Veeam Backup & Replication 采用以下机制来跟踪发生变化的数据块。

    Veeam CBT

    CBT 机制将以文件系统筛选器驱动程序的形式进行实施,即 Veeam CBT 驱动程序。该驱动程序安装在添加到备份基础架构中的每个 Microsoft Hyper-V主机上。当启用 CBT 的作业首次对主机寻址时,驱动程序将被激活。

    Veeam CBT 驱动程序可跟踪虚拟磁盘中发生变化的数据块。已更改数据块的信息将在特殊的 CTP 文件中进行注册。当作业运行时,Veeam Backup & Replication 使用 CTP 文件来查找自上次作业以来发生变化的数据块,并仅从磁盘映像中复制已更改的数据块。

    数据块变化跟踪 

    CTP 文件存储在独立 Microsoft Hyper-V 主机或 Microsoft Hyper-V 集群的每个节点上的 C:\ProgramData\Veeam\CtpStore文件夹中CtpStore 文件夹包含一组子文件夹 — 每个处理的虚拟机都有一个子文件夹,其中存储了以下文件:

    如果将 Microsoft Hyper-V 虚拟机注册为集群资源,则 Veeam CBT 驱动程序将在有权访问 CSV 虚拟机磁盘的所有集群节点上运行。当作业运行时,Veeam Backup & Replication 将 CTP 文件复制到备份作业使用的备份代理上的临时文件夹中。

    重要提示

    如果您在 Microsoft Hyper-V 集群上处理虚拟机,请确保所有集群节点均处于联机状态。如果集群节点处于维护模式、集群服务已停止、节点已关闭或无法访问,则 CBT 将无法运行。有关集群和 SMB3 存储上的虚拟机的其他要求的更多信息,请参见this Veeam KB article

    弹性变更跟踪

    对于在 Microsoft Hyper-V Server 2016 或更高版本上运行的虚拟机,Veeam Backup & Replication使用弹性变更跟踪 (RCT)。RCT 是一种原生 Microsoft Hyper-V 机制,用于跟踪虚拟机虚拟硬盘中发生变化的数据块。

    仅当 Microsoft Hyper-V 环境满足以下要求时,才使用 RCT 机制:

    对于使用 RCT 的备份和复制, Veeam Backup & Replication 使用以下机制:

    1. Veeam Backup & Replication 触发 Microsoft Hyper-V 为处理的虚拟机创建检查点。该检查点用作备份和复制的数据源。
    2. 在虚拟机处理完成之后以及检查点与基本虚拟机磁盘合并之前,Microsoft Hyper-V 把检查点转换为参考点。参考点可以被视为虚拟机磁盘状态的时间点表示。
    3. Veeam Backup & Replication执行增量备份或复制时,它会为用作数据源的虚拟机创建一个新的检查点。Veeam Backup & Replication查询Microsoft Hyper-V以获取在上一个作业会话期间创建的参考点与在当前作业会话期间创建的检查点之间的增量更改。
    4. Veeam Backup & Replication 仅从创建的检查点复制更改的数据块,并将它们保存在增量备份文件中。

    为了保证 CBT 数据的持久性,Microsoft RCT 维护了 3 个 CBT 数据位图:

    系统将为每个虚拟机磁盘创建 RCT 和 MRT 文件,并将其存储在虚拟机磁盘级别。

    CBT 重置(Microsoft Hyper-V Server 2012 R2 和更早版本)

    在某些情况下,CBT 数据可能会损坏,这样 Veeam Backup & Replication 将无法使用数据块变化跟踪处理虚拟机。如需为单个虚拟机或特定的 VHD/VHDX 文件重置 CBT 数据,请使用 Reset-HvVmChangeTrackingPowerShell cmdlet。更多信息,请参见Veeam PowerShell参考

    请记住,执行产品升级时会重置 CBT 数据。升级后第一次运行备份作业时, Veeam Backup & Replication将不会使用数据块变化跟踪。相反,它将扫描虚拟机映像,以了解哪些数据块已更改。