Ho diverse macchine virtuali in esecuzione su Ubuntu 9.10 tramite KVM + libvirt. Voglio essere in grado di scoprire l'indirizzo IP che è stato assegnato a ciascun host senza aprire fisicamente una "console" fisica su ogni macchina e invocare ifconfig
.
Prendere in considerazione:
rascher @ localhost: ~ $ virsh -c qemu: /// elenco di sistemi - tutti Connessione al sistema uri: qemu: /// ID nome stato ---------------------------------- 1 macchina1 in funzione 2 machine2 in esecuzione - macchina3 spenta
La mia configurazione di rete è simile a:
<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>
Quindi, come posso ottenere un elenco che dice:
indirizzo IP macchina1 = 192.168.122.16 indirizzo IP machine2 = 192.168.122.238 ...
Ho giocato con arp
:
rascher @ localhost: ~ $ arp Indirizzo HWtype HWaddress Flags Mask Iface 192.168.122.238 etere 00: 16: 36: 00: 61: b0 C virbr0 192.168.122.16 etere 00: 16: 36: 52: e8: 9c C virbr0 ...
Ma questo non è associato all'ID di una macchina virtuale.
Esiste uno strumento (tramite la riga di comando virsh
o virt-*
) posso accertare queste informazioni? O devo avere uno script elaborato che viene eseguito su ogni singola macchina virtuale, controlla il proprio IP e lo riporta al sistema operativo host?