Snapshots consomem espaço
Sintoma
O espaço livre no pool diminui mais rápido do que o esperado quando snapshots são usados intensivamente.
Causa
Um snapshot não consome espaço ao ser criado, mas passa a usar capacidade à medida que os dados do volume divergem do estado capturado. Snapshots de longa duração acumulam essas diferenças.
Além dos snapshots, os clones também retêm capacidade. Um clone é uma cópia copy-on-write: logo após
a criação, ele quase não consome espaço, mas depende dos dados de origem.
Enquanto existir um clone, a origem não pode ser excluída: a exclusão retorna -2604 e lista
os clones que a bloqueiam.
Como verificar
- A quantidade e o tamanho dos snapshots da máquina: no cartão da VM, verifique a tabela Snapshots com as colunas Name, Date of creation e Size (GB). A data de criação identifica os snapshots de longa duração.
- Capacidade restante do pool:
Provider Data Center→Storage Resources, tabela ZFS pools, coluna Capacity (RAW). O cartão do pool detalha o mesmo valor na seção Properties. - O limite de capacidade configurado para o cluster: a opção
pool_capacity_tresholdna resposta deget-statusmap. O cluster usa valores de 11…94, com padrão de 60. O cluster substitui silenciosamente 10 e 95, bem como todos os valores fora do intervalo, por 60, sem rejeitá-los. A resposta mostra o registro original do banco de dados, portanto a substituição não fica visível nela. - Se a máquina tem clones que retêm seus dados: a tentativa de excluir essa máquina
retorna
-2604com uma lista de clones.
Resolução
Exclua os snapshots que não são mais necessários, evite manter snapshots de longa duração sem necessidade e monitore a capacidade livre do pool.
Quando o espaço estiver baixo, remova primeiro os clones, depois os snapshots e, por fim, as máquinas. A ordem inversa não funciona, porque um clone retém os dados de sua origem.
Prevenção
Remova regularmente os snapshots obsoletos e monitore o espaço livre do pool para que as diferenças não se acumulem sem que ninguém perceba.
Lembre-se de que a contagem de snapshots também é uma verificação após a migração: para uma máquina movida para outro pool, ela deve corresponder à contagem medida antes da migração.
Métodos da API
As operações da API abordadas nesta página são vm-snapshot-list, snapshot-list,
vms-snapshot-remove, pools-get e get-statusmap. Consulte a
referência da API.
Veja também
- Snapshots e reversão—como criar, reverter para e excluir um snapshot.
- Como visualizar os pools do cluster—onde verificar a capacidade e o status do pool.
- Propriedades de datasets—como a capacidade é contabilizada no nível do dataset.
- Migração e clonagem de VMs—o que um clone faz e como ele retém sua origem.