Changed-Block-Tracking (CBT) ist eine sehr nützliche Funktion, um beispielsweise einer Backup Software mitzuteilen, welche Blöcke sich seit einen Zeitpunkt [t] verändert haben. Somit können gezielt diese Blöcke gesichert werden, was natürlich erheblich Zeit spart.
Genau in dieser CBT Funktion gibt es einen Fehler, der lange unerkannt blieb. Er tritt nach Angaben von VMware dann auf, wenn eine vDisk über 128 GB vergrößert wurde.
VMware und Veeam empfehlen, nach einer Vergrößerung der vDisk einer VM, einen CBT reset durchzuführen. Beim nächsten Durchgang von Veeam Backup wird CBT wieder aktiviert und arbeitet korrekt.
Alternativ kann auch ein PowerCLI Skript verwendet werden, das CBT im laufenden Betrieb zurücksetzt. Das Skript
resetCBT
wurde vom Veeam Support erstellt. Der Aufruf erfolgt mit Parametern. Es funktioniert nur bei eingeschalteten VMs.
Verwendung auf eigen Gefahr !
-vcenter: <FQDN vCenter>
-vms: Liste der VMs durch Komma getrennt (keine Leerzeichen!)
resetCBT.ps1 -vcenter example.vcenter.local -vms "vmname1,vmname2,vmname3,vmname4"
Update:
Möglicherweise löst VMware das Problem in ESXi5.5 mit aktuelltem Patchlevel (2143827) automatisch (?). Nach der Vergrößerung einer vDisk meldete Veeam Backup (v7) folgende Warnung:
Wurde von Seite des ESXi Servers das CBT automatisch deaktiviert?
Update 17. Nov 2014
Veeam hat einen Hotfix für B&R Version 7 veröffentlicht. Er besteht aus 4 DLL Dateien, die getauscht werden müssen. Voraussetzung ist Veeam Backup and Replication 7.0.0.871 (patch 4).
- Sicherstellen dass Version 7.0.0.871 installiert ist
- Veeam Dienste stoppen
- DLLs im Verzeichnis “C:\Program Files\Veeam\Backup and Replication\Backup” mit den Hotfix DLLs ersetzen.
- Veeam Dienste wieder starten
Links
- Veeam KB – CBT Data Corruption
- VMware KB – QueryChangedDiskAreas API returns incorrect sectors after extending virtual machine vmdk file with Changed Block Tracking (CBT) enabled (2090639)
- Veeam KB – How to reset CBT