Red Hat Training

A Red Hat training course is available for RHEL 8

2.4.5. Configuración de un acceso fácil a los hosts de virtualización remotos

Cuando se gestionan máquinas virtuales en un sistema anfitrión remoto utilizando las utilidades de libvirt, se recomienda utilizar la sintaxis -c qemu ssh://root@hostname/system. Por ejemplo, para utilizar el comando virsh list como root en el host 10.0.0.1:

# virsh -c qemu+ssh://root@10.0.0.1/system list

root@10.0.0.1's password:
Last login: Mon Feb 18 07:28:55 2019

Id   Name              State
---------------------------------
1    remote-guest      running

Sin embargo, para mayor comodidad, puede eliminar la necesidad de especificar los detalles de la conexión en su totalidad modificando la configuración de SSH y libvirt. Por ejemplo, podrás hacer:

# virsh -c remote-host list

root@10.0.0.1's password:
Last login: Mon Feb 18 07:28:55 2019

Id   Name              State
---------------------------------
1    remote-guest      running

Para habilitar esta mejora, siga las siguientes instrucciones.

Procedimiento

  1. Edite o cree el archivo ~/.ssh/config y añada lo siguiente, donde host-alias es un nombre abreviado asociado a un host remoto específico, y hosturl es la dirección URL del host.

    Host host-alias
            User                    root
            Hostname                hosturl

    Por ejemplo, lo siguiente configura el alias tyrannosaurus para root@10.0.0.1:

    Host tyrannosaurus
            User                    root
            Hostname                10.0.0.1
  2. Edita o crea el archivo /etc/libvirt/libvirt.conf, y añade lo siguiente, donde qemu-host-alias es un alias de host que las utilidades QEMU y libvirt asociarán con el host previsto:

    uri_aliases = [
      "qemu-host-alias=qemu+ssh://host-alias/system",
    ]

    Por ejemplo, lo siguiente utiliza el alias tyrannosaurus configurado en el paso anterior para configurar el alias t-rex, que significa qemu ssh://10.0.0.1/system:

    uri_aliases = [
      "t-rex=qemu+ssh://tyrannosaurus/system",
    ]
  3. Como resultado, puede gestionar las VMs remotas utilizando utilidades basadas en libvirt en el sistema local con un parámetro añadido -c qemu-host-alias parámetro. Esto realiza automáticamente los comandos a través de SSH en el host remoto.

    Por ejemplo, a continuación se enumeran las máquinas virtuales del host remoto 10.0.0.1, cuya conexión se configuró como t-rex en los pasos anteriores:

    $ virsh -c t-rex list
    
    root@10.0.0.1's password:
    Last login: Mon Feb 18 07:28:55 2019
    
    Id   Name              State
    ---------------------------------
    1    velociraptor      running
  4. Optional: Si desea utilizar las utilidades de libvirt exclusivamente en un único host remoto, también puede establecer una conexión específica como objetivo por defecto para las utilidades basadas en libvirt. Para ello, edite el archivo /etc/libvirt/libvirt.conf y establezca el valor del parámetro uri_default en qemu-host-alias. Por ejemplo, lo siguiente utiliza el alias de host t-rex configurado en los pasos anteriores como objetivo por defecto de libvirt.

    # These can be used in cases when no URI is supplied by the application
    # (@uri_default also prevents probing of the hypervisor driver).
    #
    uri_default = "t-rex"

    Como resultado, todos los comandos basados en libvirt se ejecutarán automáticamente en el host remoto especificado.

    $ virsh list
    root@10.0.0.1's password:
    Last login: Mon Feb 18 07:28:55 2019
    
    Id   Name              State
    ---------------------------------
    1    velociraptor      running

    Sin embargo, esto no es recomendable si también quiere gestionar máquinas virtuales en su host local o en diferentes hosts remotos.

Recursos adicionales

  • Al conectarse a un host remoto, puede evitar tener que proporcionar la contraseña de root al sistema remoto. Para ello, utilice uno o varios de los siguientes métodos:

  • Entre las utilidades que pueden utilizar la opción -c (o --connect) y la configuración de acceso al host remoto descrita anteriormente se encuentran: