Solía hacer esto hace unos años. (editar: con VMWare ejecutándose en hosts CentOS, no ESXi admitidamente)
Todas las noches tenía un script que suspendía una VM, sincronizaba los archivos del disco al servidor de respaldo y luego iniciaba las VM nuevamente. Funcionó bastante bien excepto ...
Rsync no funciona muy bien con un archivo de 2GB.
No es porque rsync no sea brillante, es más que cada archivo vmdk de 2GB cambia de manera muy opaca a rsync, incluso pequeños cambios en el sistema de archivos incluido producen cambios en el vmdk (o todos los vmdks por alguna razón) a los que culpé Windows, ya sea desfragmentando automáticamente o haciendo todo lo demás, no importa si está ejecutando un sistema real, ¡pero aparece cuando intenta sincronizar una VM!
Creo que el mecanismo rsync para detectar cambios no funciona muy bien en un archivo de 2GB, mientras que a menudo omite fragmentos del inicio del vmdk, una vez que comienza a encontrar una diferencia, simplemente copiará el resto del archivo. No sé si eso es un problema con rsync que no puede detectar una porción movida de datos binarios, o con una falta de memoria en el cuadro de origen, o si el vmdk se actualizó por completo. No importa ya que el resultado fue el mismo: la mayoría de los vmdk se copiaron.
Al final, simplemente copié los archivos modificados y los sobrescribí, todavía usando rsync. También tuve un mejor rendimiento simplemente sobrescribiendo el archivo de copia de seguridad en lugar de permitir que rsync copie y reemplace lo que estaba allí.
Nuestro servidor de respaldo tampoco fue el más rápido y llegó al punto en que la noche no fue lo suficientemente larga como para hacer una copia de seguridad de todas las máquinas virtuales en ejecución.
Sin embargo, cuando necesitábamos restaurar una VM, fue realmente fácil y funcionó de maravilla.