Backup e Restauração · 5 min read · Jan 07, 2026

Clone/Back Up/Restore OpenVZ VMs With vzdump

Clone/Back Up/Restore OpenVZ VMs With vzdump

Version 1.0
Author: Falko Timme

vzdump é uma ferramenta de backup e restauração para VMs OpenVZ. Este tutorial mostra como você pode usá-la para clonar/fazer backup/restaurar máquinas virtuais com vzdump.

Não dou nenhuma garantia de que isso funcionará para você!

1 Nota Preliminar

Estou usando dois servidores OpenVZ neste tutorial:

  • server1.example.com: IP 192.168.0.100
  • server2.example.com: IP 192.168.0.101

(Ambos estão usando Debian Etch e estão configurados de acordo com este tutorial: Instalando e Usando OpenVZ no Debian Etch - mas funciona com qualquer outra distribuição também.)

Estou executando uma máquina virtual com o nome de host test.example.com, o endereço IP 192.168.0.102 e o VEID 102 no server1.example.com, e quero fazer backup dessa máquina e restaurá-la no server2.example.com.

Podemos restaurá-la no server2.example.com sem alterações (por exemplo, mesmo endereço IP e nome de host), mas nesse caso devemos parar a VM no server1.example.com porque, caso contrário, o endereço IP e o nome de host entrariam em conflito; a segunda possibilidade é restaurá-la no server2.example.com, mas mudar alguns parâmetros como o endereço IP e o nome de host com o comando vzctl set - nesse caso, podemos executar ambas as VMs (a original no server1.example.com e o clone no server2.example.com) ao mesmo tempo. Este é um ótimo método para clonar VMs.

2 Preparando Os Servidores OpenVZ

Primeiro, devemos instalar vzdump e rsync, que é uma dependência. No Debian, o comando é o seguinte:

server1/server2:

apt-get install vzdump rsync  

3 Criando Um Backup De Uma VM

(Este capítulo é apenas para o server1!)

No server1.example.com, quero criar um backup da minha VM com o VEID 102. Dê uma olhada em

man vzdump

para aprender como usar vzdump.

Para fazer backup de todas as VMs no seu servidor, você usaria algo como

vzdump --compress --dumpdir /home/backup --stop --all

–compress significa: comprimir o arquivo de dump (resulta em a.tgz).

–dumpdir especifica o diretório no qual você deseja armazenar o dump. Se você não especificar um dumpdir, ele padrão para /vz/dump ou /var/lib/vz/dump (depende da sua distribuição).

–stop para a VM, cria o backup e a inicia novamente depois. Sua VM pode ficar fora do ar por alguns minutos se você usar –stop. Uma solução mais rápida seria usar…

–suspend: suspende a VM; a VM é então copiada via rsync para um diretório temporário. A VM é retomada logo em seguida, de modo que fique fora do ar apenas por alguns segundos, e então o dump é criado usando a cópia no diretório temporário. Recomendo usar esta opção se você não pode se dar ao luxo de longos períodos de inatividade.

Você também pode deixar de fora –stop e –suspend e fazer dump de uma VM em execução. Na maioria dos casos, isso não causa problemas, mas é possível que o dump seja inconsistente, então fique avisado!

–all cria um dump de todas as VMs disponíveis. Se você quiser fazer dump apenas de uma VM específica, substitua –all pelo VEID da VM.

Para criar um dump da nossa VM 102 em /home/backup e parar a VM durante o backup, use

vzdump --compress --dumpdir /home/backup --stop 102

Para criar um dump no diretório padrão (/vz/dump ou /var/lib/vz/dump), use

vzdump --compress --stop 102

A saída pode parecer a seguinte:

server1:/vz/dump# vzdump –compress –stop 102
INFO: iniciando backup para VPS 102 (/var/lib/vz/private/102)
INFO: iniciando primeira sincronização /var/lib/vz/private/102 para /var/lib/vz/dump/tmp9009
INFO: parando vps
Parando container …
Container foi parado
Container está desmontado
INFO: sincronização final /var/lib/vz/private/102 para /var/lib/vz/dump/tmp9009
INFO: reiniciando vps
Iniciando container …
Container está montado
Adicionando endereço(s) IP: 192.168.0.102
Definindo unidades de CPU: 1000
Configurando meminfo: 65536
Definindo nome de host: test.example.com
Arquivo resolv.conf foi modificado
Início do container em progresso…
INFO: vps está online novamente após 15 segundos
INFO: Criando arquivo ‘/var/lib/vz/dump/vzdump-102.tgz’ (/var/lib/vz/dump/tmp9009/102)
Total de bytes escritos: 340428800 (325MiB, 11MiB/s)
INFO: backup para VPS 102 finalizado com sucesso (1.37 minutos)
server1:/vz/dump#

Para não parar, mas suspender a VM, use

vzdump --compress --suspend 102

Esta é uma saída de exemplo:

server1:~# vzdump –compress –suspend 102
INFO: iniciando backup para VPS 102 (/var/lib/vz/private/102)
INFO: iniciando primeira sincronização /var/lib/vz/private/102 para /var/lib/vz/dump/tmp10842
INFO: suspender vps
Configurando ponto de verificação…
suspender…
obter contexto…
Ponto de verificação concluído com sucesso
INFO: sincronização final /var/lib/vz/private/102 para /var/lib/vz/dump/tmp10842
INFO: retomar vps
Retomando…
INFO: vps está online novamente após 4 segundos
INFO: Criando arquivo ‘/var/lib/vz/dump/vzdump-102.tgz’ (/var/lib/vz/dump/tmp10842/102)
Total de bytes escritos: 340428800 (325MiB, 24MiB/s)
INFO: backup para VPS 102 finalizado com sucesso (1.57 minutos)
server1:~#

Após o backup, dê uma olhada no diretório de dump…

ls -l /vz/dump/

… e você deve ver um arquivo a.tgz:

server1:~# ls -l /vz/dump/
total 147864
-rw-r–r– 1 root root 1170 2008-11-20 17:40 vzdump-102.log
-rw-r–r– 1 root root 151249685 2008-11-20 17:40 vzdump-102.tgz
server1:~#

Agora você pode copiar o dump para o outro servidor OpenVZ, por exemplo, com scp (isso copia /vz/dump/vzdump-102.tgz para o diretório /home no server2.example.com):

scp /vz/dump/vzdump-102.tgz [email protected]:/home 

4 Restaurando Uma VM

(Este capítulo é apenas para o server2!)

No server2.example.com, você pode agora restaurar a VM da seguinte forma…

vzdump --restore /home/vzdump-102.tgz 250

… onde 250 é o novo VEID da VM restaurada - você pode usar qualquer VEID que esteja não utilizado no server2.example.com - você poderia até usar 102 novamente se estiver não utilizado no server2.example.com.

Se você não quiser modificar as configurações da VM (por exemplo, endereço IP, nome de host), você pode iniciá-la agora, mas por favor, certifique-se de que a VM original esteja parada no server1.example.com porque, caso contrário, os endereços IP entrariam em conflito:

vzctl start 250

Se você quiser executar ambas as VMs (a original e o clone) ao mesmo tempo, deve mudar o endereço IP e o nome de host do clone antes de iniciá-lo.

Para definir um novo nome de host, execute algo como:

vzctl set 250 --hostname test2.example.com --save

Para definir um novo endereço IP, primeiro devemos excluir o original…

vzctl set 250 --ipdel 192.168.0.102 --save

… e então definir um novo:

vzctl set 250 --ipadd 192.168.0.250 --save   

Depois disso, podemos iniciar o clone:

vzctl start 250

5 Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.