Search the VMware Knowledge Base (KB)
View by Article ID

在虚拟机上启用或禁用更改块跟踪 (Changed Block Tracking, CBT) (2078214)

  • 0 Ratings

Symptoms

免责声明:本文为 Enabling or disabling Changed Block Tracking (CBT) on virtual machines (1031873) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。

  • 备份虚拟机时,您会看到以下错误:

    更改块跟踪配置不正确
    (Incorrect changed block tracking configuration)
  • 备份作业显示以下错误:

    磁盘“硬盘编号”的更改块跟踪配置不正确
    (Disk "Hard disk #" has incorrect changed block tracking configuration)

    一个或多个虚拟机磁盘的更改块跟踪配置不正确
    (One or more VM disks have incorrect changed block tracking configuration)

Purpose

本文提供了在虚拟机上启用块修改跟踪 (CBT) 的步骤。
 
如果已在虚拟机上启用 CBT,则备份产品(如 VMware vSphere Data Recovery)会利用 CBT 进行增量备份。有关 CBT 的详细信息,请参见 Changed Block Tracking (CBT) on virtual machines (1020128)

Resolution

要在虚拟机上启用或禁用 CBT,请执行相应的启用或禁用步骤: 

注意:请确保在执行这些步骤之前关闭虚拟机电源。

要在虚拟机上启用 CBT,请执行以下操作:
  1. 关闭虚拟机电源。
  2. 右键单击虚拟机,然后单击编辑设置
  3. 单击选项选项卡。
  4. 单击“高级”区域下方的常规,然后单击配置参数。此时将打开“配置参数”对话框。
  5. 单击添加行
  6. 添加 ctkEnabled 参数,然后将其值设置为 true。
  7. 单击添加行,添加 scsi0:0.ctkEnabled,然后将其值设置为 true

    注意scsi0:0.ctkEnabled 中的 scsi0:0 指示 SCSI 设备已分配给添加到虚拟机的硬盘。向每个添加到虚拟机的硬盘提供了一个 SCSI 设备,该设备如 scsi0:0、scsi0:1 或 scsi 1:1 所示。已分别在每个磁盘上启用(或禁用)CBT。

  8. 打开虚拟机电源。
  9. 在虚拟机的主目录中,验证启用 CBT 的每个磁盘还具有vmname-ctk.vmdk文件。
要禁用 CBT,请确保虚拟机上没有快照。有关详细信息,请参见 Consolidating snapshots in ESX/ESXi 3.x and 4.x (1007849)Consolidating snapshots in vSphere 5.x/6.0 (2003638)
 
要禁用 CBT,请执行以下操作:
  1. 关闭虚拟机电源。
  2. 右键单击虚拟机,然后单击编辑设置
  3. 单击选项选项卡。
  4. 单击“高级”区域下方的常规,然后单击配置参数。此时将打开“配置参数”对话框。
  5. 将所需 SCSI 磁盘的 ctkEnabled 参数设置为 false。
  6. 打开虚拟机电源。

Additional Information

可以使用以下 PowerCLI 命令禁用 CBT 然后再重新启用,而无需关闭虚拟机电源。当虚拟机的一个或多个磁盘扩展后超过 128 GB 上限时,这会非常有用。请参见 QueryChangedDiskAreas API returns incorrect sectors after extending virtual machine VMDK file with Changed Block Tracking (CBT) enabled (2090639)。适用情况下,可以在脚本中注释掉 enable 或 disable 命令

$vm="VM_Name"

$vmtest = Get-vm $vm| get-view
$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec

#disable ctk
$vmConfigSpec.changeTrackingEnabled = $false
$vmtest.reconfigVM($vmConfigSpec)
$snap=New-Snapshot $vm -Name "Disable CBT"
$snap | Remove-Snapshot -confirm:$false

# enable ctk
$vmConfigSpec.changeTrackingEnabled = $true
$vmtest.reconfigVM($vmConfigSpec)
$snap=New-Snapshot $vm -Name "Enable CBT"
$snap | Remove-Snapshot -confirm:$false

有关执行 CBT 数据完全重置的步骤,请参见 Resetting Changed Block Tracking for VMware vSphere virtual machines (2139574)

Tags

简体中文 Simplified Chinese

See Also

Request a Product Feature

To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.

Feedback

  • 0 Ratings

Did this article help you?
This article resolved my issue.
This article did not resolve my issue.
This article helped but additional information was required to resolve my issue.

What can we do to improve this information? (4000 or fewer characters)




Please enter the Captcha code before clicking Submit.
  • 0 Ratings
Actions
KB: