Wat is VMware Changed Block Tracking (CBT) en hoe werkt het?

VMware biedt API’s aan om gegevensbescherming in ondernemingsvirtuele omgevingen te vereenvoudigen met functies die agentloze back-ups mogelijk maken en de efficiëntie van incrementele VM-back-ups verbeteren. Incrementele back-ups helpen aanzienlijk opslagruimte te besparen in vergelijking met volledige back-ups.

Wat betreft moderne VMware-back-upoplossingen, vertrouwen de meeste op VMware’s API’s en maken gebruik van de Changed Block Tracking (CBT)-technologie om het maken van incrementele back-ups van virtuele machines te vergemakkelijken en te versnellen. In deze blogpost leggen we Changed Block Tracking uit, inclusief het werkingsprincipe en praktische toepassingen.

Wat is Changed Block Tracking?

Changed Block Tracking (CBT) is een native VMware-functie die gewijzigde blokken registreert in een trackingbestand. CBT maakt deel uit van het VMware vSphere Storage API’s – Data Protection-framework dat voor het eerst werd uitgebracht in versie 4.0, waardoor externe gegevensbeschermingsapplicaties CBT kunnen benutten voor efficiëntere back-up en replicatie.

CBT werkt op het niveau van de ESXi-opslagstack en stelt externe back-upoplossingen in staat alleen de gewijzigde datablokken sinds de laatste back-up te back-uppen, dat wil zeggen incrementele back-ups te maken, of de blokken in gebruik in plaats van de volledige VM. Hierdoor kunt u de hoeveelheid back-upgegevens drastisch verminderen, vooral in grote omgevingen met honderden VM’s, en het back-upproces versnellen.

VMware CBT vermindert aanzienlijk de tijd die de back-upsoftware nodig heeft om incrementele back-ups uit te voeren, omdat het wijzigingen bijhoudt in een speciaal logbestand. Externe back-upoplossingen zorgen voor meer CPU-belasting op een ESXi-server als ze wijzigingen volgen zonder CBT door andere methoden te gebruiken. Daarom optimaliseert CBT ook de prestaties van een ESXi-server bij het maken van back-ups van gegevens.

CBT wordt ook gebruikt door het Storage vMotion-proces van VMware, waarmee virtuele machine schijfbestanden kunnen worden verplaatst van de ene datastore naar de andere terwijl deze wordt uitgevoerd.

Hoe VMware Changed Block Tracking werkt

De CBT-functie werkt door de laatste en huidige wijzigingsset-ID’s te vergelijken en de schijfsectoren te vinden die zijn gewijzigd tussen deze wijzigingsset-ID’s. VMware CBT identificeert ook alle Virtual Machine File System (VMFS)-blokken op een virtuele schijf die in gebruik zijn. Het volgen wordt uitgevoerd door de hypervisor zelf en vindt plaats buiten de VM.

CBT-vereisten

Vereisten voor Changed Block Tracking zijn onder andere:

  • VMware vSphere (ESXi 4.0 of hoger)
  • Versie 7 virtuele hardware of hoger
  • Lokale VMFS-datastores, NFS- of iSCSI-datastores
  • Dikke of dunne provisioning
  • Geen RAW disk mappings. Raw Device Mapping (RDM) in Physical Compatibility Mode wordt niet ondersteund.
  • A VM must not have snapshots to start using VMware CBT

Hoe Changed Block Tracking in te schakelen

Standaard is CBT uitgeschakeld omdat het een kleine hoeveelheid CPU-tijd van de host verbruikt. Maar voor een back-upoplossing van een derde partij zoals NAKIVO Backup & Replication moet CBT ingeschakeld zijn om het product snelle en betrouwbare incrementele back-ups te laten uitvoeren.

CBT is ingeschakeld in de geavanceerde configuratie-instellingen van een virtuele machine:

  1. Open VM-instellingen. U kunt dit doen in VMware vSphere Client door met de rechtermuisknop op een VM te klikken en Instellingen bewerken te selecteren.
  2. In het venster Instellingen bewerken klikt u op het tabblad VM-opties.
  3. Klik op de optiecategorie Geavanceerd om de instellingen uit te vouwen en klik op Configuratie bewerken in de regel Configuratieparameters. Het venster Configuratieparameters voor de VM wordt geopend en het bevat meerdere regels, waarbij elke regel een parameter en waarde bevat.
  4. De activering van CBT wordt bepaald door de volgende regel in de configuratie van .vmx:

ctkEnabled = “TRUE”

Ook wordt voor elke schijf waarop CBT is ingeschakeld, een vermelding opgenomen:

scsix:x.ctkEnabled = “TRUE”

Deze parameters moeten worden ingesteld om Changed Block Tracking in te schakelen.

Opmerking: Om CBT uit te schakelen, wijzigt u TRUE naar FALSE in de regels ctkEnabled en scsi0:0.ctkEnabled (gebruik het juiste nummer van het SCSI-apparaat).

Wanneer CBT is ingeschakeld op een VM, maakt de VMkernel een extra bestand aan met -ctk.vmdk in de VM-map dat wordt gebruikt om de koppeling van virtuele schijfblokken op te slaan. Dit bestand is gerelateerd aan de respectieve .vmdk-schijf en bevat een lijst met blokken die zijn gewijzigd in deze virtuele schijf tussen de bepaalde tijd geïdentificeerd in de laatste changeset-ID en de actuele status. De grootte van het aangemaakte CTK-bestand blijft hetzelfde en groeit niet verder dan de oorspronkelijke grootte, tenzij de grootte van de virtuele schijf wordt vergroot. De grootte van het CTK-bestand is ongeveer 5 MB voor elke 10 GB aan VM-schijfgrootte.

