现象:

借助 VMware Data Recovery (VDR)、vSphere Data Protection (VDP) 或利用更改块跟踪 (CBT) 来执行增量式虚拟机备份而同时在 ESXi 5.x 主机上运行的任何第三方备份工具来运行虚拟机备份时,可能会遇到以下一个或所有症状:

  • 与通常情况相比,虚拟机备份较大

  • 增量备份所需的时间和空间与完整备份相同

  • 由于备份作业仍在运行或者超出备份时间段,快照删除任务失败

  • 尽管虚拟机中未进行重大更改,CBT 文件也会增大

原因:

出现此问题是因为使用 Storage vMotion 进行虚拟磁盘迁移期间已重置 CBT。这会导致备份工具无法识别自上次备份后哪些块已发生更改。此时将无法执行增量式虚拟机备份,而是需要完整备份。

解决:

这是一个影响 ESXi 5.0 的已知问题。

该问题在以下版本中已解决:

要解决此问题,请勿在虚拟机上使用 Storage vMotion 或 Storage DRS 来进行迁移备份。

要在受影响的虚拟机上解决此问题,请执行以下操作:

  1. 关闭虚拟机。

  2. 移除现有虚拟机快照。

  3. 为虚拟机禁用 CBT。有关详细信息,请参见 Enabling Changed Block Tracking (CBT) on virtual machines (1031873)

  4. 移除或重命名虚拟机目录中以 *-ctk.vmdk 文件扩展名结尾的所有文件。

  5. 为虚拟机重新启用 CBT。

  6. 打开虚拟机电源。

  7. 确保虚拟机不是使用 Storage vMotion 或 Storage DRS 进行迁移的。


补充:

在早期版本的 VDDK 中,虚拟机冷迁移时关闭电源,并且会导致更改块跟踪 (CBT) 状态丢失。在 VDDK 5.5 版本中,如果两个主机均可访问源数据存储和目标数据存储,则在冷迁移虚拟机后,会保留 CBT 状态。

另外,可以通过脚本方式实现,具体如下:

 

$vm="Name"

$vmtest = Get-vm $vm| get-view

$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec

$vmConfigSpec.changeTrackingEnabled = $true

$vmtest.reconfigVM($vmConfigSpec)

$snap=New-Snapshot $vm -Name "Enable CBT"

$snap | Remove-Snapshot -confirm:$false