¿Qué es VMware Changed Block Tracking (CBT) y cómo funciona?

VMware proporciona API para simplificar la protección de datos en entornos virtuales empresariales con características que permiten copias de seguridad sin agente y mejoran la eficiencia de las copias de seguridad incrementales de VM. Las copias de seguridad incrementales ayudan a ahorrar una cantidad significativa de espacio de almacenamiento en comparación con las copias de seguridad completas.

Cuando se trata de soluciones de copia de seguridad modernas 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 acelerar la creación de copias de seguridad incrementales de máquinas virtuales. En esta publicación de blog explicamos el Changed Block Tracking, incluido el principio de funcionamiento y las aplicaciones prácticas.

¿Qué es Changed Block Tracking?

Changed Block Tracking (CBT) es una característica nativa de VMware que registra los bloques cambiados en un archivo de seguimiento. CBT es parte del marco de 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 replicación más eficientes.

CBT funciona a nivel del stack de almacenamiento ESXi y permite a las soluciones de copia de seguridad de terceros hacer copias de seguridad solo de los bloques de datos cambiados desde la última copia de seguridad, es decir, crear copias de seguridad incrementales, o los bloques en uso en lugar de la VM completa. Esto le permite reducir drásticamente la cantidad de datos de copia de seguridad, especialmente en entornos grandes con cientos de VM, y acelerar el proceso de copia de seguridad.

VMware CBT reduce significativamente el tiempo que lleva al software de respaldo realizar copias de seguridad incrementales porque realiza un seguimiento de los cambios en un archivo de registro especial. Las soluciones de respaldo de terceros causan una mayor carga en la CPU de un servidor ESXi si realizan un seguimiento de los cambios sin CBT mediante otros métodos. Por lo tanto, CBT también optimiza el rendimiento de un servidor ESXi al respaldar datos.

VMware’s Storage vMotion utiliza CBT para permitir que los archivos de disco de la máquina virtual se muevan de un datastore a otro mientras está en funcionamiento.

Cómo funciona VMware Changed Block Tracking

La función CBT funciona comparando los IDs de cambios anteriores y actuales y encontrando los sectores de disco que fueron alterados entre estos IDs de cambios. VMware CBT también identifica todos los bloques del Sistema de Archivos de Máquina Virtual (VMFS) en un disco virtual que están en uso. El seguimiento lo realiza el hipervisor mismo y tiene lugar fuera de la VM.

Requisitos de CBT

Los requisitos para Changed Block Tracking incluyen:

  • VMware vSphere (ESXi 4.0 o superior)
  • Hardware virtual versión 7 o superior
  • Datastores VMFS locales, NFS o iSCSI
  • Provisión gruesa o delgada
  • No hay asignaciones de disco RAW. El mapeo de dispositivo crudo (RDM) en Modo de Compatibilidad Física no está soportado.
  • A VM must not have snapshots to start using VMware CBT

Cómo habilitar Changed Block Tracking

Por defecto, el CBT está deshabilitado ya que consume una pequeña cantidad de tiempo de CPU del anfitrión. Sin embargo, para una solución de respaldo de terceros como NAKIVO Backup & Replication, es necesario habilitar el CBT para que el producto realice respaldos incrementales rápidos y confiables.

El CBT se habilita en la configuración avanzada de la máquina virtual:

  1. Abrir las configuraciones de la VM. Puedes hacerlo en el cliente de VMware vSphere Client haciendo clic con el botón derecho en una VM y seleccionando Editar Configuración.
  2. En la ventana Editar configuración, hacer clic en la pestaña Opciones de VM.
  3. Hacer clic en la categoría de opción Avanzada para expandir las configuraciones y hacer clic en Editar Configuración en la línea de Parámetros de Configuración. Se abre la ventana Parámetros de Configuración para la VM, y contiene múltiples líneas, cada una de las cuales contiene un nombre de parámetro y un valor.
  4. La activación del CBT se determinó por la siguiente línea en la configuración .vmx:

ctkEnabled = “TRUE”

También, para cada disco en el que se habilita el CBT, se incluirá una entrada:

scsix:x.ctkEnabled = “TRUE”

Estos parámetros deben establecerse para habilitar la Rastreo de Bloques Modificados.

Nota: Para deshabilitar el CBT, cambia TRUE a FALSE en las líneas ctkEnabled y scsi0:0.ctkEnabled (use el número apropiado del dispositivo SCSI).

Cuando CBT está habilitado en una VM, el VMkernel crea un archivo adicional con -ctk.vmdk en el directorio de la VM que se utiliza para almacenar el mapeo de bloques de disco virtual. Este archivo está relacionado con el disco .vmdk respectivo y contiene una lista de bloques cambiados en este disco virtual entre el momento específico identificado en el último ID de conjunto de cambios y el estado actual. El tamaño del archivo CTK que se crea permanece igual y no crece más allá del tamaño original a menos que se aumente el tamaño del disco virtual. El tamaño del archivo CTK es aproximadamente 5 MB por cada 10 GB de tamaño de disco VM.

