Qu’est-ce que le suivi des modifications (CBT) de VMware et comment fonctionne-t-il ?
VMware propose des API destinées à simplifier la protection des données dans les environnements virtuels d’entreprise, grâce à des fonctionnalités permettant d’effectuer des sauvegardes sans agent et d’améliorer l’efficacité des sauvegardes incrémentielles des machines virtuelles. Les sauvegardes incrémentielles permettent d’économiser un volume considérable d’espace de stockage par rapport aux sauvegardes complètes
En matière de Solutions de sauvegarde VMware-Backupmodernes, la plupart s’appuient sur les API de VMware et utilisent la technologie CBT (Changed Block Tracking) pour faciliter et accélérer la création de sauvegardes incrémentielles des machines virtuelles. Dans cet article de blog, nous expliquons le Changed Block Tracking, notamment son principe de fonctionnement et ses applications pratiques.
Qu’est-ce que le Changed Block Tracking ?
Le Changed Block Tracking (CBT) est une fonctionnalité native de VMware qui consigne les blocs modifiés dans un fichier de suivi. Le CBT fait partie du cadre VMware vSphere Storage APIs – Data Protection, lancé pour la première fois dans la version 4.0, qui permet aux applications tierces de protection des données d’exploiter le CBT pour effectuer des sauvegardes et des réplications plus efficaces.
Le CBT fonctionne au niveau de la pile de stockage ESXi et permet aux solutions de sauvegarde tierces de ne pas sauvegarder les blocs de données modifiés depuis la dernière sauvegarde, c’est-à-dire de créer des sauvegardes incrémentielles, ou encore de ne pas sauvegarder les blocs en cours d’utilisation plutôt que la machine virtuelle dans son intégralité. Cela vous permet de réduire considérablement le volume des données à sauvegarder, en particulier dans les grands environnements comptant des centaines de VMs, et d’accélérer le processus de sauvegarde.
La technologie CBT de VMware réduit considérablement le temps nécessaire au logiciel de sauvegarde pour effectuer des sauvegardes incrémentielles, car elle suit les modifications dans un fichier journal dédié. Les solutions de sauvegarde tierces génèrent une charge de processeur plus importante sur un serveur ESXi si elles suivent les modifications sans recourir au CBT, en utilisant d’autres méthodes. Ainsi, le CBT optimise également les performances d’un serveur ESXi lors de la sauvegarde des données.
Le CBT est également utilisé par le processus « » de VMware, «Storage vMotion» , qui permet de déplacer les fichiers de disque d’une machine virtuelle d’un magasin de données à un autre pendant son exécution.
Fonctionnement du suivi des blocs modifiés (CBT) de VMware
La fonctionnalité CBT fonctionne en comparant les identifiants des derniers et actuels ensembles de modifications, puis en identifiant les secteurs de disque qui ont été modifiés entre ces identifiants. Le CBT de VMware identifie également tous les blocs du système de fichiers des machines virtuelles (VMFS) en cours d’utilisation sur un disque virtuel. Le suivi est effectué par l’hyperviseur lui-même et s’effectue en dehors de la machine virtuelle.
Conditions à remplir pour le CBT
Les conditions à remplir pour le suivi des blocs modifiés (CBT) comprennent :
- VMware vSphere (ESXi 4.0 ou version ultérieure)
- Matériel virtuel version 7 ou ultérieure
- Stockages locaux Magasins de données VMFS, NFS ou iSCSI
- Provisionnement « thick » ou « thin »
- Aucun mappage de disque RAW. Le mappage de périphériques bruts (RDM) en mode de compatibilité physique n’est pas pris en charge.
- Une machine virtuelle ne doit pas avoir instantanés pour pouvoir utiliser VMware CBT
Comment activer le suivi des modifications (CBT)
Par défaut, le CBT est désactivé car il consomme un peu de temps de processeur de l’hôte. Mais pour une solution de sauvegarde tierce telle que NAKIVO Backup & Replication, le CBT doit être activé afin de permettre au produit d’effectuer des sauvegardes incrémentielles rapides et fiables.
Le CBT s’active dans les paramètres de configuration avancés d’une machine virtuelle :
- Ouvrez les paramètres de la machine virtuelle. Vous pouvez le faire dans VMware vSphere Client en cliquant avec le bouton droit sur une machine virtuelle et en sélectionnant Modifier les paramètres .
- Dans la fenêtre Modifier les paramètres , cliquez sur l’onglet Options de la machine virtuelle .
- Cliquez sur la catégorie d’options Avancé pour développer les paramètres, puis cliquez sur Modifier la configuration dans la ligne Paramètres de configuration . La fenêtre Paramètres de configuration de la machine virtuelle s’ouvre ; elle contient plusieurs lignes, chacune comportant un nom de paramètre et une valeur.
- L’activation du CBT est déterminée par la ligne suivante dans la configuration du fichier .vmx de : :
ctkEnabled = "TRUE"
De plus, pour chaque disque sur lequel le CBT est activé, une entrée sera incluse :
scsix:x.ctkEnabled = "TRUE"
Ces paramètres doivent être définis pour activer le suivi des blocs modifiés (CBT).
Remarque : Pour désactiver le CBT, remplacez TRUE par FALSE dans les lignes ctkEnabled et scsi0:0.ctkEnabled (utilisez le numéro approprié du périphérique SCSI).
Lorsque la fonctionnalité CBT est activée sur une machine virtuelle, le VMkernel crée un fichier supplémentaire nommé -ctk.vmdk dans le répertoire de la machine virtuelle. Ce fichier sert à stocker le mappage des blocs du disque virtuel. Il est associé au disque vmdk correspondant ( vmdk ) et contient une liste des blocs modifiés sur ce disque virtuel entre le temps identifié par l’ID du dernier ensemble de modifications et l’état actuel. La taille du fichier CTK créé reste inchangée et ne dépasse pas la taille d’origine, sauf si la taille du disque virtuel est augmentée. La taille du fichier CTK est d’environ 5 Mo de chaque 10 Go de taille de disque de la machine virtuelle.
La plupart des solutions de sauvegarde utilisent la méthode du SDK VMware pour activer par programmation la technologie CBT sur une machine virtuelle et recourent à un cycle « stun/unstun », qui inclut soit la mise sous tension ou hors tension, soit la mise en veille/reprise, soit la création/suppression d’un instantané. Au cours d’un cycle de mise en veille/réactivation, un filtre spécial de suivi des modifications est inséré dans la pile de stockage VMware de la machine virtuelle concernée, ce qui permet à la fonctionnalité CBT de s’instancier sur cette machine virtuelle.
Comment vérifier si la fonctionnalité CBT est activée
Si vous n’avez pas activé la fonctionnalité CBT manuellement, vous pouvez vérifier si le logiciel de sauvegarde l’a activée pour effectuer la sauvegarde de la machine virtuelle. Les étapes permettant de vérifier les paramètres CBT sont similaires à celles requises pour activer cette fonctionnalité. Mais nous allons ici aborder une méthode légèrement différente utilisant un .vmx fichier de configuration.
Pour vérifier si la CBT est activée pour la machine virtuelle, procédez comme suit :
- Ouvrez VMware vSphere Client .
- Recherchez la machine virtuelle concernée et assurez-vous qu’elle est hors tension.
- Accédez au dossier de la machine virtuelle sur un datastore.
- Recherchez un fichier de configuration de la machine virtuelle (.vmx ).
ctkEnabled . La valeur de cette entrée doit être « TRUE ». Si ce n’est pas le cas, remplacez-la par « TRUE » pour activer la fonctionnalité CBT sur la machine virtuelle.Lorsque la fonctionnalité CBT est activée, chaque disque virtuel est accompagné d’un fichier xxx-ctk.vmdk , où « xxx » correspond au nom du disque virtuel. La présence de ces fichiers CTK indique que la fonctionnalité CBT fonctionne correctement.
Dans certains cas, tels qu’un arrêt inapproprié de l’hôte ou une coupure de courant, la fonctionnalité CBT peut perdre la trace des modifications alors que la machine virtuelle est sous tension. Cela peut entraîner la réinitialisation de la fonctionnalité CBT, ce qui signifie que toutes les données CBT précédemment collectées seront effacées et que la collecte des nouvelles données reprendra à partir du moment de la réinitialisation. Si vous sauvegardez la machine virtuelle après la réinitialisation de la fonctionnalité CBT, une sauvegarde complète est réalisée. Après avoir effectué une sauvegarde complète et suivi les nouvelles modifications, vous pouvez alors effectuer à nouveau des sauvegardes incrémentielles.
Utilisation de la technologie CBT de VMware dans NAKIVO Backup & Replication
NAKIVO Backup & Replication est une solution universelle de protection des données capable de sauvegarder, de réaliser la récupération et la réplication de machines virtuelles dans VMware vSphere. Afin d’accélérer les sauvegardes incrémentielles effectuées avec la solution NAKIVO, la technologie CBT est activée par défaut dans toute nouvelle tâche de sauvegarde.
Il existe plusieurs cas d’utilisation où NAKIVO Backup & Replication, comme toute autre solution de sauvegarde vSphere, ne peut pas utiliser la technologie CBT de VMware :
- La technologie CBT de VMware n’est pas prise en charge par une machine virtuelle : Cause possible – la version de l’hôte VMware ESXi est antérieure à la v4.1, ou la version du matériel virtuel est antérieure à la v7.
- Les données CBT de VMware n’ont pas été fournies : Cause possible : coupure de courant de l’hôte ESXi et perte de la piste des modifications incrémentielles de la machine virtuelle par le CBT.
Dans les paramètres supplémentaires de Suivi des modifications , vous trouverez les actions que la solution doit entreprendre lorsqu’elle rencontre une erreur lors de l’utilisation du CBT.
Examinons de plus près ces actions en cas d’erreur :
- Passer à la méthode propriétaire : la méthode propriétaire de suivi des modifications de NAKIVO Backup & Replication sera utilisée ; elle est plus lente que le CBT de VMware et consomme davantage de ressources de l’hôte VMware ESXi.
- Réinitialiser le CBT : le CBT sera réinitialisé en cas d’échec du CBT.
- Échec du traitement de la VM : le traitement de la VM sera interrompu.
Vous pouvez également spécifier quand appliquer l’action sélectionnée En cas d’erreur :
- Immédiatement : L’action en cas d’erreur est appliquée immédiatement (à l’exception de l’action « Réinitialiser le CBT »).
- Lors de la prochaine tentative : L’action en cas d’erreur est appliquée lors de la prochaine tentative.
- Lors de la dernière tentative : L’action en cas d’erreur est appliquée lors de la dernière tentative.
Vous pouvez également cocher la case « Vérifier à nouveau les blocs modifiés fournis par le CBT » . Dans ce cas, les données fournies par le CBT de VMware seront vérifiées une nouvelle fois par rapport au Suivi des modifications propriétaire de NAKIVO Backup & Replication. Cette approche est plus fiable, mais peut s’avérer plus lente que le CBT VMware standard.
Conclusion
Le suivi des blocs modifiés (CBT) de VMware est une fonctionnalité puissante qui rend le processus de sauvegarde plus rapide et plus fiable à tous égards. Cette technologie a fait ses preuves et est largement utilisée dans les technologies natives de VMware, telles que Storage vMotion.
Le CBT VMware fait partie intégrante des solutions de sauvegarde modernes telles que NAKIVO Backup & Replication, qui assurent des sauvegardes efficaces des environnements VMware sans charge supplémentaire sur les hôtes.



