J'ai plusieurs machines virtuelles exécutées sur Ubuntu 9.10 via KVM + libvirt. Je veux pouvoir découvrir l'adresse IP qui a été assignée à chaque hôte sans ouvrir physiquement une "console" physique à chaque machine et invoquer ifconfig
.
Considérer:
rascher @ localhost: ~ $ virsh -c qemu: /// liste système --all Connexion au système uri: qemu: /// ID Nom État ---------------------------------- 1 machine1 en marche 2 machine2 en marche - arrêt machine3
Ma configuration réseau ressemble à:
<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>
Alors, comment puis-je obtenir une liste qui dit:
adresse IP machine1 = 192.168.122.16 adresse IP machine2 = 192.168.122.238 ...
J'ai joué avec arp
:
rascher @ localhost: ~ $ arp Adresse HWtype HWaddress Flags Mask Iface 192.168.122.238 éther 00: 16: 36: 00: 61: b0 C virbr0 192.168.122.16 éther 00: 16: 36: 52: e8: 9c C virbr0 ...
Mais cela ne correspond pas à l'ID d'une machine virtuelle.
Existe-t-il un outil (via la ligne de commande, virsh
ou virt-*
) je peux vérifier ces informations? Ou dois-je avoir un script sophistiqué qui s'exécute sur chaque machine virtuelle individuelle, vérifie sa propre IP et le signale au système d'exploitation hôte?