Automatize o uso de virt-v2v com o Oracle Linux Automation Manager

Introdução

O Oracle Linux Virtualization Manager é uma plataforma de gerenciamento de virtualização de servidor que você pode implantar facilmente para configurar, monitorar e gerenciar um ambiente KVM (Máquina Virtual Baseada em Kernel) do Oracle Linux. Se você já estiver aproveitando outras soluções de virtualização, como VMware, e estiver interessado em migrar máquinas virtuais existentes de um ambiente VMware para o Oracle Linux Virtualization Manager, uma ferramenta chamada virt-v2v poderá ser usada.

Você pode combinar a ferramenta virt-v2v com a solução de automação da Oracle, o Oracle Linux Automation Manager. Ajuda a minimizar a necessidade de intervenção humana durante as migrações.

Vamos explorar e demonstrar como automatizar a migração de VMs existentes em execução em um ambiente VMware para o Oracle Linux Virtualization Manager usando o Oracle Linux Automation Manager.

Objetivos

Neste tutorial, você aprenderá a:

Pré-requisitos

Configurar Recursos

Credenciais

Crie uma credencial de máquina que inclua acesso raiz ao host KVM, em que o playbook executa virt-v2v.

Credencial de Máquina

Digite as credenciais no nível de administrador para VMware VCenter para permitir o shutdown de VMs no ambiente VMware.

Credencial VMware

Inventário

Navegue até Recursos, Equipamentos e selecione a opção Adicionar equipamento depois de clicar no botão Adicionar. Após criar o Inventário, adicione um Host contendo o FQDN ou o endereço IP do host KVM.

Projeto

Crie um novo projeto ou use um projeto manual ou baseado em SCM existente. Escreva e adicione o manual a seguir ao projeto.


- name: Migrating VMs
  hosts: all
  vars:
    vcenter_hostname: '{{ lookup("env","VMWARE_HOST") }}'
    vcenter_username: '{{ lookup("env","VMWARE_USER") }}'
    vcenter_password: '{{ lookup("env","VMWARE_PASSWORD") }}'
  tasks:  
    - name: Set the state of a virtual machine to poweroff
      community.vmware.vmware_guest_powerstate:
         hostname: "{{ vcenter_hostname }}"
         username: "{{ vcenter_username }}"
         password: "{{ vcenter_password }}"
         folder: "/{{ vmware_dc  }}/vm/"
         name: "{{ item }}"
         state: powered-off
      delegate_to: localhost
      register: deploy
      loop: "{{ vm_name.split(',') }}"

    - name: Save OLVM Admin  password
      copy:
        content: "{{ olvm_password }}"
        dest: /tmp/olvm-admin-password
    - name: Save VMware Admin password
      copy:
        content: "{{ vmware_password }}"
        dest: /tmp/vmware-admin-password

    - name: Ensure virt-v2v is installed
      dnf:
       name: virt-v2v
       state: present
       
    - name: Gathering Fingerprint
      shell: "openssl s_client -connect {{ vcenter_host }}:443 2> /dev/null | openssl x509 -in /dev/stdin - fingerprint -shal -noout | grep -oP  '(?<=SHA1 Fingerprint=).*'"
      register: vcenter_thumbprint


    - name: Migrating
      command: "virt-v2v -ic vpx://VSPHERE.LOCAL%5c{{ vcenter_user }}@{{ vcenter_hostname }}/{{ vmware_dc }}/{{ vmware_cl }}/{{ esx_host }}?no_verify=1 -ip /tmp/vmware-admin-password {{ item  }} -io vddk-libdir=/usr/local/vmware-vix-disklib-distrib -it vddk -io vddk-thumbprint={{ vcenter_thumbprint.stdout }} -o rhv-upload -oc https://{{ olvm_fqdn }}/ovirt-engine/api -op /tmp/olvm-admin-password -os {{ olvm_storagedomain }} -of qcow2 -oo rhv-cafile=/root/v2v/ca.pem -oo rhv-direct -oo rhv-cluster={{ olvm_cluster}} --verbose --network {{ olvm_network }}"
      loop: "{{ vm_name.split(',') }}"
      async: 0
      poll: 5
      environment:
          LIBGUESTFS_BACKEND: "direct" 

Ambiente de Execução

Parte do manual envolve a interação com o ambiente VMware. Portanto, a criação de um ambiente de execução personalizado, incluindo as coleções VMware, é necessária.

Consulte os tutoriais do Private Automation Hub e do Builder Utility para obter mais detalhes.

Modelos

Em seguida, precisamos criar um modelo usando todos os recursos que criamos acima. Selecione o Inventário do host KVM, a máquina host KVM e as Credenciais VMware VCenter, nosso novo ambiente de execução com as coleções VMware incluídas e o manual de migração.

Você pode obter uma saída mais detalhada durante a migração, aumentando a configuração de detalhamento do modelo.

Nível de Detalhe

Pesquisas

As pesquisas definem variáveis extras para o playbook semelhantes ao que o 'Prompt para Variáveis Extras' faz, mas de uma forma amigável de pergunta e resposta, ao mesmo tempo em que permite a validação de entrada do usuário.

No painel Modelo, clique na guia Pesquisa. Em seguida, clique no botão Adicionar para criar uma nova pesquisa.

Uma caixa de diálogo semelhante é exibida, onde você preenche os argumentos obrigatórios.

Pergunta da Pesquisa

Da mesma forma, crie pesquisas para cada variável extra usada no playbook.

Pergunta Nome da Variável de Resposta Tipo da Resposta
Qual é o nome da(s) VM(s) a ser(em) migrada(s) vm_name Texto
Informe o nome do Usuário do Vsphere vcenter_user Texto
Informe a Senha do Adnin VMware vmware_password Senha
Nome do Data Center de origem em VMware vmware_dc Texto
Nome do cluster de VMware vmware_cl Texto
IP/FQDN do host ESX no qual a VM está sendo executada esx_host Texto
IP/FQDN de VCenter vcenter_host Texto
Informe o FQDN do OLVM olvm_fqdn Texto
Informe o domínio de Armazenamento de Destino do OLVM olvm_storagedomain Texto
Digite o nome do Cluster do OLVM olvm_cluster Texto
Informe o nome da rede do OLVM olvm_network Texto
Digite a senha de administração do OLVM olvm_password Senha

Depois de criar as pesquisas, clique no ícone de inicialização e uma caixa de diálogo será exibida com as perguntas criadas.

Pesquisas

Depois de preencher as pesquisas com detalhes específicos sobre seu ambiente, clique em Próximo e inicie o modelo.

Próximas Etapas

Enquanto este blog publica detalhes das instruções sobre como migrar VMs de VMware para o Oracle Linux Virtualization Manager. O tutorial acima ajuda a eliminar potencialmente a necessidade de os usuários fazerem login nos hosts KVM e inserir valores manualmente para cada migração, reduzindo erros e economizando tempo. A ferramenta virt-v2v é semi-automatizada quando executada por conta própria, mas aqui mostramos que ela pode ser totalmente automatizada usando o Oracle Linux Automation Manager.

Mais Recursos de Aprendizagem

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.