Red Hat Training

A Red Hat training course is available for RHEL 8

2.2. Creación de máquinas virtuales

Para crear una máquina virtual (VM) en RHEL 8, utilice la interfaz de línea de comandos o la consola web de RHEL 8.

Requisitos previos

  • La virtualización está instalada y habilitada en su sistema.
  • Tiene una cantidad suficiente de recursos del sistema para asignar a sus VMs, como espacio en disco, RAM o CPUs. Los valores recomendados pueden variar significativamente en función de las tareas previstas y la carga de trabajo de las máquinas virtuales.

    Aviso

    La instalación desde un dispositivo de CD-ROM o DVD-ROM del host no es posible en RHEL 8. Si selecciona un CD-ROM o DVD-ROM como fuente de instalación cuando utiliza cualquier método de instalación de VM disponible en RHEL 8, la instalación fallará. Para más información, consulte la Base de conocimientos de Red Hat.

2.2.1. Creación de máquinas virtuales mediante la interfaz de línea de comandos

Para crear una máquina virtual (VM) en su host RHEL 8 utilizando la utilidad virt-install, siga las siguientes instrucciones.

Requisitos previos

  • La virtualización está activada en su sistema anfitrión.
  • Una fuente de instalación del sistema operativo (SO) está disponible localmente o en una red. Puede ser uno de los siguientes:

    • Una imagen ISO de un medio de instalación
    • Una imagen de disco de una instalación VM existente
  • Opcional: Se puede proporcionar un archivo Kickstart para una configuración más rápida y sencilla de la instalación.

Procedimiento

Para crear una VM e iniciar la instalación de su sistema operativo, utilice el comando virt-install, junto con los siguientes argumentos obligatorios:

  • El nombre de la nueva máquina
  • La cantidad de memoria asignada
  • El número de CPUs virtuales asignadas (vCPUs)
  • El tipo y el tamaño del almacenamiento asignado
  • El tipo y la ubicación de la fuente de instalación del sistema operativo

Según el método de instalación elegido, las opciones y valores necesarios pueden variar. Consulte los ejemplos siguientes:

  • Lo siguiente crea una VM llamada demo-guest1 que instala el SO Windows 10 desde una imagen ISO almacenada localmente en el archivo /home/username/Downloads/Win10install.iso. A esta VM también se le asignan 2048 MiB de RAM y 2 vCPUs, y se configura automáticamente un disco virtual qcow2 de 80 GiB para la VM.

    # virt-install --name demo-guest1 --memory 2048 --vcpus 2 --disk size=80 --os-variant win10 --cdrom /home/username/Downloads/Win10install.iso
  • Lo siguiente crea una VM llamada demo-guest2 que utiliza la imagen /home/username/Downloads/rhel8.iso para ejecutar un SO RHEL 8 desde un CD en vivo. No se asigna espacio en disco a esta VM, por lo que los cambios realizados durante la sesión no se conservarán. Además, la VM se asigna con 4096 MiB de RAM y 4 vCPUs.

    # virt-install --name demo-guest2 --memory 4096 --vcpus 4 --disk none --livecd --os-variant rhel8.0 --cdrom /home/username/Downloads/rhel8.iso
  • Lo siguiente crea una VM RHEL 8 llamada demo-guest3 que se conecta a una imagen de disco existente, /home/username/backup/disk.qcow2. Esto es similar a mover físicamente un disco duro entre máquinas, por lo que el sistema operativo y los datos disponibles para demo-guest3 están determinados por cómo se manejó la imagen anteriormente. Además, esta VM está asignada con 2048 MiB de RAM y 2 vCPUs.

    # virt-install --name demo-guest3 --memory 2048 --vcpus 2 --os-variant rhel8.0 --import --disk /home/username/backup/disk.qcow2

    Tenga en cuenta que la opción --os-variant es muy recomendable cuando se importa una imagen de disco. Si no se proporciona, el rendimiento de la VM creada se verá afectado negativamente.

  • Lo siguiente crea una VM llamada demo-guest4 que se instala desde la http://example.com/OS-install URL. Para que la instalación se inicie con éxito, la URL debe contener un árbol de instalación del SO que funcione. Además, el SO se configura automáticamente utilizando el archivo kickstart de /home/username/ks.cfg. Esta VM también está asignada con 2048 MiB de RAM, 2 vCPUs, y un disco virtual qcow2 de 160 GiB.

    # virt-install --name demo-guest4 --memory 2048 --vcpus 2 --disk size=160 --os-variant rhel8.0 --location http://example.com/OS-install --initrd-inject /home/username/ks.cfg --extra-args="ks=file:/ks.cfg console=tty0 console=ttyS0,115200n8"
  • Lo siguiente crea una VM llamada demo-guest5 que se instala desde un archivo de imagen RHEL8.iso en modo de sólo texto, sin gráficos. Conecta la consola del huésped a la consola serial. La VM tiene 16384 MiB de memoria, 16 vCPUs, y 280 GiB de disco. Este tipo de instalación es útil cuando se conecta a un host a través de un enlace de red lento.

    # virt-install --name demo-guest5 --memory 16384 --vcpus 16 --disk size=280 --os-variant rhel8.0 --location RHEL8.iso --graphics none --extra-args='console=ttyS0'
  • Lo siguiente crea una VM llamada demo-guest6, que tiene la misma configuración que demo-guest5, pero reside en el host remoto 10.0.0.1.

    # virt-install --connect qemu ssh://root@10.0.0.1/system --name demo-guest6 --memory 16384 --vcpus 16 --disk size=280 --os-variant rhel8.0 --location RHEL8.iso --graphics none --extra-args='console=ttyS0'

Si la VM se crea con éxito, se abre una ventana de virt-viewer con una consola gráfica de la VM y se inicia la instalación del SO huésped.

Solución de problemas

  • Si virt-install falla con un error cannot find default network:

    1. Asegúrese de que el paquete libvirt-daemon-config-network está instalado:

      # yum info libvirt-daemon-config-network
      Installed Packages
      Name         : libvirt-daemon-config-network
      [...]
    2. Compruebe que la red por defecto libvirt está activa y configurada para iniciarse automáticamente:

      # virsh net-list --all
       Name      State    Autostart   Persistent
      --------------------------------------------
       default   active   yes         yes
    3. Si no lo está, active la red por defecto y configúrela para que se inicie automáticamente:

      # virsh net-autostart default
      Network default marked as autostarted
      
      # virsh net-start default
      Network default started
      1. Si la activación de la red por defecto falla con el siguiente error, el paquete libvirt-daemon-config-network no se ha instalado correctamente.

        error: failed to get network 'default'
        error: Network not found: no network with matching name 'default'

        Para solucionarlo, vuelva a instalar libvirt-daemon-config-network.

        # yum reinstall libvirt-daemon-config-network
      2. Si la activación de la red por defecto falla con un error similar al siguiente, se ha producido un conflicto entre la subred de la red por defecto y una interfaz existente en el host.

        error: Failed to start network default
        error: internal error: Network is already in use by interface ens2

        Para solucionarlo, utilice el comando virsh net-edit default y cambie los valores de 192.168.122.* en la configuración a una subred que no esté ya en uso en el host.

Recursos adicionales

  • Se pueden especificar otras opciones para virt-install para configurar aún más la VM y su instalación del SO. Para más detalles, consulte la página man virt-install.
  • Si ya tiene una VM funcional, puede clonarla para crear rápidamente una nueva VM con la misma configuración y datos. Para más detalles, consulte Capítulo 8, Clonación de máquinas virtuales.