Seus engenheiros estão seguindo uma boa prática, mas pelos motivos errados. Você está correto em dizer que o VHDX (ou qualquer tecnologia de disco virtual que esteja sendo usada) irá:
- Reutilizar blocos escritos para reescrever e escrever tudo novo
- Ter um limite de tamanho físico igual ao tamanho máximo configurado para o disco virtual pai. O motivo pelo qual você não pode especificar um tamanho máximo para uma captura instantânea é porque o VHDX pai já a especificou.
No entanto, não tenho conhecimento de nenhum mecanismo que descarte deltas previamente gravados se o bloco for retornado ao seu estado original. A sobrecarga de desempenho de executar um algoritmo de diferença em blocos de origem e delta vs. manter um registro simples de gravações em bloco seria substancial mesmo em uma escala relativamente pequena.
A menos que a VM tenha uma grande quantidade de rotatividade de discos, você provavelmente não verá seu instantâneo crescer horrivelmente.
Uma VM com um único instantâneo também não tem perda significativa de desempenho, embora eu não veja isso em nenhum lugar.
Os instantâneos têm três problemas muito reais:
- Problemas ambientais podem resultar em discos AVHDX órfãos
- A cada minuto que o instantâneo existe, ele se move ao longo do espectro de "valioso" para "passivo"
- Os dados não são duplicados
Além disso, mesmo que um instantâneo não possa crescer verdadeiramente ilimitado, imagine um ambiente sem controles em instantâneos. Um único instantâneo poderia, teoricamente, crescer para dobrar o tamanho alocado de seus pais. Acredito que a Microsoft tenha instituído um limite máximo de 50 snapshots por VM, mas apenas como uma opção "OK, agora você está apenas sendo bobo", à prova de falhas, não porque a tecnologia exija isso. Portanto, o limite superior teórico para uma VM é 51x tamanho alocado. Embora isso não seja uma coisa que provavelmente acontecerá, você pode ver como até mesmo ter algumas VMs com vários instantâneos pode causar dor de cabeça aos administradores de armazenamento. Certamente serve em favor de instituir uma limitação razoável de uso de instantâneos.
Problemas ambientais para instantâneos
Muitas coisas podem se encaixar como causa raiz de problemas nessa categoria. Todos eles se resumem a um problema fundamental: se o VHDX pai é modificado em qualquer forma, o AVHDX é completamente invalidado e totalmente inútil. Se a VM proprietária estiver ligada, essas modificações devem ser proibitivamente difíceis. Mas, se a VM proprietária estiver desativada, o VHDX pai será apenas um arquivo. O Hyper-V ou seus outros sistemas não saberão que nada está errado até que você tente acessar o AVHDX filho.
Quanto mais tempo o snapshot existir, maior a probabilidade de algo dar errado, especialmente em um ambiente com vários administradores. Se uma VM tiver vários instantâneos, os problemas serão potencialmente compostos.
Este problema não é particular para instantâneos; esses problemas podem ocorrer com qualquer sistema de diferenciação de disco virtual.
Instantâneos desvalorizam com a idade
Este é realmente o principal motivo para não manter os instantâneos por muito tempo. Como você supôs corretamente, o mecanismo de diferenciação não não mantém um registro histórico de mudanças; somente a alteração mais recente em um bloco é mantida. Portanto, você tem apenas a máquina virtual como existe agora no formulário pós-instantâneo e a VM como existia quando a captura instantânea foi obtida. Você pode reverter para o antigo ou manter o novo. Não há meio termo.
Por razões de argumentação (e porque isso aconteceu), digamos que você tenha um pequeno ambiente do Exchange que seja executado em uma única máquina virtual. Você tira um instantâneo antes de atualizar do Exchange 2013 para o Exchange 2016. E, em seguida, permite que ele seja executado por um ano. Que bom é esse instantâneo? Você voltaria a isso? Cuidado para adivinhar quanto tempo essa mesclagem vai demorar quando você excluí-lo?
Instantâneos não duplicam dados
O objetivo de um instantâneo é rapidamente encaixar uma máquina virtual em um ponto no tempo. Isso é feito modificando diretamente o estado da máquina virtual. Em nenhum momento faz uma duplicata dos dados. Se o AVHDX estiver danificado, somente o pai conterá informações válidas e quaisquer alterações feitas desde a perda do instantâneo. Se o VHDX pai estiver danificado, os dois arquivos serão inúteis. Além disso, não tenho conhecimento de nenhuma ferramenta que possa mergulhar em um AVHDX e extrair apenas dados alterados. Portanto, para manter estados diferentes durante um período de tempo significativo, o backup é sua melhor opção. Não é tão rápido nem conveniente trabalhar com um instantâneo, mas trata de todos os outros problemas.