Red Hat Training

A Red Hat training course is available for RHEL 8

8.2. Criação de um modelo de máquina virtual

Para garantir que os clones da máquina virtual (VM) funcionem corretamente, remova as informações e configurações exclusivas da VM de origem, tais como chaves SSH ou configuração de MAC de rede persistente, antes de clonar a VM de origem.

Isto cria uma VM template, que pode ser usada para criar clones de VM com facilidade e segurança.

Pré-requisitos

  • O utilitário virt-sysprep está instalado em seu host:

    # yum install /usr/bin/virt-sysprep
  • A VM pretendida como modelo é desligada.
  • Você deve saber onde se encontra a imagem em disco da VM de origem, e ser o proprietário do arquivo de imagem em disco da VM.

    Note que as imagens em disco para VMs criadas na sessão de libvirt do sistema estão por padrão localizadas no diretório /var/lib/libvirt/images e pertencem ao usuário root:

    # ls -la /var/lib/libvirt/images
    -rw-------.  1 root root  9665380352 Jul 23 14:50 a-really-important-vm.qcow2
    -rw-------.  1 root root  8591507456 Jul 26  2017 an-actual-vm-that-i-use.qcow2
    -rw-------.  1 root root  8591507456 Jul 26  2017 totally-not-a-fake-vm.qcow2
    -rw-------.  1 root root 10739318784 Sep 20 17:57 another-vm-example.qcow2
  • Optional: Qualquer dado importante no disco da VM foi copiado. Se você quiser preservar a VM de origem intacta, clone-a primeiro e edite o clone para criar um modelo.

Procedimento

  1. Certifique-se de estar logado como o proprietário da imagem em disco da VM:

    # whoami
    root
  2. Optional: Copiar a imagem do disco da VM.

    # cp /var/lib/libvirt/images/a-really-important-vm.qcow2 /var/lib/libvirt/images/a-really-important-vm-original.qcow2

    Isto é usado posteriormente para verificar se a VM foi transformada com sucesso em um modelo.

  3. Use o seguinte comando, e substitua /var/lib/libvirt/images/a-really-important-vm.qcow2 pelo caminho para a imagem em disco da fonte VM.

    # virt-sysprep -a /var/lib/libvirt/images/a-really-important-vm.qcow2
    [   0.0] Examining the guest ...
    [   7.3] Performing "abrt-data" ...
    [   7.3] Performing "backup-files" ...
    [   9.6] Performing "bash-history" ...
    [   9.6] Performing "blkid-tab" ...
    [...]

Verificação

  • Para confirmar que o processo foi bem sucedido, compare a imagem modificada do disco com a original. O exemplo a seguir mostra uma criação bem sucedida de um modelo:

    # virt-diff -a /var/lib/libvirt/images/a-really-important-vm-orig.qcow2 -A /var/lib/libvirt/images/a-really-important-vm.qcow2
    - - 0644       1001 /etc/group-
    - - 0000        797 /etc/gshadow-
    = - 0444         33 /etc/machine-id
    [...]
    - - 0600        409 /home/username/.bash_history
    - d 0700          6 /home/username/.ssh
    - - 0600        868 /root/.bash_history
    [...]

Recursos adicionais

  • Usando o comando virt-sysprep, como mostrado acima, executa a preparação padrão do modelo VM. Para mais informações, consulte a seção OPERATIONS na página de manual virt-sysprep.

    Para personalizar quais operações específicas você deseja que virt-sysprep realize, use a opção --operations e especifique as operações pretendidas como uma lista separada por vírgulas.

  • Para instruções sobre a clonagem de um modelo VM, veja Seção 8.3, “Clonagem de uma máquina virtual usando a interface de linha de comando”.