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
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
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", ]
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
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âmetrouri_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
Ao conectar-se a um host remoto, você pode evitar ter que fornecer a senha raiz para o sistema remoto. Para fazer isso, use um ou mais dos seguintes métodos:
- Configurar o acesso SSH baseado em chaves para o host remoto.
- Use a multiplexação da conexão SSH para se conectar ao sistema remoto.
- Configurar um ticket de autenticação kerberos no sistema remoto. Para instruções, ver autenticação Kerberos em Gerenciamento de Identidade.
As utilidades que podem usar a opção
-c
(ou--connect
) e a configuração de acesso remoto ao host descrita acima incluem:- virt-install
- virt-viewer
- virsh
- virt-manager