De meeste back-upoplossingen zullen de VMware SDK-methode gebruiken om CBT programmatisch in te schakelen voor een VM en een stun/unstun-cyclus gebruiken, die hetzij het in- of uitschakelen van de stroom, het onderbreken/hervatten, of het maken/verwijderen van een momentopname omvat. Tijdens een stun/unstun-cyclus wordt een speciale wijzigingsregistratiefilter ingevoegd in de VMware-opslagstack voor de betreffende VM, waardoor CBT kan worden geïnstantieerd op de VM.

Hoe u kunt controleren of CBT is ingeschakeld

In gevallen waarin u CBT niet handmatig hebt ingeschakeld, kunt u controleren of de back-upsoftware CBT heeft ingeschakeld om VM-back-up uit te voeren. De stappen om CBT-instellingen te controleren zijn vergelijkbaar met de stappen voor het inschakelen van deze functie. Maar hier zullen we een iets andere methode behandelen met behulp van een .vmx-configuratiebestand.

Om te controleren of CBT is ingeschakeld voor de VM, doet u het volgende:

  1. Open VMware vSphere Client.
  2. Zoek de benodigde VM en zorg ervoor dat deze is uitgeschakeld.
  3. Ga naar de VM-map op een datastore.
  4. Zoek een VM-configuratiebestand (.vmx).
The .vmx configuration file should contain the ctkEnabled entry. The entry’s value has to be “TRUE”. If it is not, then change the value to “TRUE” to enable CBT for the VM.

Met de ingeschakelde CBT wordt elke virtuele schijf vergezeld door een xxx-ctk.vmdk bestand, waarbij “xxx” de naam van de virtuele schijf is. Als u deze CTK-bestanden ziet, geeft dit aan dat de werkende CBT-functie actief is.

In sommige gevallen, zoals een onjuiste afsluiting van de host of stroomstoring, kan CBT het overzicht van wijzigingen verliezen terwijl de VM is ingeschakeld. Dit kan leiden tot een reset van CBT, wat betekent dat alle eerder verzamelde CBT-gegevens worden gewist en dat de nieuwe gegevens worden verzameld vanaf het moment van reset. Als u een VM-back-up uitvoert na de CBT-reset, wordt een volledige back-up gemaakt. Nadat u een volledige back-up heeft gemaakt en nieuwe wijzigingen bijhoudt, kunt u vervolgens opnieuw incrementele back-ups uitvoeren.

Het gebruik van VMware CBT in NAKIVO Backup & Replication

NAKIVO Backup & Replication is een universele gegevensbeschermingsoplossing die virtuele machines in VMware vSphere kan back-uppen, herstellen en repliceren. Om de incrementele back-up uitgevoerd met de NAKIVO-oplossing te versnellen, is CBT standaard ingeschakeld in elke nieuwe back-uptaak.

Er zijn verschillende gevallen waarin NAKIVO Backup & Replication, net als elke andere vSphere-back-upoplossing, geen gebruik kan maken van VMware CBT:

  • VMware CBT wordt niet ondersteund door een VM: Mogelijke oorzaak – ESXi-host is lager dan v4.1, of de versie van de virtuele hardware is lager dan v7.
NOTE: NAKIVO Backup & Replication versions 10.6 and newer do not support ESXi 5.1 and older versions.
  • VMware CBT-gegevens zijn niet verstrekt: Mogelijke oorzaak – ESXi-hoststroomstoring en CBT raakte het overzicht van VM-incrementele wijzigingen kwijt.

In de aanvullende Change Tracking instellingen kunt u vinden welke acties de oplossing moet uitvoeren wanneer er een fout optreedt bij het gebruik van CBT.

Laten we deze Bij fout acties nader bekijken:

  • Overschakelen naar gepatenteerde methode: De gepatenteerde veranderingstrackingmethode van NAKIVO Backup & Replication zal worden gebruikt, wat langzamer is dan VMware CBT en meer van de bronnen van de ESXi-host verbruikt.
  • CBT opnieuw instellen: CBT zal worden gereset in geval van CBT-fout.
  • Verwerking van VM mislukt: Verwerking van VM zal worden gestopt.

Ook kunt u aangeven wanneer de geselecteerde Bij fout actie moet worden toegepast:

  • Onmiddellijk: Actie bij fout wordt onmiddellijk toegepast (behalve voor de Reset CBT-actie).
  • Bij de volgende poging: Actie bij fout wordt toegepast bij de volgende poging.
  • Bij de laatste poging: Actie bij fout wordt toegepast bij de laatste poging.

U kunt ook het selectievakje Dubbele controle van veranderde blokken geleverd door CBT selecteren. In dit geval zal de door VMware CBT geleverde data ook worden gecontroleerd tegen NAKIVO Backup & Replication’s gepatenteerde veranderingstracking. Deze aanpak is betrouwbaarder, maar kan langzamer zijn dan de reguliere VMware CBT.

Conclusie

VMware Changed Block Tracking is een krachtige functie die het back-upproces sneller en betrouwbaarder maakt in elk opzicht. De technologie is goed getest en wordt veel gebruikt in native VMware-technologieën zoals Storage vMotion.

VMware CBT is een integraal onderdeel van moderne back-upoplossingen zoals NAKIVO Backup & Replication die efficiënte back-ups van VMware-omgevingen bieden zonder extra belasting op hosts.

Source:
https://www.nakivo.com/blog/vmware-changed-block-tracking-works/