Snapshot ao vivo do Xen?

2

Se eu usar xm save domain dumpfile , isso praticamente faz o que eu quero fazer. No entanto, isso causa algum tempo de inatividade, e eu realmente não quero fechar as conexões de rede ou tirar a máquina da memória. O que eu realmente gosto é simplesmente xm pause domain e depois despejar a memória e, em seguida, unpause.

Isso é possível?

Se não, como você acha que o Slicehost implementa o snapshot ao vivo?

    
por Jonathan Hawkes 24.09.2009 / 08:49

2 respostas

1

Basta fazer "xm save DOMAIN" para descartar o estado de execução do domínio, não o estado do disco que o acompanha. Esse estado de execução incluirá caches e buffers de disco não salvos. Carregar o backup da imagem salva em algo diferente de um disco / volume não tocado será uma receita para falhas e corrupção de dados.

Eu precisava fazer algo semelhante ao que você sugere, mas não consegui evitar curtos períodos de inatividade, mas eles são sempre mais curtos do que o tempo equivalente para uma máquina real.

Eu faria uso de LVM e snapshots (faça seu domínio ter um volume lógico como um disco)

 $ xm save DOMAIN DOMAIN.SAV
 $ snapshot the domains' Logical volume
 $ xm restore
 $ backup the lvm snapshot using dd
 $ delete the snapshot

Você pode querer dar uma olhada e ver como eu fiz isso no código-fonte do Dupe .

    
por 06.10.2009 / 21:53
0

eu já consigo ver a tag lvm em sua pergunta - por que não colocar vms no volume lvm e usar snapshot ? claro - não é um método 100% seguro, mas é tão seguro quanto extrair o cabo de força do seu servidor e espelhar discos rígidos.

O instantâneo lvm vem com a penalidade de desempenho - desde que o instantâneo esteja presente [durante o tempo em que você o transporta para outra máquina, já que depois você provavelmente o destruirá] operações io no volume original usado pelo xen são significativamente mais lentas .

    
por 03.10.2009 / 14:32