¿Qué es el seguimiento de cambios (CBT) de VMware y cómo funciona?
VMware ofrece API para simplificar la protección de datos en entornos virtuales empresariales con funciones que permiten realizar copias de seguridad sin agentes y mejoran la eficiencia de las copias de seguridad incrementales de máquinas virtuales. Las copias de seguridad incrementales ayudan a ahorrar una cantidad significativa de espacio de almacenamiento en comparación con las copias de seguridad completas
. En lo que respecta a las soluciones modernas de Soluciones de backup de VMware, la mayoría se basa en las API de VMware y utiliza la tecnología de Changed Block Tracking (CBT) para facilitar y agilizar la creación de copias de seguridad incrementales de máquinas virtuales. En esta entrada del blog explicamos Changed Block Tracking, incluyendo su principio de funcionamiento y sus aplicaciones prácticas.
¿Qué es « Changed Block Tracking»? «
Changed Block Tracking (CBT) » es una función nativa de VMware que registra los bloques modificados en un archivo de seguimiento. « CBT » forma parte del marco « VMware vSphere Storage APIs – Data Protection », lanzado por primera vez en la versión 4.0, que permite a las aplicaciones de protección de datos de terceros aprovechar « CBT » para realizar copias de seguridad y replicaciones más eficientes. «
CBT » funciona a nivel de « ESXi Storage Stack » y permite a las soluciones de copia de seguridad de terceros realizar copias de seguridad únicamente de los bloques de datos modificados desde la última copia de seguridad, es decir, crear copias de seguridad incrementales, o de los bloques en uso en lugar de la máquina virtual completa. Esto permite reducir drásticamente la cantidad de datos de backup, especialmente en entornos grandes con cientos de máquinas virtuales, y acelerar el proceso de backup.
VMware CBT reduce significativamente el tiempo que tarda el software de backup en realizar backups incrementales, ya que realiza un seguimiento de los cambios en un archivo de registro especial. Las soluciones de backup de terceros provocan una mayor carga de CPU en un servidor ESXi si realizan el seguimiento de los cambios sin CBT utilizando otros métodos. Por lo tanto, CBT también optimiza el rendimiento de un servidor ESXi al hacer backup de los datos.
CBT también es utilizado por el proceso Storage vMotion de VMware, que permite trasladar los archivos de disco de una máquina virtual de un almacén de datos a otro mientras está ejecutándose.
Cómo funciona VMware Changed Block Tracking
La función CBT funciona comparando el último y el actual changeset IDs y localizando los sectores de disco que se han modificado entre ambos changeset IDs. VMware CBT también identifica todos los bloques Virtual Machine File System (VMFS) de un disco virtual que están en uso. El seguimiento lo realiza el propio hipervisor y tiene lugar fuera de la máquina virtual.
CBT Requisitos
Los requisitos para Changed Block Tracking incluyen:
- VMware vSphere (ESXi 4.0 o superior)
- Hardware virtual de versión 7 o superior
- Almacenes de datos locales {24} almacenes de datos,
NFSoiSCSI - Aprovisionamiento completo o parcial
- No
RAW disk mappings.Raw Device Mapping (RDM)enPhysical Compatibility Modeno es compatible. - Una máquina virtual no debe tener instantáneas para empezar a utilizar
VMware CBT
Cómo habilitar Changed Block Tracking
De forma predeterminada, CBT está desactivado, ya que consume una pequeña cantidad de tiempo de CPU del host. Sin embargo, para una solución de backup de terceros como NAKIVO Backup & Replication, CBT debe estar habilitado para que el producto pueda realizar copias de seguridad incrementales rápidas y fiables.
CBT se habilita en la configuración avanzada de una máquina virtual:
- Abre la configuración de la máquina virtual. Puedes hacerlo en
VMware vSphere Clienthaciendo clic con el botón derecho del ratón sobre una máquina virtual y seleccionandoEdit Settings. - En la ventana
Edit settings, haz clic en la pestañaVM Options. - Haz clic en la categoría de opciones
Advancedpara desplegar los ajustes y haz clic enEdit Configurationen la líneaConfiguration Parameters. Se abre la ventana «Configuration Parameters» de la máquina virtual, que contiene varias líneas; cada una de ellas incluye un nombre de parámetro y su valor. CBTLa activación viene determinada por la siguiente línea de la configuración de «.vmx»:
ctkEnabled = "TRUE"
Además, por cada disco en el que esté habilitado « CBT », se incluirá una entrada:
scsix:x.ctkEnabled = "TRUE"
Estos parámetros deben configurarse para habilitar « Changed Block Tracking».
Nota : Para deshabilitar « CBT», cambie « TRUE » por « FALSE » en las líneas « ctkEnabled » y « scsi0:0.ctkEnabled » (utilice el número correspondiente del dispositivo « SCSI »).
Cuando CBT está habilitado en una máquina virtual, el VMkernel crea un archivo adicional con -ctk.vmdk en el directorio de la máquina virtual que se utiliza para almacenar la asignación de bloques del disco virtual. Este archivo está relacionado con el disco respectivo .vmdk y contiene una lista de los bloques modificados en este disco virtual entre el momento concreto identificado en el último changeset ID y el estado actual. El tamaño del archivo CTK que se crea permanece constante y no supera el tamaño original a menos que se aumente el tamaño del disco virtual. El tamaño del archivo CTK es de aproximadamente 5 MB por cada 10 GB del tamaño de la máquina virtual.
La mayoría de las soluciones de backup utilizan el método VMware SDK para habilitar mediante programación CBT en una máquina virtual y utilizan un stun/unstun cycle, que incluye encender o apagar, suspender/reanudar o crear/eliminar una instantánea. Durante un stun/unstun cycle, se inserta un filtro especial de seguimiento de cambios en el VMware storage stack para la máquina virtual en cuestión, lo que permite que CBT se instancie en la máquina virtual.
Cómo comprobar si CBT está habilitado
En los casos en los que no hayas habilitado CBT manualmente, puedes comprobar si el software de copia de seguridad ha habilitado CBT para realizar el backup de máquina virtual. Los pasos para comprobar los ajustes de CBT son similares a los pasos para habilitar esta función. Pero aquí veremos un método ligeramente diferente utilizando un archivo de configuración de .vmx
Para comprobar si CBT está habilitado para la máquina virtual, haz lo siguiente:
- Abre
VMware vSphere Client. - Busca la máquina virtual necesaria y asegúrate de que esté apagada.
- Vaya a la carpeta de la máquina virtual en un almacén de datos.
- Busque un archivo de configuración de la máquina virtual (.
vmx).
vmx archivo de configuración debe contener la entrada ctkEnabled . El valor de la entrada debe ser "TRUE". Si no es así, cambie el valor a "TRUE" para habilitar CBT para la máquina virtual.Con la función CBThabilitada, cada disco virtual va acompañado de un archivo xxx-ctk.vmdk , donde "xxx" es el nombre del disco virtual. Si ves estos archivos CTK , significa que la función CBT está activa.
En algunos casos, como un apagado incorrecto del host o un corte de corriente, CBT puede perder el registro de los cambios mientras la máquina virtual está encendida. Esto puede provocar que CBT se reinicie, lo que significa que todos los datos de CBT recopilados anteriormente se borrarán y se empezarán a recopilar nuevos datos desde el momento del reinicio. Si ejecutas un backup de máquina virtual después del reinicio de CBT , se creará un backup completo. Tras realizar una copia de seguridad completa y registrar los nuevos cambios, podrá volver a realizar copias de seguridad incrementales.
Uso de VMware CBT en NAKIVO Backup & Replication
NAKIVO Backup & Replication es una solución universal de protección de datos capaz de realizar copias de seguridad, recuperar y replicar máquinas virtuales en VMware vSphere. Para acelerar las copias de seguridad incrementales realizadas con la solución NAKIVO, CBT está habilitado de forma predeterminada en cualquier nueva tarea de backup.
Hay varios usos prácticos en los que NAKIVO Backup & Replication, al igual que cualquier otra solución de backup de vSphere, no puede utilizar VMware CBT:
VMware CBTno es compatible con una máquina virtual : Posible causa: el host ESXi es anterior a la versión v4.1, oVirtual Hardwarela versión es anterior a la v7.
VMware CBTNo se han proporcionado datos : Posible causa: corte de corriente en el host ESXi yCBTse ha perdido el seguimiento de los cambios incrementales de la máquina virtual.
En la sección adicional «Seguimiento de cambios» settings, puede encontrar las acciones que la solución debe realizar cuando se encuentra con un error al utilizar CBT.
Veamos más de cerca estas On error acciones:
Switch to proprietary method: Se utilizará el método de seguimiento de cambios propio de NAKIVO Backup & Replication, que es más lento queVMware CBTy consume más recursos del host ESXi.Reset CBT:CBTse restablecerá para elCBTen caso de fallo deCBT.Fail VM processing: Se detendrá el procesamiento de la máquina virtual.
Además, puede especificar cuándo aplicar la acción seleccionada On error :
Immediately: La acción en caso de error se aplica inmediatamente (excepto la acciónReset CBT).On the next retry: La acción en caso de error se aplica en el siguiente reintento.On the last retry: La acción en caso de error se aplica en el último reintento.
También puede marcar la casilla de verificación Double-check changed blocks provided by CBT . En este caso, los datos proporcionados por VMware CBT se comprobarán adicionalmente con el sistema de seguimiento de cambios propio de NAKIVO Backup & Replication. Este método es más fiable, pero puede resultar más lento que el habitual VMware CBT.
Conclusión:
VMware Changed Block Tracking es una potente función que hace el proceso de backup rápido y fiable en todos los aspectos. Esta tecnología ha sido probada exhaustivamente y se utiliza ampliamente en la tecnología nativa de VMware, como Storage vMotion.
VMware CBT forma parte integral de soluciones modernas de backup, como NAKIVO Backup & Replication, que permiten hacer backups eficientes de entornos VMware sin suponer una carga adicional para los hosts.



