Pular para o conteúdo principal

Como criar snapshots de VM e reverter para eles

No vStack Center, um snapshot de VM é um snapshot ZFS dos datasets dos discos dela mais uma cópia salva da configuração da VM no mesmo momento. O snapshot é criado instantaneamente e, de início, não ocupa espaço: ele cresce à medida que os dados do disco se afastam do estado no momento do snapshot.

Um snapshot tem dois nomes. O nome definido pelo usuário é definido na criação e deve seguir um formato rígido: letras latinas, dígitos e sublinhados, até 128 caracteres. O nome interno é o nome completo do snapshot ZFS; a interface mostra apenas a parte definida pelo usuário.

Um snapshot retém dados. Enquanto ele existir, um disco incluído nele não é excluído fisicamente: uma tentativa de excluir esse disco o marca como retido, e o espaço só é liberado depois que o snapshot é excluído. Isso também explica a principal regra para gerenciar snapshots: um snapshot não é um backup. Ele fica no mesmo pool que a VM e compartilha o destino desse pool.

A reversão é destrutiva nos dois sentidos. Ela devolve os dados do disco ao estado do snapshot e exclui os snapshots criados depois do ponto de reversão. A VM precisa estar parada.

Os snapshots aparecem na seção Snapshots do cartão da VM: uma tabela com as colunas Name, Date of creation e Size (GB), além do botão Add snapshot.

Como criar um snapshot​

Acesso: o Cluster master tem acesso total; os demais usuários precisam de um papel com role_id ≤ 2 no VDC (data center virtual) da VM.

Pré-requisitos: a versão da configuração da VM é no mínimo 4, o pool da VM aceita dados e a VM não está bloqueada por outra operação.

Na seção Snapshots do cartão da VM, clique em Add snapshot e insira um nome com letras latinas, dígitos e sublinhados, até 128 caracteres. O snapshot concluído aparece na tabela com a data de criação e o espaço utilizado.

Falhas:

FalhaMotivoSolução
-3608 invalid snapshot nameO nome contém caracteres diferentes de letras latinas, dígitos e sublinhados ou excede 128 caracteresRenomeie o snapshot
-3622 configuration version below 4VMs com a versão de configuração três não suportam snapshotsAtualize a versão da configuração da VM
-3625 VM pool does not accept dataO pool não está operacionalAguarde até que o pool volte a ficar operacional
-3630 VM is lockedOutra operação está em andamentoTente novamente após a conclusão dela
-3620 VM not found within visibility scopeSem acesso, ou a VM não existeVerifique as permissões e se a VM correta está aberta
-403 insufficient privilegesO papel no VDC tem menos permissões que role_id ≤ 2Solicite o papel de administrador do VDC

Como visualizar os snapshots​

Os snapshots de uma VM são listados na seção Snapshots do cartão dela. A coluna Size (GB) mostra quanto espaço cada snapshot usa no momento, o que ajuda a identificar os snapshots que devem ser removidos.

A interface não oferece uma lista combinada separada de snapshots de todas as VMs do cluster: visualize-os nos cartões de cada VM. O Cluster master vê todas as VMs; um usuário comum vê apenas as VMs dos seus VDCs. Se você precisar de uma lista consolidada de snapshots esquecidos em todo o cluster, a API a fornece (consulte "Métodos da API").

Uma falha ao ler a lista retorna o erro -4107, "Unable to retreive snapshots list".

Como excluir um snapshot​

Exclua o snapshot na seção Snapshots do cartão da VM. Ao contrário da criação, a exclusão permite um ponto no nome, para que snapshots criados por ferramentas externas possam ser excluídos.

A exclusão de um snapshot libera suas retenções: junto com o registro do snapshot, o vStack Center remove os discos e as portas de rede retidos por ele que permaneciam na configuração apenas por causa do snapshot. É por isso que um disco que ficou "preso" durante a exclusão desaparece junto com o snapshot.

Falhas: -4321 significa que a VM não tem um snapshot com esse nome, -4330 significa que a VM está bloqueada, -403 significa privilégios insuficientes, e -4320 significa que a VM não foi encontrada ou não está acessível no escopo de visibilidade.

Como reverter uma VM para um snapshot​

  1. Pare a VM. A reversão de uma VM em execução é rejeitada com o erro -4225.

  2. Na seção Snapshots do cartão da VM, inicie a reversão para o snapshot desejado.

  3. Verifique o resultado: o vStack Center restaura a configuração da VM a partir da cópia salva com o snapshot, reconecta os discos e as interfaces de rede e exclui os snapshots criados depois do ponto de reversão. Leia a lista de snapshots novamente após a operação.

O que a reversão não restaura​

A reversão restaura os dados do dataset, mas não todas as propriedades da VM. Os itens a seguir mantêm os valores atuais:

  • Rótulos dos discos.
  • Tamanhos dos discos.
  • Limites de operações por segundo e de taxa de transferência dos discos.
  • O conjunto de interfaces de rede e as configurações delas.

Na prática, se um disco foi expandido ou uma interface foi adicionada entre a criação do snapshot e a reversão, essas alterações permanecem. Ajuste essas propriedades manualmente após a reversão.

Se a reversão for rejeitada​

FalhaMotivoSolução
-4225 VM must be stoppedA VM está em execução ou suspensaPare a VM
-4221 snapshot does not existO nome não corresponde ao nome salvoUse o nome da seção Snapshots
-4224 configuration version below 4A reversão não está disponível para VMs com a versão de configuração trêsAtualize a versão da configuração da VM
-4233 VM pool does not accept dataO pool não está operacionalAguarde o retorno do pool
-4230 VM is lockedOutra operação está em andamentoTente novamente mais tarde
-4208 invalid snapshot nameO nome não passa na validação de formatoVerifique o nome
-403 insufficient privilegesO papel tem menos permissões que role_id ≤ 2Solicite o papel de administrador do VDC

Uma restrição à parte se aplica se a VM tiver clones CoW existentes: a reversão para um snapshot mais antigo que o ponto de clonagem é bloqueada pelo ZFS enquanto o clone existir. A reversão para snapshots mais recentes continua funcionando. Para voltar a um snapshot mais antigo, exclua os clones primeiro.

Veja também​

Métodos da API​

As operações da API desta página são vms-snapshot, vm-snapshot-list, snapshot-list, vms-snapshot-remove e vms-rollback — consulte a referência da API.