O que é o VMware Changed Block Tracking (CBT) e como funciona?

A VMware fornece APIs para simplificar a proteção de dados em ambientes virtuais corporativos com recursos que permitem backups sem agentes e melhoram a eficiência dos backups incrementais de VMs. Os backups incrementais ajudam a economizar uma quantidade significativa de espaço de armazenamento em comparação com os backups completos.

Quando se trata de soluções de backup modernas para VMware, a maioria depende das APIs da VMware e utiliza a tecnologia Changed Block Tracking (CBT) para facilitar e acelerar a criação de backups incrementais de máquinas virtuais. Neste post de blog, explicamos o Changed Block Tracking, incluindo o princípio de funcionamento e as aplicações práticas.

O Que É o Changed Block Tracking?

O Changed Block Tracking (CBT) é um recurso nativo da VMware que registra blocos alterados em um arquivo de rastreamento. O CBT faz parte do framework VMware vSphere Storage APIs – Data Protection, lançado pela primeira vez na versão 4.0, que permite que aplicativos de proteção de dados de terceiros aproveitem o CBT para realizar backups e replicação mais eficientes.

O CBT funciona no nível do stack de armazenamento do ESXi e permite que soluções de backup de terceiros façam backup apenas dos blocos de dados alterados desde o último backup, ou seja, criem backups incrementais, ou dos blocos em uso em vez da VM completa. Isso permite reduzir drasticamente a quantidade de dados de backup, especialmente em ambientes grandes com centenas de VMs, e acelerar o processo de backup.

O VMware CBT reduz significativamente o tempo que o software de backup leva para realizar backups incrementais porque ele rastreia mudanças em um arquivo de log especial. Soluções de backup de terceiros causam mais carga de CPU em um servidor ESXi se rastrearem mudanças sem CBT usando outros métodos. Assim, o CBT também otimiza o desempenho de um servidor ESXi ao fazer backup de dados.

O CBT também é usado pelo processo Storage vMotion da VMware que permite que arquivos de disco de máquinas virtuais sejam movidos de um datastore para outro enquanto estão em execução.

Como o VMware Changed Block Tracking Funciona

O recurso CBT funciona comparando os IDs do conjunto de mudanças anterior e atual e encontrando os setores do disco que foram alterados entre esses IDs de conjunto de mudanças. O VMware CBT também identifica todos os blocos do Sistema de Arquivos de Máquina Virtual (VMFS) em todo um disco virtual que estão em uso. O rastreamento é realizado pelo hipervisor e ocorre fora da VM.

Requisitos do CBT

Os requisitos para o Changed Block Tracking incluem:

  • VMware vSphere (ESXi 4.0 ou superior)
  • Hardware virtual versão 7 ou superior
  • Datastores VMFS locais, NFS ou iSCSI
  • Provisionamento espesso ou fino
  • Nenhuma mapeamento de disco RAW. O Mapeamento de Dispositivo de Armazenamento em Modo de Compatibilidade Física não é suportado.
  • A VM must not have snapshots to start using VMware CBT

Como Habilitar o Changed Block Tracking

Por padrão, o CBT está desabilitado, pois consome uma pequena quantidade de tempo de CPU do host. Mas para uma solução de backup de terceiros como o NAKIVO Backup & Replication, o CBT deve ser habilitado para que o produto realize backup incremental rápido e confiável.

O CBT é habilitado nas configurações avançadas de uma máquina virtual:

  1. Abra as configurações da VM. Você pode fazer isso no VMware vSphere Client clicando com o botão direito em uma VM e selecionando Editar Configurações.
  2. Na janela Editar configurações, clique na guia Opções da VM.
  3. Clique na categoria de opção Avançado para expandir as configurações e clique em Editar Configuração na linha Parâmetros de Configuração. A janela Parâmetros de Configuração para a VM é aberta e contém várias linhas, cada uma contendo um nome de parâmetro e valor.
  4. A ativação do CBT é determinada pela seguinte linha no arquivo de configuração .vmx:

ctkEnabled = “TRUE”

Além disso, para cada disco no qual o CBT é habilitado, uma entrada será incluída:

scsiX:X.ctkEnabled = “TRUE”

Esses parâmetros devem ser definidos para habilitar o Rastreamento de Blocos Alterados.

Nota: Para desabilitar o CBT, altere TRUE para FALSE nas linhas ctkEnabled e scsi0:0.ctkEnabled (use o número apropriado do dispositivo SCSI).

Quando o CBT está habilitado em uma VM, o VMkernel cria um arquivo adicional com -ctk.vmdk no diretório da VM que é usado para armazenar o mapeamento dos blocos de disco virtual. Este arquivo está relacionado ao disco .vmdk respectivo e contém uma lista de blocos alterados neste disco virtual entre o tempo específico identificado no último ID de conjunto de alterações e o estado atual. O tamanho do arquivo CTK que é criado permanece o mesmo e não cresce além do tamanho original, a menos que o tamanho do disco virtual seja aumentado. O tamanho do arquivo CTK é aproximadamente 5 MB para cada 10 GB de tamanho do disco da VM.

