У мене кілька віртуальних машин, що працюють на Ubuntu 9.10 через KVM + libvirt. Я хочу мати можливість дізнатися IP-адресу, призначену кожному хосту, не відкриваючи фізично "консоль" для кожної машини та не звертаючись до неї ifconfig
.
Поміркуйте:
rascher @ localhost: ~ $ virsh -c qemu: /// список систем --all Підключення до системи uri: qemu: /// Ідентифікаційний стан ---------------------------------- 1 машина1 працює 2 машина2 працює - machine3 вимкнено
Моя мережна конфігурація виглядає так:
<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>
Тож як я можу отримати список, який говорить:
машина1 IP-адреса = 192.168.122.16 machine2 IP-адреса = 192.168.122.238 ...
Я грав з arp
:
rascher @ localhost: ~ $ arp Адреса HWtype HWaddress прапор маски Iface 192.168.122.238 ефір 00: 16: 36: 00: 61: b0 C virbr0 192.168.122.16 ефір 00: 16: 36: 52: e8: 9c C virbr0 ...
Але це не збігається з ідентифікатором віртуальної машини.
Чи є якийсь інструмент (за допомогою командного рядка virsh
чи virt-*
), я можу з’ясувати цю інформацію? Або мені потрібно мати якийсь фантазійний скрипт, який працює на кожній окремій машині VM, перевіряє власний IP-адресу та повідомляє про нього в хост-операційній системі?