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:
| Falha | Motivo | Solução |
|---|---|---|
-3608 invalid snapshot name | O nome contém caracteres diferentes de letras latinas, dígitos e sublinhados ou excede 128 caracteres | Renomeie o snapshot |
-3622 configuration version below 4 | VMs com a versão de configuração três não suportam snapshots | Atualize a versão da configuração da VM |
-3625 VM pool does not accept data | O pool não está operacional | Aguarde até que o pool volte a ficar operacional |
-3630 VM is locked | Outra operação está em andamento | Tente novamente após a conclusão dela |
-3620 VM not found within visibility scope | Sem acesso, ou a VM não existe | Verifique as permissões e se a VM correta está aberta |
-403 insufficient privileges | O papel no VDC tem menos permissões que role_id ≤ 2 | Solicite 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
-
Pare a VM. A reversão de uma VM em execução é rejeitada com o erro
-4225. -
Na seção Snapshots do cartão da VM, inicie a reversão para o snapshot desejado.
-
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
| Falha | Motivo | Solução |
|---|---|---|
-4225 VM must be stopped | A VM está em execução ou suspensa | Pare a VM |
-4221 snapshot does not exist | O nome não corresponde ao nome salvo | Use o nome da seção Snapshots |
-4224 configuration version below 4 | A reversão não está disponível para VMs com a versão de configuração três | Atualize a versão da configuração da VM |
-4233 VM pool does not accept data | O pool não está operacional | Aguarde o retorno do pool |
-4230 VM is locked | Outra operação está em andamento | Tente novamente mais tarde |
-4208 invalid snapshot name | O nome não passa na validação de formato | Verifique o nome |
-403 insufficient privileges | O papel tem menos permissões que role_id ≤ 2 | Solicite 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
- Como migrar e clonar uma VM — a clonagem e sua relação com os snapshots
- Os snapshots ocupam espaço — solução de problemas de crescimento do espaço usado por snapshots
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.