启用或禁用更改块跟踪 (Changed Block Tracking, CBT) 的两种方式 由于VMware提供了方便的数据块修改追踪(Changed Block Tracking,CBT)技术,为虚拟机增量备份提供了基础,除第一次备份必须完整备份与传输整个VM数据外,后续备份都只需通过查询 CBT 记录,获取哪些异动过区块,然后只备份这些异动区块即可,既节省了扫描磁盘、判定异动区块的时间,所需传输的数据量也大幅缩小。 默认情况下 CBT 这个功能是禁用的,因为它会引起一个很小但是可测的性能降低。通常需要在第一个快照之前启用CBT,通过请求虚拟机配置,就可以判断修改块跟踪是否启用。 CBT 这个功能不是一开始 VMware 公司就有提供的,所以要使用 CBT 功能需满足如下先决条件: ESX/ESXi 主机必须是 4.0 及以上版本; VM 硬件版本必须是 7 或更新; 支持所有的虚拟磁盘类型(Thick、thin 及 RDM 虚拟兼容模式),除了 RDM 物理兼容模式; RDM (Raw Device Mapping)是VMware 服务器虚拟化环境中,用以允许一个虚拟机直接访问SAN(Storage Area Networking)中的一个存储LUN(Logical Unit Number)。 RDM也可以叫做裸设备映射(Raw Device Mapping ),虚拟机直接使用存储中的LUN,而不经过虚拟化层。 虚拟机上没有可用的快照; 虚拟机必须处于断电状态。 如果备份时,没开启 CBT,会出现下面的错误: ■ 更改块跟踪配置不正确 ■ 磁盘“Hard disk #”的更改块跟踪配置不正确 ■ 一个或多个虚拟机磁盘的更改块跟踪配置不正确 启用块修改跟踪 (CBT) 在虚拟机上启用块修改跟踪 (CBT) ,有两种方式,第一种是通过 vSphere client 客户端进行配置;第二种是通过程序设置。 通过 vSphere client 客户端进行配置 CBT 步骤 要在虚拟机上启用 CBT,操作步骤如下: 关闭虚拟机电源; 右键单击虚拟机,然后单击编辑设置; 单击选项选项卡; 单击“高级”区域下方的常规,然后单击配置参数 此时将打开“配置参数”对话框 单击添加行,添加 ctkEnabled 参数,然后将其值设置为 true; 单击添加行,添加 scsi0:0.ctkEnabled,然后将其值设置为 true; 注意:scsi0:0.ctkEnabled 中的 scsi0:0 指示 SCSI 设备已分配给添加到虚拟机的硬盘。向每个添加到虚拟机的硬盘提供了一个 SCSI 设备,该设备如 scsi0:0、scsi0:1 或 scsi 1:1 所示。已分别在每个磁盘上启用(或禁用)CBT。 打开虚拟机电源; 在虚拟机的主目录中,验证启用 CBT 的每个磁盘还具有vmname-ctk.vmdk文件。 要禁用 CBT,首先也要关闭虚拟机,同样打开配置窗口,将所需禁用的 SCSI 磁盘的 ctkEnabled 参数设置为 false 即可。 通过程序设置启动 CBT 使用 PropertyCollector 从 VirutalMachine 托管对象中获取这个属性域,如果这个域包含 changeTrackingSupported 标志,就可以进行相关操作。 如果支持的话,可以使用一个简单的 VirtualMachineConfigSpec 来启用修改块跟踪,并调用 ReconfigVM_Task 方法来重新配置虚拟机: 判断虚拟机修改跟踪的状态(先获取虚拟机的配置信息 VirtualMachineConfigInfo,根据其方法 isChangeTrackingEnabled() 来判断),如果是false,激活修改块跟踪,并调用ReconfigVM_Task方法来重新配置虚拟机,程序如下: VirtualMachineConfigSpec configSpec = new VirtualMachineConfigSpec(); // 获取虚拟机信息, VirtualMachine 为自定义的一个实体对象,获取虚拟机信息的方法也为自定义方法 VirtualMachine vm = getVirtualMachineInfoByVmMor(targetVmMoRef); if(!vm.getConfig().isChangeTrackingEnabled()){ configSpec.setChangeTrackingEnabled(new Boolean(true)); } ManagedObjectReference taskMoRef = serviceConnection.getService().ReconfigVM_Task(targetVmMoRef,configSpec); public void setChangeTrackingEnabled(Boolean value) { this.changeTrackingEnabled = value; } 1 2 3 4 5 6 7 8 9 10 11 12 --------------------- 作者:joexk 来源:CSDN 原文:https://blog.csdn.net/zhouxukun123/article/details/77823233 版权声明:本文为博主原创文章,转载请附上博文链接!
山东数据恢复(数据库数据恢复业务部) 济南数据恢复(服务器数据恢复业务部) 济南鉴信企业级服务器数据恢复中心 济南鉴信数据恢复中心 服务器数据恢复,服务器RAID数据恢复 IBM服务器(IBM服务器,IBM存储,IBM小型机)