Red Hat Training

A Red Hat training course is available for RHEL 8

8.2. Creación de una plantilla de máquina virtual

Para garantizar que los clones de máquinas virtuales (VM) se ejecuten correctamente, elimine la información y las configuraciones que son exclusivas de la VM de origen, como las claves SSH o la configuración MAC de red persistente, antes de clonar la VM de origen.

Esto crea una VM template, que se puede utilizar para crear fácilmente y con seguridad clones de VM.

Requisitos previos

  • La utilidad virt-sysprep está instalada en su host:

    # yum install /usr/bin/virt-sysprep
  • La VM prevista como plantilla se apaga.
  • Debe saber dónde se encuentra la imagen de disco de la máquina virtual de origen y ser el propietario del archivo de imagen de disco de la máquina virtual.

    Tenga en cuenta que las imágenes de disco para las máquinas virtuales creadas en la sesión de sistema de libvirt se encuentran por defecto en el directorio /var/lib/libvirt/images y son propiedad del usuario 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: Cualquier dato importante del disco de la VM ha sido respaldado. Si desea conservar la VM de origen intacta, clónela primero y edite el clon para crear una plantilla.

Procedimiento

  1. Asegúrese de que ha iniciado la sesión como propietario de la imagen de disco de la máquina virtual:

    # whoami
    root
  2. Optional: Copiar la imagen de disco de la VM.

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

    Esto se utiliza más tarde para verificar que la VM se convirtió con éxito en una plantilla.

  3. Utilice el siguiente comando y sustituya /var/lib/libvirt/images/a-really-important-vm.qcow2 por la ruta de acceso a la imagen de disco de la máquina virtual de origen.

    # 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" ...
    [...]

Verificación

  • Para confirmar que el proceso fue exitoso, compare la imagen de disco modificada con la original. El siguiente ejemplo muestra la creación exitosa de una plantilla:

    # 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 adicionales

  • Usando el comando virt-sysprep como se muestra arriba se realiza la preparación estándar de la plantilla de la VM. Para obtener más información, consulte la sección OPERATIONS en la página de manual virt-sysprep.

    Para personalizar las operaciones específicas que desea que realice virt-sysprep, utilice la opción --operations, y especifique las operaciones previstas como una lista separada por comas.

  • Para obtener instrucciones sobre la clonación de una plantilla de VM, consulte Sección 8.3, “Clonación de una máquina virtual mediante la interfaz de línea de comandos”.