Migração de imagens para o Openstack
XVA to QCOW2
Ubuntu 12.04 LTS
Nesse passo-a-passo converteremos uma imagem Xenserver para o Openstack (KVM)
- Criar pasta convert na pasta images do libvirt
mkdir /var/lib/libvirt/images/convert
- Copiar o arquivo .xva para a pasta recém criada
cp ~/mk2.xva /var/lib/libvirt/images/convert
- Extrair arquivo xva:
tar xvf /var/lib/libvirt/images/convert/mk2.xva
- Baixar script de conversão para .img
wget https://raw.githubusercontent.com/derekjhyang/xenserver_to_xen/master/xenmigrate.py
- Iniciar a conversão para .img
python ./xenmigrate.py -c Ref\:198/ mk2.img
OBS: substituir o valor 198 pelo número extraído do arquivo .xva
OBS2: substituir mk2.img pelo nome de arquivo desejado
- Converter .img para .qcow2
qemu-img convert -p mk2.img -O qcow2 mk2.qcow2
- Rodar o comando virt-install
sudo virt-install \ --name Convert_Openstack \ --vcpus 6 \ --memory 8192 \ --disk /var/lib/libvirt/images/convert/mk2.qcow2,device=disk,bus=virtio \ --os-type linux \ --virt-type kvm \ --graphics vnc \ --network bridge=br0 \ --import
OBS: é necessária uma conexão com a Internet ativa, neste caso utilizamos a bridge bro
OBS2: utilizaremos vnc para realizar a configuração do cloud-init na VM
- Descobrir a porta VNC alocada para a VM e acessá-la
virsh vncdisplay Convert_Openstack
OBS: conecte utilizando um cliente VNC de sua escolha, aqui utilizo o Remmina
- Por dentro da VM, instalar o cloud-init e configurá-lo
apt-get install cloud-init dpkg-reconfigure cloud-init (com a tecla de espaço deixe selecionado apenas EC2 e pressione Enter) cat /etc/cloud/cloud.cfg .. .. users: - name: root
- Instalar pacote acpid
apt-get install acpid
- Configurar o GRUB para o Openstack
vi /etc/default/grub GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8"
- Gerar o grub atualizado
update-grub
- Desligar a máquina
shutdown now
- Voltando ao Host da VM, executar o comando virt-sysprep e undefine na VM
virt-sysprep -d Convert_Openstack virsh undefine Convert_Openstack
- Copiar a imagem preparada para o Controller
scp mk2.qcow2 root@c1c1:~/mk2.qcow2
- Por fim, criar a imagem no Glance
source keystonerc_admin glance image-create --name MK2 --disk-format qcow2 --architecture x86_64 \ --container-format bare --visibility public --protected True \ --os-version linux --progress --min-disk 55 --min-ram 2048 --file /root/mk2.qcow2
Referências: Link 1