Converter maquina fisica para kvm

De Slacam_Wiki
Ir para: navegação, pesquisa

Conversão de máquina física para VM do KVM

Iremos utilizar a ferramenta virt-v2v disponível na distribuição CentOS

1 - Instale a aplicação:

yum install virt-v2v

2 - Acerte o arquivo de configuração:

vim /etc/virt-v2v.conf 

3 - Inclua as tags abaixo antes de </virt-v2v>

<profile name="myrhev">
<method>libvirt</method>
<storage format="raw" allocation="preallocated">
default
</storage>
<network type="default">
<network type="network" name="rhevm"/>
</network>
</profile>

Repare que paro CentOS devemos usar o método libvirt e a storage default corresponde a montada nas configurações normais do hospedeiro. Poderá se escolher outra storage verificando o nome com o virt-manager.

4 - Instale o pacote virt-p2v

yum install virt-p2v

5 - Pegue o arquivo em /usr/share/virt-p2v/virt-p2v-0.9.1-2.20130730.1.el6.centos.iso e queime o cd para bootar na máquina física.

6 - Se a sua rede tem DHCP após o boot será configurado automáticamente. Veja a tela clicando a seguir -> Tela de Configuração de IP

7 - Coloque as informações do hospedeiro que irá receber a cópia da imagem. No caso seu hospedeiro tem que estar habilitado a receber o login remoto do root. Conectando ao Servidor Hospedeiro

8 - Por último configure as informações da máquina virtual. No meu caso desmarco sempre a "Removable Media" Configurando a máquina virtual

9 - Clique no botão Convert e espera até finalizar. A cópia de 1Tb demora cerca de 12horas. Processo de conversão

10 - Ao final será apresentada a tela para desligar a máquina física. Tela de Final da Conversão

11 - Agora basta ir no servidor hospedeiro realizar alguns ajustes para bootar a VM convertida. Geralmente as interfaces de rede estarão desconectadas caso a máquina física tenha amarrado os macaddress. No caso deve-se ir nas configurações de rede e acertar os mesmos com os macaddress fornecidos para a VM.

12 - Um outro problema é o tamanho da imagem da VM. No caso procedi a uma redução de tamanho com os passos a seguir.

13 - Baixe o gparted-live e crie uma nova VM colocando a imagem da VM como disco virtio e formato raw. A imagem do gparted coloque como cdrom. Nas opções de boot force o inicialização pelo CDROM.

14 - Ao carregar abra o programa gparted e faça o resize para o tamanho que desejar. No caso esse procedimento foi testado no ext3 e ext4. Para o LVM é mais complexo e ainda não obtive sucesso.

15 - Saia do gparte para liberar o arquivo da VM

16 - Mapeie o arquivo na VM no loop

# losetup -fv /path/to/image.raw

17 - Verifique o arquivo com fdisk

# fdisk -cul /dev/loop0 

Disk /dev/loop0: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders, total 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x1449bcb0

 Device Boot      Start         End           Blocks   Id  System
/dev/loop0p1   *        2048    11452502     5725227    7  HPFS/NTFS
/dev/loop0p2        11452503    42432503    15490000    7  HPFS/NTFS 

18 - Guarde as informações de tamanho de setor e último setor usado na imagem (marcado em negrito)

19 - Desmonte o loop

# losetup -d /dev/loop0

20 - Faça o dump da imagem antiga para uma imagem nova eliminando o espaço em branco. Acrescente 2 setores a mais no que vc apurou anteriormente.

# dd if=/path/to/image.raw of=/path/to/shrinked_image.raw bs=512 count=42432505

21 - Ajuste as configurações do xml no hospedeiro para apontar para o novo arquivo que foi compactado.

22 - Fim