Um snapshot inclui o conteúdo da memória da máquina virtual, as configurações da máquina virtual e o estado de todos os discos virtuais. Ao reverter para um snapshot, você retorna a memória, as configurações e os discos virtuais da máquina virtual para o estado em que estavam quando você tirou o snapshot.

Convém tirar snapshots em um processo linear se você planeja fazer alterações em uma máquina virtual. Por exemplo, você pode tirar um snapshot, continuar a usar a máquina virtual a partir desse ponto, tirar outro snapshot posteriormente e assim por diante. Você poderá reverter para o snapshot de um estado de trabalho anterior conhecido do projeto se as alterações não funcionarem conforme o esperado.

Para máquinas virtuais locais, você pode tirar mais de 100 snapshots para cada processo linear. Para máquinas virtuais compartilhadas e remotas, você pode tirar no máximo 31 snapshots para cada processo linear.

Se estiver testando software, convém salvar vários snapshots como ramificações de uma única linha de base em uma árvore de processos. Por exemplo, você pode tirar um snapshot antes de instalar versões diferentes de um aplicativo para garantir que cada instalação comece a partir de uma linha de base idêntica.

Figura 1. Snapshots como pontos de restauração em uma árvore de processos
Diagrama mostrando snapshots em uma árvore de processos.

Vários snapshots têm um relacionamento pai-filho. O instantâneo pai de uma máquina virtual é o instantâneo no qual o estado atual é baseado. Depois de tirar um snapshot, esse estado armazenado é o snapshot pai da máquina virtual. Se você reverter para um instantâneo anterior, o instantâneo anterior se tornará o instantâneo pai da máquina virtual.

Em um processo linear, cada snapshot tem um pai e um filho, exceto o último snapshot, que não tem filhos. Em uma árvore de processos, cada snapshot tem um pai, um snapshot pode ter mais de um filho e muitos snapshots não têm filhos.