La mayoría de las soluciones de respaldo utilizarán el método VMware SDK para habilitar CBT de forma programática para una VM y usar un ciclo de suspensión/desbloqueo, que incluye encender o apagar, suspender/resumir, o crear/eliminar un snapshot. Durante un ciclo de suspensión/desbloqueo, se inserta un filtro especial de seguimiento de cambios en la pila de almacenamiento de VMware para la VM particular, lo que permite que CBT se instancie en la VM.

Cómo verificar si CBT está habilitado

En casos en los que no habilitaste CBT manualmente, puedes verificar si el software de respaldo habilitó CBT para realizar el respaldo de la VM. Los pasos para verificar la configuración de CBT son similares a los pasos para habilitar esta función. Pero aquí cubriremos un método ligeramente diferente utilizando un archivo de configuración .vmx.

Para verificar si CBT está habilitado para la VM, realiza lo siguiente:

  1. Abre VMware vSphere Client.
  2. Encuentra la VM necesaria y asegúrate de que esté apagada.
  3. Ve a la carpeta de la VM en un almacén de datos.
  4. Encuentra un archivo de configuración de VM (.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.

Con la CBT habilitada, cada disco virtual está acompañado de un archivo xxx-ctk.vmdk, donde “xxx” es el nombre del disco virtual. Si ves estos archivos CTK, indica que la función CBT está funcionando.

En algunos casos, como un apagado inapropiado del host o un fallo de energía, la CBT puede perder el seguimiento de los cambios mientras la VM está encendida. Esto puede provocar un reinicio de la CBT, lo que significa que todos los datos de CBT recopilados anteriormente se eliminarán y se comenzarán a recopilar nuevos datos a partir del momento del reinicio. Si realizas una copia de seguridad de la VM después del reinicio de la CBT, se realizará una copia de seguridad completa. Después de hacer una copia de seguridad completa y realizar un seguimiento de los nuevos cambios, puedes realizar copias de seguridad incrementales nuevamente.

Usando VMware CBT en NAKIVO Backup & Replication

NAKIVO Backup & Replication es una solución universal de protección de datos que puede realizar copias de seguridad, recuperar y replicar máquinas virtuales en VMware vSphere. Para acelerar la copia de seguridad incremental realizada con la solución NAKIVO, la CBT está habilitada de forma predeterminada en cualquier nuevo trabajo de copia de seguridad.

Existen varios casos en los que NAKIVO Backup & Replication, al igual que cualquier otra solución de copia de seguridad de vSphere, no puede utilizar VMware CBT:

  • La CBT de VMware no es compatible con una VM: Causa posible: el host ESXi es inferior a v4.1 o la versión del hardware virtual es inferior a v7.
NOTE: NAKIVO Backup & Replication versions 10.6 and newer do not support ESXi 5.1 and older versions.
  • No se proporcionaron datos de CBT de VMware: Causa posible: apagón del host ESXi y CBT perdió el seguimiento de los cambios incrementales de la VM.

En la configuración adicional de seguimiento de cambios settings, puedes encontrar las acciones que la solución debe tomar cuando encuentra un error al utilizar CBT.

Echemos un vistazo más de cerca a estas acciones de En caso de error:

  • Cambiar a método propietario: Se utilizará el método de seguimiento de cambios propietario de NAKIVO Backup & Replication, que es más lento que VMware CBT y consume más recursos del host ESXi.
  • Restablecer CBT: Se restablecerá CBT en caso de falla de CBT.
  • Procesamiento de VM fallido: Se detendrá el procesamiento de VM.

También puede especificar cuándo aplicar la acción seleccionada de En caso de error:

  • Inmediatamente: La acción en caso de error se aplica inmediatamente (excepto para la acción de restablecimiento de CBT).
  • En el próximo intento: La acción en caso de error se aplica en el próximo intento.
  • En el último intento: La acción en caso de error se aplica en el último intento.

También puede seleccionar la casilla de verificación de Verificar dos veces los bloques cambiados proporcionados por CBT. En este caso, los datos proporcionados por VMware CBT se verificarán adicionalmente con el seguimiento de cambios propietario de NAKIVO Backup & Replication. Este enfoque es más confiable, pero puede ser más lento que el VMware CBT regular.

Conclusión

El seguimiento de bloques cambiados de VMware es una característica potente que hace que el proceso de copia de seguridad sea más rápido y confiable en todos los aspectos. La tecnología está bien probada y se utiliza ampliamente en la tecnología nativa de VMware, como Storage vMotion.

VMware CBT es una parte integral de soluciones de copia de seguridad modernas como NAKIVO Backup & Replication que proporcionan copias de seguridad eficientes de entornos de VMware sin carga adicional en los hosts.

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