啟用或禁用更改塊跟蹤 (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小型機)