Eu tenho várias VMs em execução no Ubuntu 9.10 via KVM + libvirt. Quero poder descobrir o endereço IP atribuído a cada host sem abrir fisicamente um "console" físico para cada máquina e invocá-lo ifconfig
.
Considerar:
rascher @ localhost: ~ $ virsh -c qemu: /// lista do sistema --todos Conectando ao uri: qemu: /// system ID Nome Estado ---------------------------------- 1 máquina1 em execução 2 machine2 em execução - machine3 desligado
Minha configuração de rede se parece com:
<network>
<name>default</name>
<uuid>1be...</uuid>
<forward mode='route' dev="eth0"/>
<bridge name='virbr0' stp='on' forwardDelay='0' />
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254' />
</dhcp>
</ip>
</network>
Então, como posso obter uma listagem que diz:
endereço IP da máquina1 = 192.168.122.16 endereço IP da máquina2 = 192.168.122.238 ...
Eu brinquei com arp
:
rascher @ localhost: ~ $ arp Endereço HWtype HWaddress Flags Mask Iface 192.168.122.238 éter 00: 16: 36: 00: 61: b0 C virbr0 192.168.122.16 éter 00: 16: 36: 52: e8: 9c C virbr0 ...
Mas isso não é mapeado para o ID de uma máquina virtual.
Existe alguma ferramenta (através da linha de comando virsh
ou virt-*
) que eu possa verificar essas informações? Ou preciso ter algum script sofisticado que seja executado em cada VM individual, verifique seu próprio IP e o reporte ao sistema operacional host?