Backup de máquinas XEN domU durante a execução

3

A máquina host está executando o CentOS 5.3 e usando o LVM para criar Volumes Lógicos (LVs) e para permitir que capturas instantâneas ao vivo sejam feitas desses LVs. Meu pensamento era armazenar todos os arquivos de imagem para os domínios desprivilegiados do Xen (domU) em um único LV e periodicamente fazer um instantâneo desse LV e copiar as imagens do disco para fora do instantâneo para fazer um backup ao vivo desses sistemas. Isso é factível? Existe uma maneira melhor?

Obrigado!

    
por Jonathan Hawkes 19.09.2009 / 00:14

5 respostas

2

Backups reais "ao vivo" não são exatamente factíveis.

Em teoria, o melhor que você pode obter - quando usando o LVM - são alguns segundos de tempo de "pausa", o que deve ser bom: um domU precisaria - sincronizar seus discos, pausar / suspender, dados de backup e retomar .

No entanto, existem algumas "dicas" com essa abordagem (em vez de apenas desligar a máquina) que precisam ser abordadas.

A questão principal é a consistência do sistema de arquivos domU - dê uma olhada em pensamentos- xen-filesystem-configuration-regard-backups para uma explicação mais completa.

    
por 19.09.2009 / 12:11
3

Provavelmente, a melhor maneira é fazer um backup em nível de arquivo de cada domU, em vez de mexer com os instantâneos de LV. Ou um backup em nível de arquivo de um instantâneo.

Mas se você preferir ter um backup em nível de bloco dos seus domUs - armazenar todos os discos domU como arquivos em um LV é factível, e também é algo que eu considerei, mas decidi contra isso e o que seu servidor é já configurado para um domU por LV por dois motivos:

  1. A criação de novos arquivos de imagem domU demora uma eternidade, a menos que você esteja usando arquivos esparsos. O uso do LVM para criar e excluir LVs é instantâneo. Com arquivos esparsos, é possível ficar sem espaço em disco.
  2. Um instantâneo para todos os domUs pode consumir muito espaço de instantâneo. Enquanto você espera que o backup termine, todas as alterações que o seu domUs em execução consuma seu espaço de snapshot. O que eu faço é apenas tirar um instantâneo de um domínio de cada vez e depois fazer backup.
por 20.09.2009 / 20:22
2

Eu criei um script para fazer algo diferente do que você explicou

1) "xm save domínio domain.mem.backup" (com pausa) 2) instantâneo do LVM 3) "xm restore domain domain.mem.backup" 4) "dd" do instantâneo LVM para domain.dd.backup 5) excluir o instantâneo do LVM

Para restaurar: 1) Crie um LVM LV para o domínio 2) "dd" de domain.dd.backup para este LV 3) "xm restore domain domain.dd.mem"

O domínio é retomado com o estado da memória que ele tinha quando foi feito o backup. Então, se houver alguns dados não escritos, ele será executado logo após a restauração ... como se nunca tivesse sido interrompido.

    
por 11.06.2010 / 03:52
0

Por que você não usa apenas um LV separado para cada VM, então captura instantâneo, monta e copia / rsync o conteúdo de cada VM conforme necessário para fins de backup?

    
por 19.09.2009 / 11:27
0

Depende da qualidade do backup desejado e do tempo de inatividade que você pode suportar. Eu diria, se você quiser um backup consistente completo você tem que desligar o domUs (se Win oder Linux domUs, outros sistemas operacionais podem variar).

Se você quiser apenas alguns dados salvos, você pode dar uma chance ao comando "xm pause". Basta executar "xm pause domain", criar seu instantâneo e continuar com "xm unpause domain". Mas você está arriscando uma perda de dados, na camada do sistema de arquivos e também nos dados que resistem nos buffers não-liberados dos aplicativos (por exemplo, samba).

Como não há sistema de comunicação (para FS e sincronização de buffer) entre a camada de armazenamento dom0 e o kernel e aplicativos domU, um desligamento da domU é a única maneira de obter backups consistentes.

    
por 24.11.2009 / 09:44