cloudisp:imagens_migracao

Migração de imagens para o Openstack

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

  • cloudisp/imagens_migracao.txt
  • Última modificação: 2022/07/01 14:46
  • (edição externa)