Ich habe mehrere VMs unter Ubuntu 9.10 über KVM + libvirt. Ich möchte in der Lage sein, die IP-Adresse herauszufinden, die jedem Host zugewiesen wurde, ohne physisch eine physische "Konsole" für jeden Computer zu öffnen und aufzurufen ifconfig
.
Erwägen:
rascher @ localhost: ~ $ virsh -c qemu: /// Systemliste --all Verbindung zum uri: qemu: /// System herstellen ID Name Status ---------------------------------- ------------------ 1 Maschine1 läuft 2 Maschine2 läuft - Maschine3 abschalten
Meine Netzwerkkonfiguration sieht folgendermaßen aus:
<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>
Wie kann ich eine Auflistung erhalten, in der steht:
IP-Adresse von Maschine1 = 192.168.122.16 IP-Adresse von machine2 = 192.168.122.238 ...
Ich habe gespielt mit arp
:
rascher @ localhost: ~ $ arp Adresse HW-Typ HWaddress Flags Mask Iface 192.168.122.238 Ether 00: 16: 36: 00: 61: b0 C virbr0 192.168.122.16 Ether 00: 16: 36: 52: e8: 9c C virbr0 ...
Dies ist jedoch nicht der ID einer virtuellen Maschine zugeordnet.
Gibt es ein Tool (über die Befehlszeile virsh
oder virt-*
), mit dem ich diese Informationen ermitteln kann? Oder brauche ich ein ausgefallenes Skript, das auf jeder einzelnen VM ausgeführt wird, ihre eigene IP überprüft und an das Host-Betriebssystem zurückmeldet?