Backups incrementais de máquinas virtuais

6

Atualmente, executamos várias máquinas físicas. Para backups, estamos usando o dirvish, que é essencialmente um wrapper em torno do rsync e é feito de forma incremental. Atualmente estamos lançando uma nova máquina para produção, que vai rodar um monte de VMs. Idealmente, gostaria de fazer backup das imagens da máquina virtual, em vez de fazer backups em nível de arquivo das próprias VMs. Existe uma maneira de fazer isso de forma incremental, dado que cada imagem será um arquivo gigante, o que exigirá um novo backup sempre que algo mudar? Como outras pessoas fazem backups de VMs aqui, apenas as tratem como máquinas físicas?

Se for importante, estamos usando o Xen para realmente fazer a virtualização.

Obrigado

    
por Cian 25.08.2009 / 22:28

3 respostas

4

você pode continuar fazendo o que está fazendo atualmente com algumas pequenas alterações nos scripts de backup do rsync.

O rsync pode ser executado dentro de uma VM e fazer o backup para um host remoto via ssh, assim como de uma máquina física. por exemplo. i backup / etc, / usr / local /, / home, partes de / var e alguns outros diretórios de todas as minhas máquinas para / var / backups / hosts / $ HOSTNAME no meu servidor de backup (que, por sua vez, recebe backup com rsync para outra máquina e também para fita). servidores de banco de dados também executam scripts que descarregam seus dbs em texto antes do rsync.

para restaurar, basta criar uma nova VM (é útil ter algumas imagens de instalação mínima de vários tamanhos que você pode simplesmente clonar) e rsync os arquivos de backup de volta.

BTW, eu normalmente não me incomodo em fazer o backup de / bin, / sbin, / usr porque eu executo o debian em quase todas as máquinas. isso iria desperdiçar muito espaço em disco e desperdiçar tempo com programas de backup que foram empacotados no meu espelho debian local. em vez disso, faço backup da lista de pacotes instalados com dpkg --get-selections "*" > $ hostname.sel e restaure-os com cat $ hostname.sel | dpkg --set-selections; apt-get dselect-upgrade .

é assim que eu atualmente clonei máquinas físicas ... Eu estou no processo de converter várias máquinas para virtuais (rodando sob KVM) e até agora não encontrei nenhuma razão pela qual eu teria que fazer mais que pequenas mudanças no procedimento para isso.

em um desses dias, vou usar o rdiff-backup em vez do rsync para que eu possa ter backups com versão online também.

finalmente, você também pode tentar pesquisar no link site ou pesquisando "+ libvirt + rsync". alguém pode ter inventado um método eficiente de rsyncing imagens de VM diretamente.

    
por 26.08.2009 / 00:15
0

Não sei se você pode fazer backups incrementais com facilidade, já que o estado da máquina estaria mudando, por isso você corre o risco de capturar dados em um estado transitório (e, portanto, corrompido). A única maneira de fazer isso é desligar a VM para fazer a cópia.

Acho que você precisaria de um software especial que usasse instantâneos de alguma forma para obter a cópia.

Alternativamente, você pode usar o DRDB para copiar um sistema de arquivos em tempo real entre dois sistemas, para que o sistema de arquivos que hospeda a imagem da VM seja copiado automaticamente para um sistema de failover.

    
por 25.08.2009 / 23:05
0

Não consigo ajudar com as imagens de VM específicas do Xen, mas faço backup de minhas imagens do VMware usando o rsync. Você deve suspender ou desligar a imagem antes de copiar. Usar uma captura instantânea LVM pode funcionar em vez disso, mas acho que você precisa ter uma partição de snapshot enorme para manter as alterações.

Eu uso o seguinte comando rsync para fazer backup em um servidor remoto montado em cifs:

rsync -irvtuh --inplace --delete --timeout=120 --whole-file --stats "${DIR}" /mnt/backup

As cópias incrementais não valeram a CPU necessária para calcular os diffs, mas eu acho que algumas das imagens da VM não mudam - apenas a maioria delas: (

    
por 26.08.2009 / 14:57