VMware fornisce API per semplificare la protezione dei dati nei sistemi virtuali aziendali con funzionalità che consentono backup senza agente e migliorano l’efficienza dei backup incrementali delle VM. I backup incrementali aiutano a risparmiare una quantità significativa di spazio di archiviazione rispetto ai backup completi
Quando si tratta di soluzioni di backup VMware moderne, la maggior parte si basa sulle API di VMware e utilizza la tecnologia Changed Block Tracking (CBT) per facilitare e velocizzare la creazione di backup incrementali delle macchine virtuali. In questo post sul blog spieghiamo Changed Block Tracking, compreso il principio di funzionamento e le applicazioni pratiche.
Cosa è il Changed Block Tracking?
Changed Block Tracking (CBT) è una funzionalità nativa di VMware che registra i blocchi modificati in un file di tracciamento. CBT fa parte del framework VMware vSphere Storage APIs – Data Protection, rilasciato per la prima volta nella versione 4.0, che consente alle applicazioni di protezione dei dati di terze parti di sfruttare CBT per eseguire backup e replica più efficienti.
CBT funziona a livello dello stack di storage ESXi e consente alle soluzioni di backup di terze parti di eseguire il backup solo dei blocchi di dati modificati dall’ultimo backup, cioè di creare backup incrementali, o dei blocchi in uso anziché l’intera VM. Ciò consente di ridurre drasticamente la quantità di dati di backup, specialmente in ambienti di grandi dimensioni con centinaia di VM, e di accelerare il processo di backup.
VMware CBT riduce significativamente il tempo necessario al software di backup per eseguire backup incrementali perché tiene traccia delle modifiche in un file di registro speciale. Le soluzioni di backup di terze parti causano un carico maggiore sulla CPU di un server ESXi se tengono traccia delle modifiche senza CBT utilizzando altri metodi. Di conseguenza, il CBT ottimizza anche le prestazioni di un server ESXi durante il backup dei dati.
Il CBT è anche utilizzato dal processo Storage vMotion di VMware che consente ai file disco delle macchine virtuali di essere spostati da un datastore all’altro mentre è in esecuzione.
Come funziona il Changed Block Tracking di VMware
La funzione CBT funziona confrontando gli ID delle modifiche precedenti e attuali e individuando i settori del disco che sono stati modificati tra questi ID delle modifiche. Il CBT di VMware identifica anche tutti i blocchi del File System della Macchina Virtuale (VMFS) presenti su un disco virtuale che sono in uso. Il monitoraggio è eseguito dall’ipervisore stesso e avviene al di fuori della VM.
Requisiti del CBT
I requisiti per il Changed Block Tracking includono:
- VMware vSphere (ESXi 4.0 o versioni successive)
- Hardware virtuale versione 7 o successiva
- Datastore locali VMFS, datastore NFS o iSCSI
- Provisioning spesso o sottile
- Nessun mapping disco RAW. Il Raw Device Mapping (RDM) in modalità di compatibilità fisica non è supportato.
- A VM must not have snapshots to start using VMware CBT
Come abilitare il Changed Block Tracking
Per impostazione predefinita, CBT è disabilitato in quanto consuma una piccola quantità di tempo CPU host. Ma per una soluzione di backup di terze parti come NAKIVO Backup & Replication, CBT deve essere abilitato per consentire al prodotto di eseguire backup incrementali veloci e affidabili.
CBT è abilitato nelle impostazioni di configurazione avanzate di una macchina virtuale:
- Aprire le impostazioni della VM. Puoi farlo in VMware vSphere Client facendo clic con il pulsante destro del mouse su una VM e selezionando Modifica Impostazioni.
- Nella finestra Modifica Impostazioni, fare clic sulla scheda Opzioni VM.
- Fare clic sulla categoria Avanzate per espandere le impostazioni e fare clic su Modifica Configurazione nella riga Parametri di Configurazione. Si apre la finestra Parametri di Configurazione per la VM, e contiene diverse righe, ognuna contenente un nome parametro e un valore.
- L’attivazione di CBT è determinata dalla seguente riga nella configurazione .vmx:
ctkEnabled = “TRUE”
Inoltre, per ogni disco in cui è abilitato CBT, verrà inclusa una voce:
scsix:x.ctkEnabled = “TRUE”
Questi parametri devono essere impostati per abilitare il Changed Block Tracking.
Nota: Per disabilitare CBT, cambiare TRUE in FALSE nelle righe ctkEnabled e scsi0:0.ctkEnabled (utilizzare il numero appropriato del dispositivo SCSI).
Quando CBT è abilitato su una VM, il VMkernel crea un file aggiuntivo con -ctk.vmdk nella directory della VM che viene utilizzato per memorizzare la mappatura dei blocchi del disco virtuale. Questo file è correlato al disco .vmdk rispettivo e contiene un elenco dei blocchi modificati in questo disco virtuale tra il tempo specificato nell’ultimo ID della serie di modifiche e lo stato attuale. La dimensione del file CTK che viene creato rimane la stessa e non cresce oltre la dimensione originale a meno che non venga aumentata la dimensione del disco virtuale. La dimensione del file CTK è approssimativamente di 5 MB per ogni 10 GB di dimensione del disco VM.
La maggior parte delle soluzioni di backup utilizzerà il metodo SDK di VMware per abilitare in modo programmatico CBT per una VM e utilizzare un ciclo di stun/unstun, che include l’accensione o lo spegnimento, la sospensione/ripristino o la creazione/eliminazione di un snapshot. Durante un ciclo di stun/unstun, viene inserito un filtro speciale di tracciamento delle modifiche nello stack di storage VMware per la VM specifica, che consente a CBT di istanziarsi sulla VM.
Come verificare se CBT è abilitato
Nei casi in cui non hai abilitato manualmente CBT, puoi verificare se il software di backup ha abilitato CBT per eseguire il backup della VM. I passaggi per verificare le impostazioni di CBT sono simili ai passaggi per abilitare questa funzione. Ma qui copriremo un metodo leggermente diverso utilizzando un file di configurazione .vmx.
Per verificare se CBT è abilitato per la VM, esegui quanto segue:
- Apri VMware vSphere Client.
- Trova la VM necessaria e assicurati che sia spenta.
- Vai alla cartella della VM su un datastore.
- Trova un file di configurazione della VM (.vmx).
Con l’abilitazione del CBT, ogni disco virtuale è accompagnato da un file xxx-ctk.vmdk, dove “xxx” è il nome del disco virtuale. Se si vedono questi file CTK, indica la funzione CBT funzionante.
In alcuni casi, come lo spegnimento inappropriato dell’host o un’interruzione di corrente, il CBT può perdere il tracciamento delle modifiche mentre la VM è accesa. Ciò può causare un reset del CBT, il che significa che tutti i dati CBT precedentemente raccolti verranno cancellati e i nuovi dati inizieranno a essere raccolti dal momento del reset. Se esegui un backup della VM dopo il reset del CBT, verrà effettuato un backup completo. Dopo aver effettuato un backup completo e tracciato le nuove modifiche, è possibile eseguire nuovamente backup incrementali.
Utilizzando VMware CBT in NAKIVO Backup & Replication
NAKIVO Backup & Replication è una soluzione universale di protezione dei dati che può eseguire il backup, il ripristino e la replica delle macchine virtuali in VMware vSphere. Per accelerare il backup incrementale eseguito con la soluzione NAKIVO, il CBT è abilitato per impostazione predefinita in qualsiasi nuovo lavoro di backup.
Esistono diversi casi in cui NAKIVO Backup & Replication, come qualsiasi altra soluzione di backup vSphere, non può utilizzare VMware CBT:
- Il CBT di VMware non è supportato da una VM: Possibile causa: l’host ESXi è inferiore alla versione 4.1 o la versione dell’hardware virtuale è inferiore alla v7.
- I dati CBT di VMware non sono stati forniti: Possibile causa: interruzione di corrente dell’host ESXi e il CBT ha perso il tracciamento delle modifiche incrementali della VM.
Nelle impostazioni aggiuntive di tracciamento delle modifiche è possibile trovare le azioni che la soluzione dovrebbe intraprendere quando si verifica un errore durante l’utilizzo del CBT.
Diamo un’occhiata più da vicino a queste azioni Su errore:
- Passare al metodo proprietario: Verrà utilizzato il metodo di tracciamento dei cambiamenti proprietario di NAKIVO Backup & Replication, che è più lento rispetto a VMware CBT e consuma più risorse dell’host ESXi.
- Resetta CBT: CBT verrà resettato in caso di fallimento di CBT.
- Interrompi l’elaborazione della VM: L’elaborazione della VM verrà interrotta.
Puoi anche specificare quando applicare l’azione su errore selezionata:
- Immediatamente: L’azione su errore viene applicata immediatamente (tranne per l’azione di reset CBT).
- Al successivo tentativo: L’azione su errore viene applicata al successivo tentativo.
- All’ultimo tentativo: L’azione su errore viene applicata all’ultimo tentativo.
Puoi inoltre selezionare la casella di controllo Verifica doppiamente i blocchi modificati forniti da CBT. In questo caso, i dati forniti da VMware CBT verranno ulteriormente verificati rispetto al tracciamento dei cambiamenti proprietario di NAKIVO Backup & Replication. Questo approccio è più affidabile, ma potrebbe essere più lento rispetto al normale VMware CBT.
Conclusione
Il VMware Changed Block Tracking è una funzionalità potente che rende il processo di backup più veloce e affidabile sotto ogni aspetto. La tecnologia è stata ampiamente testata ed è ampiamente utilizzata nella tecnologia nativa VMware come Storage vMotion.
Il CBT di VMware è parte integrante di moderne soluzioni di backup come NAKIVO Backup & Replication che forniscono backup efficienti degli ambienti VMware senza ulteriori carichi sugli host.
Source:
https://www.nakivo.com/blog/vmware-changed-block-tracking-works/