VMware fornece APIs para simplificar a proteção de dados em ambientes virtuais empresariais com recursos que possibilitam backups sem agente e melhoram a eficiência dos backups incrementais de VM. Backups incrementais ajudam a economizar uma quantidade significativa de espaço de armazenamento em comparação com backups completos.
Quando se trata de soluções de backup VMware modernas, a maioria depende das APIs da VMware e utiliza a tecnologia de Changed Block Tracking (CBT) para facilitar e acelerar a criação de backups incrementais de máquinas virtuais. Neste post do blog, explicamos o Changed Block Tracking, incluindo o princípio de funcionamento e aplicações práticas.
O que é Changed Block Tracking?
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 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, criar backups incrementais, ou os 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 as alterações em um arquivo de log especial. Soluções de backup de terceiros causam mais carga na CPU de um servidor ESXi se rastrearem alterações 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 os arquivos de disco da máquina virtual sejam movidos de um datastore para outro enquanto estão em execução.
Como o Changed Block Tracking da VMware Funciona
O recurso CBT funciona comparando os IDs de conjunto de alterações anteriores e atuais e encontrando os setores de disco que foram alterados entre esses IDs de conjunto de alterações. O VMware CBT também identifica todos os blocos do Sistema de Arquivos de Máquina Virtual (VMFS) em um disco virtual que estão em uso. O rastreamento é realizado pelo próprio 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 da versão 7 ou superior
- Datastores VMFS locais, NFS ou iSCSI
- Provisionamento espesso ou fino
- Sem mapeamentos de disco RAW. O mapeamento de dispositivo bruto (RDM) no 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 é desativado, pois consome uma pequena quantidade de CPU do host. Mas para uma solução de backup de terceiros como o NAKIVO Backup & Replication, o CBT deve estar ativado para permitir que o produto realize backup incremental rápido e confiável.
O CBT é ativado nas configurações avançadas da máquina virtual:
- Abra as configurações da VM. Você pode fazer isso no Cliente VMware vSphere clicando com o botão direito em uma VM e selecionando Editar configurações.
- Na janela Editar configurações, clique na guia Opções da VM.
- Clique na categoria 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, e cada uma contém um nome de parâmetro e um valor.
- A ativação do CBT é determinada pela seguinte linha na configuração .vmx:
ctkEnabled = “TRUE”
Além disso, para cada disco em que o CBT está ativado, uma entrada será incluída:
scsix:x.ctkEnabled = “TRUE”
Esses parâmetros devem ser definidos para habilitar o Rastreamento de Blocos Alterados.
Nota: Para desativar o CBT, altere TRUE para FALSE nas linhas ctkEnabled e scsi0:0.ctkEnabled (use o número apropriado do dispositivo SCSI).
Quando CBT é ativado em uma VM, o VMkernel cria um arquivo adicional com -ctk.vmdk no diretório da VM que é usado para armazenar o mapeamento de blocos de disco virtual. Este arquivo está relacionado ao respectivo disco .vmdk 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 do tamanho do disco 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 estunilização/desestunilização, que inclui ligar/desligar, suspender/resumir ou criar/excluir um instantâneo. Durante um ciclo de estunilização/desestunilização, um filtro especial de rastreamento de alterações é inserido na pilha de armazenamento da VMware para a VM específica, o que permite que o CBT seja instanciado na VM.
Como Verificar se o CBT Está Habilitado
Nos 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. As etapas para verificar as configurações do CBT são semelhantes às etapas 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:
- Abra o VMware vSphere Client.
- Encontre a VM necessária e certifique-se de que ela está desligada.
- Vá para a pasta da VM em um datastore.
- Encontre um arquivo de configuração da VM (.vmx).
Com o CBT ativado, 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 inapropriado do host ou falha de energia, o CBT pode perder o controle das alterações enquanto a VM está ligada. Isso pode fazer com que o CBT seja redefinido, o que significa que todos os dados do 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 é habilitado 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 vSphere, não pode usar o VMware CBT:
- O CBT do VMware não é suportado por uma VM: Possível causa – host ESXi é inferior a v4.1, ou a versão do Hardware Virtual é inferior a v7.
- Os dados do VMware CBT não foram fornecidos: Possível causa – desligamento de energia do host ESXi e o CBT perdeu o controle das alterações incrementais da VM.
Nas configurações adicionais de rastreamento de alterações settings, você pode encontrar as ações que a solução deve tomar ao encontrar um erro ao usar o CBT.
Vamos dar uma olhada mais de perto nessas ações de On errorerro:
- Alternar para método proprietário: O método de rastreamento de mudanças proprietário do NAKIVO Backup & Replication será usado, o que é mais lento que o VMware CBT e consome mais recursos do host ESXi.
- Redefinir CBT: O CBT será redefinido no 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 novamente os blocos alterados fornecidos pelo CBT. Neste caso, os dados fornecidos pelo VMware CBT serão adicionalmente verificados contra o rastreamento de mudanças proprietário do NAKIVO Backup & Replication. Esta abordagem é mais confiável, mas pode ser mais lenta que o VMware CBT regular.
Conclusão
O VMware Changed Block Tracking é 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 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/