在linux上玩过KVM的朋友基本都晓得,在宿主机上运行了虚拟主机以后,我们无法直接看到某一个虚拟主机IP地址。比如:

[root@21yunwei /]$virsh list  --all Id    名称                         状态---------------------------------------------------- 3     geoip                          running 4     tomcat                         running 5     jenkins                        running 18    gitlab                         running 19    win7                           running

如果我们想知道gitlab这个虚拟机的IP地址,那么是无法直接看到的。这里就需要一个小方法做排查,很简单的,就两步骤:
1,编辑虚拟主机配置文件。

[root@21yunwei /]$virsh  edit   gitlab

进去以后直接查找mac 可以定位到如下地址信息,记录下mac后退出:

 

2,通过arp -a判定虚拟机器IP地址。

[root@21yunwei /]$arp  -a | grep -i  52:54:00:FA:61:75? (192.168.1.101) at 52:54:00:fa:61:75 [ether] on br1

注意这里一定要加上-i 忽略大小写。不然因为大小写问题有可能查不到。

说明:这里只根据通信缓存记录的mac 、IP地址手段做排查。也有可能找不到。最好的办法是自己写一个脚本跟网段内的所有服务器都ping一次,记录下mac、ip地址以后再查找就没问题。