Tôi có một số máy ảo chạy trên Ubuntu 9.10 thông qua KVM + libvirt. Tôi muốn có thể tìm ra địa chỉ IP đã được gán cho từng máy chủ mà không cần mở "bàn điều khiển" vật lý cho mỗi máy và gọi ifconfig
.
Xem xét:
rascher @ localhost: ~ $ virsh -c qemu: /// danh sách hệ thống --all Kết nối với uri: qemu: /// hệ thống Tên Id Nhà nước ---------------------------------- 1 máy1 đang chạy 2 máy2 đang chạy - Máy3 tắt
Cấu hình mạng của tôi trông như sau:
<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>
Vì vậy, làm thế nào tôi có thể nhận được một danh sách có nội dung:
máy1 địa chỉ IP = 192.168.122.16 địa chỉ máy2 = 192.168.122.238 ...
Tôi đã chơi với arp
:
rascher @ localhost: ~ $ arp Địa chỉ HWtype HWaddress Flag 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 ...
Nhưng điều này không ánh xạ tới ID của máy ảo.
Có một số công cụ (thông qua dòng lệnh, virsh
hoặc virt-*
) tôi có thể xác định thông tin này không? Hoặc tôi cần phải có một số tập lệnh ưa thích chạy trên từng VM riêng lẻ, kiểm tra IP của chính nó và báo cáo lại cho hệ điều hành máy chủ?