Os instantâneos de VM podem pausar aplicações de servidores domésticos porque o hipervisor deve estabelecer um limite consistente entre o estado antigo do disco virtual e as novas escritas. Esse limite pode exigir uma breve paragem da VM, suspensão do sistema de ficheiros ou da aplicação do convidado, captura do estado da memória e uma posterior transferência da cadeia de discos.
A pausa não é o mesmo que toda a duração do instantâneo. A criação pode causar uma interrupção curta, a operação normal continua contra ficheiros delta, e a eliminação ou consolidação pode introduzir outra pausa quando as alterações restantes são confirmadas e a cadeia de discos ativa é alterada.
O que deve o hipervisor congelar na criação do instantâneo?
Um fluxo de trabalho de instantâneo inclui uma paragem da VM para que o hipervisor possa fechar ou mudar o estado do disco virtual sem que o convidado altere as mesmas estruturas críticas nesse instante.
Durante a paragem, as CPUs virtuais deixam de progredir e a E/S do convidado não pode ser concluída normalmente. O hipervisor regista os metadados do instantâneo, preserva o estado atual do disco base e redireciona as alterações futuras para uma nova camada gravável.
Numa VM com pouca carga e armazenamento responsivo, esta transição pode ser demasiado curta para os utilizadores notarem. Uma base de dados sensível à latência, serviço de voz, servidor de jogos ou controlador de automação doméstica pode ainda detetar uma pausa que a partilha normal de ficheiros esconde.
Em que é que a suspensão da aplicação difere da paragem da VM?
A consistência da aplicação pode exigir pausas de suspensão ou desaceleração das escritas da aplicação antes de ser tirado o instantâneo do armazenamento. O objetivo é capturar um estado que a aplicação possa recuperar sem reproduzir uma transação parcial desconhecida.
A suspensão pode esvaziar os buffers do sistema de ficheiros, os registos da base de dados ou as caches da aplicação e pode bloquear temporariamente novas transações. O convidado permanece logicamente envolvido na preparação do estado, enquanto uma paragem do hipervisor é uma pausa externa na execução da VM.
Um instantâneo consistente com falhas pode ignorar a suspensão consciente da aplicação e assemelhar-se a uma perda súbita de energia. Isso pode ser aceitável para alguns sistemas de ficheiros, mas não é equivalente a um ponto de verificação coordenado de base de dados, serviço de diretórios ou aplicação multi-VM.
Porque é que capturar a memória aumenta a pausa?
Quando um snapshot inclui memória em execução, o estado da memória deve ser escrito no armazenamento. A quantidade de RAM, a velocidade de escrita do armazenamento e a implementação determinam a duração dessa operação.
Um snapshot apenas do disco preserva o estado do armazenamento e geralmente retoma a VM sem guardar todas as páginas de memória ativas. Um snapshot de memória pode devolver a VM aos processos abertos e ao contexto em memória, mas tem mais estado para capturar.
VMs com muita memória e armazenamentos lentos tornam a diferença mais visível. Capturar a memória para uma VM de teste pequena pode ser rápido, enquanto escrever dezenas de gigabytes para uma VM ocupada pode exceder os limites de tempo da aplicação.
O que acontece quando as escritas se movem para um disco delta?
Após a criação do limite do snapshot, o hipervisor redireciona as escritas para um ficheiro delta, enquanto o disco virtual original permanece no estado anterior.
A própria mudança requer uma passagem coordenada, mas as aplicações geralmente continuam a funcionar assim que o novo delta está ativo. As leituras podem vir do delta atual ou passar para camadas mais antigas quando um bloco não foi alterado.
A criação do snapshot é rápida porque não copia imediatamente todo o disco virtual. A compensação é que a VM em execução agora depende de uma camada adicional de mapeamento e do armazenamento necessário para blocos alterados futuros.
Por que a VM pode parecer lenta após a pausa inicial?
Enquanto os snapshots permanecem ativos, os discos delta adicionam overhead de pesquisa no armazenamento. O hipervisor deve localizar a versão mais recente de cada bloco e manter a camada copy-on-write.
O efeito aumenta com a taxa de escrita, profundidade da cadeia, latência do armazenamento e pressão na cache. Um snapshot superficial num armazenamento SSD rápido pode ter pouco efeito visível, enquanto várias camadas num armazenamento HDD ocupado podem aumentar o tempo de resposta da aplicação.
Este é um overhead contínuo de I/O em vez de uma pausa contínua da VM. Os utilizadores podem notar transações mais lentas ou latência prolongada, mesmo que a VM permaneça agendada e responsiva entre os pedidos.
Por que a remoção do snapshot pode causar uma segunda pausa?
A eliminação geralmente significa fundir blocos alterados e trocar a cadeia ativa. a consolidação pode prolongar a paragem final quando novas escritas se acumulam mais rápido do que a fusão pode terminar.
O hipervisor pode consolidar a maior parte dos dados enquanto a VM continua a funcionar, depois brevemente pará-la para confirmar o delta auxiliar final e reabrir a cadeia de disco simplificada. Um delta final grande transforma essa entrega curta numa interrupção visível da aplicação.
Mantenha as snapshots de curta duração, evite consolidações simultâneas no mesmo armazenamento e agende a remoção fora dos picos de I/O. As snapshots permanecem ferramentas de rollback, enquanto backups independentes evitam a dependência da snapshot.
| Fase da Snapshot | Interrupção Possível | Amplificador Principal |
|---|---|---|
| Quiescência do convidado | Escritas da aplicação são pausadas ou limpas | Atividade da base de dados e coordenação da aplicação |
| Criação da snapshot | Breve paragem da VM enquanto a cadeia de disco é trocada | Latência do armazenamento e trabalho de metadados da snapshot |
| Captura de memória | A VM permanece pausada enquanto o estado da RAM é escrito | Memória atribuída e taxa de escrita |
| Consolidação | Paragem final enquanto os deltas auxiliares são confirmados | Tamanho do delta, taxa de escrita de entrada e latência do datastore |
Perguntas Frequentes
Cada snapshot de VM pausa as aplicações?
A maioria das plataformas necessita de pelo menos uma breve transição coordenada, mas a duração e visibilidade variam. Snapshots consistentes por falha apenas no disco são geralmente menos disruptivos do que snapshots com memória ou quiescência da aplicação.
Quiescência é o mesmo que congelar toda a VM?
Não. Quiescência é a coordenação do convidado ou aplicação para limpar e pausar escritas. A paragem da VM interrompe o progresso da CPU virtual na fronteira do hipervisor.
Por que a eliminação de snapshots pode ser pior do que a criação?
A eliminação pode exigir a fusão de uma grande cadeia de deltas enquanto a VM continua a alterar dados, seguida de uma entrega final que confirma as escritas restantes.
Deveriam as snapshots ser usadas como backups de servidores domésticos?
Não. Elas dependem dos mesmos discos virtuais e datastore. São úteis para janelas curtas de rollback, enquanto backups independentes protegem contra falhas de armazenamento e cadeias de snapshots danificadas.
Conclusão Final
As snapshots de VM pausam as aplicações apenas em limites específicos de consistência, mas vários mecanismos podem prolongar esses momentos: quiescência da aplicação, paragem da VM, captura de memória, armazenamento lento de deltas e consolidação de um fluxo intenso de escrita. Vidas curtas das snapshots, planeamento consciente da aplicação, armazenamento rápido e backups independentes evitam que uma ferramenta de rollback se torne numa interrupção de serviço evitável.
Centro de Tecnologia e IA
Mais para Ler

Porque é que o Home Assistant tem um desempenho diferente em ligações LAN e remotas?
As sessões do Home Assistant na LAN e remotamente utilizam caminhos de rede diferentes; a latência remota acrescenta DNS, encriptação, WAN, proxy ou VPN,...

O Home Assistant funciona de forma fiável por trás de CGNAT ou de NAT duplo?
O CGNAT e o duplo NAT normalmente não afetam o controlo local do Home Assistant; alteram sobretudo a forma como os clientes remotos podem...

Como é que a latência da rede afeta o Home Assistant durante falhas de Internet?
A perda de ligação à Internet e a latência da rede são falhas diferentes: os caminhos dos dispositivos locais podem continuar rápidos enquanto o...

