¿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 hacer backups sin agentes y mejoran la eficiencia de los backups incrementales de máquinas virtuales. Los backups incrementales ayudan a ahorrar una cantidad significativa de espacio de almacenamiento en comparación con los backups completos
. 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 Changed Block Tracking (CBT) para facilitar y acelerar la creación de backups incrementales de máquinas virtuales. En esta entrada del blog explicamos el seguimiento de bloques modificados (CBT), incluyendo su principio de funcionamiento y sus aplicaciones prácticas.
¿Qué es el seguimiento de bloques modificados?
El seguimiento de bloques modificados (CBT) es una función nativa de VMware que registra los bloques modificados en un archivo de seguimiento. El CBT forma parte del marco de trabajo «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 el CBT para realizar copias de seguridad y replicaciones más eficientes.
El CBT funciona a nivel de la pila de almacenamiento de ESXi y permite que las soluciones de copia de seguridad de terceros hagan backup únicamente de los bloques de datos modificados desde la última copia de seguridad, es decir, que creen backups 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 copia de seguridad en hacer backups incrementales, ya que realiza un seguimiento de los cambios en un archivo de registro especial. Las soluciones de copia de seguridad 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 se utiliza en el proceso de VMware « » (Storage vMotion) , que permite trasladar los archivos de disco de una máquina virtual de un almacén de datos a otro mientras está ejecutando.
Cómo funciona el seguimiento de bloques modificados (CBT) de VMware
La función CBT funciona comparando los ID del último conjunto de cambios y del actual, y localizando los sectores del disco que se han modificado entre dichos ID. El CBT de VMware también identifica todos los bloques del sistema de archivos de la máquina virtual (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.
Requisitos del CBT
Los requisitos para el seguimiento de bloques modificados incluyen:
- VMware vSphere (ESXi 4.0 o superior)
- Hardware virtual de versión 7 o superior
- Almacenes de datos locales Almacenes de datos VMFS, NFS o iSCSI
- Aprovisionamiento completo o parcial
- No se admiten asignaciones de discos RAW. No se admite el mapeo de dispositivos RAW (RDM) en modo de compatibilidad física.
- Una máquina virtual no debe tener instantáneas para empezar a utilizar VMware CBT
Cómo habilitar el seguimiento de cambios (CBT)
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 copia de seguridad 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 los ajustes de configuración avanzados de una máquina virtual:
- Abrir la configuración de la máquina virtual. Puede hacerlo en VMware vSphere Client haciendo clic con el botón derecho del ratón en una máquina virtual y seleccionando « » «Edit Settings» « ».
- En la ventana « » «Edit settings» « », haga clic en la pestaña « » «VM Options» « ».
- Haga clic en la categoría de opciones « » «Advanced» « » para desplegar los ajustes y haga clic en « » «Edit Configuration» « » en la línea « » «Configuration Parameters» « ». Se abrirá la ventana « » «Configuration Parameters» « » de la máquina virtual, que contiene varias líneas, cada una de las cuales incluye un nombre de parámetro y un valor.
- La activación de CBT viene determinada por la siguiente línea en la configuración de .vmx :
ctkEnabled = "TRUE"
Además, para cada disco en el que esté habilitado CBT, se incluirá una entrada:
scsix:x.ctkEnabled = "TRUE"
Estos parámetros deben configurarse para habilitar el seguimiento de bloques modificados (CBT).
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 se habilita CBT en una máquina virtual, el VMkernel crea un archivo adicional con el nombre -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 vmdk correspondiente ( ) y contiene una lista de los bloques modificados en este disco virtual entre la hora identificada en el ID del último conjunto de cambios 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 del disco de la máquina virtual.
La mayoría de las soluciones de copia de seguridad utilizan el método del SDK de VMware para habilitar mediante programación la CBT en una máquina virtual y emplean un ciclo de activación/desactivación, que incluye encender o apagar, suspender/reanudar o crear/eliminar una instantánea. Durante un ciclo de «stun/unstun», se inserta un filtro especial de seguimiento de cambios en la pila de almacenamiento de VMware para esa máquina virtual concreta, 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 lo ha habilitado 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 .vmx archivo de configuración.
Para comprobar si CBT está habilitado para la máquina virtual, haz lo siguiente:
- Abre VMware vSphere Client .
- Busca la máquina virtual en cuestión y asegúrate de que esté apagada.
- Ve a la carpeta de la máquina virtual en un almacén de datos.
- Busca un archivo de configuración de la máquina virtual (.vmx ).
ctkEnabled entrada. El valor de la entrada debe ser «TRUE». Si no lo es, cambie el valor a «TRUE» para habilitar CBT en la máquina virtual.Con CBT habilitado, cada disco virtual va acompañado de un archivo xxx-ctk.vmdk , donde «xxx» es el nombre del disco virtual. Si ve 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, la CBT puede perder el seguimiento de los cambios mientras la máquina virtual está encendida. Esto puede provocar que la CBT se reinicie, lo que significa que todos los datos de CBT recopilados anteriormente se borrarán y los nuevos datos comenzarán a recopilarse desde el momento del reinicio. Si se ejecuta un backup de máquina virtual después del reinicio de la CBT, se creará un backup completo. Después de realizar un backup completo y realizar el seguimiento de los nuevos cambios, se podrán volver a ejecutar backups incrementales.
Uso de VMware CBT en NAKIVO Backup & Replication
NAKIVO Backup & Replication es una solución universal de protección de datos que permite 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, la CBT está habilitada de forma predeterminada en cualquier nueva job de backup.
Existen varios casos en los que NAKIVO Backup & Replication, al igual que cualquier otra solución de copia de seguridad de vSphere, no puede usar CBT de VMware:
- CBT de VMware no es compatible con una máquina virtual : Posible causa: el host ESXi es anterior a la versión 4.1 o la versión del hardware virtual es anterior a la 7.
- No se han proporcionado los datos de CBT de VMware : Posible causa: corte de corriente en el host ESXi y pérdida de seguimiento de los cambios incrementales de la máquina virtual por parte de CBT.
En los ajustes adicionales de seguimiento de cambios , se pueden consultar las acciones que debe realizar la solución cuando se produce un error al utilizar CBT.
Analicemos con más detalle estas acciones en caso de error :
- Cambiar a método patentado : se utilizará el método de seguimiento de cambios patentado de NAKIVO Backup & Replication, que es más lento que el CBT de VMware y consume más recursos del host ESXi de VMware.
- Restablecer CBT : se restablecerá el CBT en caso de fallo del mismo.
- Interrumpir el procesamiento de la máquina virtual : se detendrá el procesamiento de la máquina virtual.
Además, puede especificar cuándo aplicar la acción seleccionada En caso de error :
- Inmediatamente : La acción en caso de error se aplica inmediatamente (excepto la acción «Restablecer CBT»).
- En el siguiente intento : La acción en caso de error se aplica en el siguiente intento.
- En el último intento : La acción en caso de error se aplica en el último intento.
También puede marcar la casilla de verificación «Verificar dos veces los bloques modificados proporcionados por CBT» . En este caso, los datos proporcionados por VMware CBT se comprobarán adicionalmente con el seguimiento de cambios propio de NAKIVO Backup & Replication. Este enfoque es más fiable, pero puede resultar más lento que el CBT habitual de VMware.
Conclusión
El seguimiento de bloques modificados (CBT) de VMware es una potente función que hace que el proceso de copia de seguridad sea más rápido y fiable en todos los aspectos. La tecnología ha sido ampliamente probada y se utiliza de forma intensiva en tecnologías nativas de VMware, como Storage vMotion.
El CBT de VMware es una parte integral de las soluciones modernas de copia de seguridad, como NAKIVO Backup & Replication, que proporcionan copias de seguridad eficientes de entornos VMware sin carga adicional para los hosts.



