Red Hat Training

A Red Hat training course is available for RHEL 8

2.4.5. Configuração de fácil acesso a hosts de virtualização remota

Ao gerenciar VMs em um sistema host remoto usando utilitários libvirt, é recomendável usar a sintaxe -c qemu ssh://root@hostname/system. Por exemplo, usar o comando virsh list como root no 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

Entretanto, por conveniência, você pode remover a necessidade de especificar os detalhes da conexão por completo modificando sua configuração SSH e libvirt. Por exemplo, você será capaz de fazer:

# 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 permitir esta melhoria, siga as instruções abaixo.

Procedimento

  1. Editar ou criar o arquivo ~/.ssh/config e adicionar o seguinte a ele, onde host-alias é um nome abreviado associado a um host remoto específico, e hosturl é o endereço URL do host.

    Host host-alias
            User                    root
            Hostname                hosturl

    Por exemplo, o seguinte estabelece o nome alternativo tyrannosaurus para root@10.0.0.1:

    Host tyrannosaurus
            User                    root
            Hostname                10.0.0.1
  2. Edite ou crie o arquivo /etc/libvirt/libvirt.conf e adicione o seguinte, onde qemu-host-alias é um apelido de host alias que QEMU e libvirt utilities associarão com o host pretendido:

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

    Por exemplo, o seguinte utiliza o alias tyrannosaurus configurado na etapa anterior para configurar o alias t-rex, que significa qemu ssh://10.0.0.1/system:

    uri_aliases = [
      "t-rex=qemu+ssh://tyrannosaurus/system",
    ]
  3. Como resultado, você pode gerenciar VMs remotas usando utilitários baseados em libvírus no sistema local com um -c qemu-host-alias parâmetro. Isto executa automaticamente os comandos sobre o SSH no host remoto.

    Por exemplo, as seguintes listas de VMs no host remoto 10.0.0.1, cuja conexão foi configurada como t-rex nas etapas 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: Se você quiser usar utilitários de libvirt exclusivamente em um único host remoto, você também pode definir uma conexão específica como alvo padrão para utilitários baseados em libvirt. Para fazer isso, edite o arquivo /etc/libvirt/libvirt.conf e defina o valor do parâmetro uri_default para qemu-host-alias. Por exemplo, o seguinte usa o apelido de host t-rex configurado nas etapas anteriores como alvo padrão da 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 os comandos baseados em libvírus serão executados automaticamente no 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

    No entanto, isto não é recomendado se você também quiser gerenciar VMs em seu host local ou em hosts remotos diferentes.

Recursos adicionais