Eu costumava fazer isso há alguns anos atrás. (edit: com o VMWare rodando em hosts do CentOS, não o ESXi reconhecidamente)
Toda noite eu tinha um script que suspendia uma VM, rsync os arquivos do disco para o servidor de backup e, em seguida, inicie as VMs novamente. Funcionou muito bem, exceto ...
O Rsync não funciona muito bem com um arquivo de 2 GB.
Não é porque o rsync não é brilhante, é mais que cada arquivo vmdk de 2GB mude de maneira muito opaca para rsync, até mesmo pequenas mudanças no sistema de arquivos fechado produzem mudanças no vmdk (ou todas as vmdks por alguma razão) que Eu culpei o Windows, seja desfragmentando automaticamente ou fazendo todas as outras coisas que faz, não importa se você está rodando um sistema real, mas aparece quando você está tentando rsync uma VM!
Eu acho que o mecanismo de rsync para detectar mudanças não funciona muito bem em um arquivo de 2GB, enquanto muitas vezes ignorou pedaços do início do vmdk, uma vez que ele começou a encontrar a diferença, ele simplesmente copiava o resto do arquivo. Arquivo. Eu não sei se isso é um problema com o rsync não sendo capaz de detectar um pedaço movido de dados binários, ou com a falta de memória na caixa de fontes, ou se o vmdk acabou de ser atualizado todo o tempo. Não importa como o resultado foi o mesmo - maioria do vmdk foi copiado.
No final, simplesmente copiei todos os arquivos alterados e sobrescrevi-os, ainda usando o rsync. Eu também tive um desempenho melhor simplesmente sobrescrevendo o arquivo de backup ao invés de deixar o rsync copiar e substituir o que estava lá.
Nosso servidor de backup também não foi o mais rápido e chegou ao ponto em que a pernoite não era longa o suficiente para fazer backup de todas as VMs em execução.
No entanto, quando precisamos restaurar uma VM, foi muito fácil e funcionou muito bem.