Mam kilka maszyn wirtualnych działających na Ubuntu 9.10 za pośrednictwem KVM + libvirt. Chcę móc znaleźć adres IP przypisany do każdego hosta bez fizycznego otwierania fizycznej „konsoli” na każdym komputerze i wywoływania ifconfig
.
Rozważać:
rascher @ localhost: ~ $ virsh -c qemu: /// lista systemowa --all Łączenie z systemem uri: qemu: /// Stan nazwy identyfikatora ---------------------------------- 1 maszyna 1 pracuje 2 maszyna 2 działa - maszyna3 wyłączona
Moja konfiguracja sieci wygląda następująco:
<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>
Jak mogę uzyskać listę, która mówi:
adres IP maszyny1 = 192.168.122.16 adres IP maszyny2 = 192.168.122.238 ...
Grałem z arp
:
rascher @ localhost: ~ $ arp Adres HWtype HWaddress Flags Mask Iface 192.168.122.238 eter 00: 16: 36: 00: 61: b0 ° C virbr0 192.168.122.16 eter 00: 16: 36: 52: e8: 9c C virbr0 ...
Ale to nie jest mapowane na identyfikator maszyny wirtualnej.
Czy jest jakieś narzędzie (za pomocą wiersza polecenia virsh
lub virt-*
) Mogę ustalić te informacje? Czy też muszę mieć jakiś fantazyjny skrypt, który działa na każdej maszynie wirtualnej, sprawdza swój adres IP i zgłasza go z powrotem do systemu operacyjnego hosta?