A maioria das soluções de backup usará o método SDK da VMware para habilitar programaticamente o CBT para uma VM e usar um ciclo de estupor/desestupor, que inclui ligar/desligar, suspender/resumir ou criar/excluir um instantâneo. Durante um ciclo de estupor/desestupor, um filtro de rastreamento de alterações especial é inserido na pilha de armazenamento VMware para a VM específica, o que permite que o CBT seja instanciado na VM.

Como Verificar se o CBT Está Habilitado

Em casos em que você não habilitou o CBT manualmente, você pode verificar se o software de backup habilitou o CBT para realizar o backup da VM. Os passos para verificar as configurações de CBT são semelhantes aos passos para habilitar esse recurso. Mas aqui vamos cobrir um método ligeiramente diferente usando um arquivo de configuração .vmx.

Para verificar se o CBT está habilitado para a VM, faça o seguinte:

  1. Abra o Cliente VMware vSphere.
  2. Encontre a VM necessária e certifique-se de que ela esteja desligada.
  3. Vá para a pasta da VM em um datastore.
  4. Encontre um arquivo de configuração da 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.

Com a CBT ativada, cada disco virtual é acompanhado por um arquivo xxx-ctk.vmdk, onde “xxx” é o nome do disco virtual. Se você ver esses arquivos CTK, isso indica que o recurso CBT está funcionando.

Em alguns casos, como desligamento inadequado do host ou falha de energia, o CBT pode perder o rastreamento de alterações enquanto a VM está ligada. Isso pode fazer com que o CBT seja redefinido, o que significa que todos os dados de CBT coletados anteriormente serão descartados e os novos dados começarão a ser coletados a partir do momento da redefinição. Se você executar um backup da VM após a redefinição do CBT, será feito um backup completo. Após fazer um backup completo e rastrear novas alterações, você pode então realizar backups incrementais novamente.

Usando o VMware CBT no NAKIVO Backup & Replication

O NAKIVO Backup & Replication é uma solução de proteção de dados universal que pode fazer backup, recuperar e replicar máquinas virtuais no VMware vSphere. Para acelerar o backup incremental realizado com a solução NAKIVO, o CBT é ativado por padrão em qualquer novo trabalho de backup.

Há vários casos em que o NAKIVO Backup & Replication, como qualquer outra solução de backup do vSphere, não pode usar o VMware CBT:

  • O CBT do VMware não é suportado por uma VM: Possível causa – O host ESXi é inferior a v4.1, ou a versão do Hardware Virtual é inferior a v7.
NOTE: NAKIVO Backup & Replication versions 10.6 and newer do not support ESXi 5.1 and older versions.
  • Os dados do CBT do VMware não foram fornecidos: Possível causa – Falha de energia do host ESXi e o CBT perdeu o rastreamento de alterações incrementais da VM.

Nas configurações adicionais de rastreamento de alterações, você pode encontrar as ações que a solução deve tomar quando encontrar um erro ao usar o CBT.

Vamos dar uma olhada mais de perto nessas ações de Em caso de erro:

  • Mudar para método proprietário: O método de rastreamento de alterações proprietário do NAKIVO Backup & Replication será utilizado, o qual é mais lento que o VMware CBT e consome mais recursos do host ESXi.
  • Redefinir CBT: O CBT será redefinido em caso de falha do CBT.
  • Falha no processamento da VM: O processamento da VM será interrompido.

Também, você pode especificar quando aplicar a ação selecionada em caso de erro:

  • Imediatamente: A ação em caso de erro é aplicada imediatamente (exceto para a ação de Redefinir CBT).
  • Na próxima tentativa: A ação em caso de erro é aplicada na próxima tentativa.
  • Na última tentativa: A ação em caso de erro é aplicada na última tentativa.

Você também pode selecionar a caixa de seleção Verificar duplamente blocos alterados fornecidos pelo CBT. Neste caso, os dados fornecidos pelo VMware CBT serão adicionalmente verificados em relação ao rastreamento de alterações proprietário do NAKIVO Backup & Replication. Esta abordagem é mais confiável, mas pode ser mais lenta que o VMware CBT regular.

Conclusão

O Changed Block Tracking da VMware é um recurso poderoso que torna o processo de backup mais rápido e confiável em todos os aspectos. A tecnologia é bem testada e amplamente utilizada em tecnologias nativas da VMware, como o Storage vMotion.

O VMware CBT é uma parte integral de soluções de backup modernas, como o NAKIVO Backup & Replication, que fornecem backups eficientes de ambientes VMware sem carga adicional nos hosts.

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