terça-feira, 23 de setembro de 2008

Copiando (clonando) máquinas do xen no mesmo domínio

As vezes precisamos de efetuar testes em máquinas virtuais, backup ou até criar outras máquinas com outros serviços. Então, "para evitar a fadiga" de criar tudo do zero, podemos efetuar cópias (clones) das máquinas virtuais.
Existem maneiras diferentes de efetuar essa clonagem (ex.: o comando virt-clone). Vou explicar somente a que sempre utilizo. Do original http://blog-grid.blogspot.com/2007/07/how-to-clone-xen-vm.html:

Assumindo que temos uma máquina chamada httpd e queremos criar uma httpd-teste, segue os passos:


[Copiando a imagem do disco]
- Copie a imagem do disco da máquina requerida para um outro nome. No meu caso as imagens ficam em uma partição separada /vm. Para efetuar a cópia utilize qualquer comando de cópia (cp, dd, ...), recomendo o dd:
dd if=/vm/httpd of=/vm/httpd-teste bs=4k

Nota: Dependendo do tamanho da imagem isso pode demorar, por isso é importante utilizar o bs=4k para definir blocos maiores a serem copiados, aumentando a velociade de cópia. É recomendado que a máquina httpd esteja desligada ao efetuar a cópia para evitar erros, porém, não é extremamente necessário.

- Altere as permissões do arquivo para que o xen possa escrever nele:
chmod 771 /vm/httpd-teste

[Criando arquivo de configuração]
- A nova máquina precisa de um arquivo de configuração. Utilize o comando abaixo para copiar o arquivo de configuração da máquina httpd:
virsh dumpxml httpd > /tmp/httpd-teste.xml

Nota: O caminho do arquivo de configuração httpd não precisa ser informado pois já é sabido pelo comando. Pore

- Altere as tags do arquivo /tmp/httpd-teste.xml de configuração copiado para seus novos valores:
...
<name>httpd-teste</name>
...
<uuid>3ca12152be4195b1fa67a0e857b9723d</uuid>
...
<mac address='00:16:3e:65:82:48'/>
...
<source file='/vm/httpd-teste'/>
...

Nota: As linhas uuid e mac podem ser apagadas pois o xen criará automático (teoricamente).

- Ponha o novo arquivo de configuração em funcionamento:
virsh define /tmp/httpd-teste.xml


[Iniciando a nova máquina virtual]
- Para iniciar a nova máquina virtual execute:
virsh start httpd-teste

ou

xm start httpd-teste

ou

algum outro comando das ferramentas do xen

Nota: lembre-se de alterar o IP de sua nova máquina, bem como nomes e outros valores que não podem ficar duplicados na rede.

Nenhum comentário: