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
Certifique-se de estar logado como o proprietário da imagem em disco da VM:
# whoami root
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.
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çãoOPERATIONS
na página de manualvirt-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”.