沙龙晃荡 | 去哪儿、陌陌、ThoughtWorks在主动化运维中的实践!10.28不见不散!
在VMware vSphere虚拟情况中我们有时须要找寻某IP地点的虚拟机及ESXi宿主机。若VMware虚拟机安装了VMware tools, 则可以经由过程API直接查找该IP地点地位,但我们的情况中并不是所有的虚拟机都已安装,因而我们只能经由过程MAC地址来查找。
假设目标IP为10.95.48.11,起首我们大年夜与目标IP位于雷同二层收集内的虚拟机上获取10.95.48.11对应的MAC地址:
- [root@localhost ~]# ping 10.95.48.11 -c 2
- PING 10.95.48.11 (10.95.48.11) 56(84) bytes of data.
- 64 bytes from 10.95.48.11: icmp_seq=1 ttl=64 time=0.141 ms
- 64 bytes from 10.95.48.11: icmp_seq=2 ttl=64 time=0.137 ms
- --- 10.95.48.11 ping statistics ---
- 2 packets transmitted, 2 received, 0% packet loss, time 999ms
- rtt min/avg/max/mdev = 0.137/0.139/0.141/0.002 ms
- [root@localhost ~]# ip neighbor |grep 10.95.48.11
- 10.95.48.11 dev eth0 lladdr 00:0c:29:26:18:c8 REACHABLE
获取到MAC地址为00:0c:29:26:18:c8。
若是情况中ESXi主机较少,可以经由过程SSH直接登录ESXi主机挨个进行查找。
- cd /vmfs/volumes/datastore1/
起首进入虚拟机的存储目次,不合情况中数据存储的名字可能不合:
该目次存储的是各个虚拟机的相干文件,一个虚拟机对应一个目次,如:
- [root@esxi-01:/vmfs/volumes/595b7497-d8849df8-8d7c-6c92bf585d10] ls -l
- total 176
- drwxr-xr-x 1 root root 420 Sep 14 02:30 centos-68
- drwxr-xr-x 1 root root 1820 Oct 9 09:55 dev01-10.95.48.11
- drwxr-xr-x 1 root root 3080 Sep 14 03:37 dev02-10.95.48.12
每台虚拟机目次中的vmx文件中存储了体系为虚拟网卡生成的MAC地址,如:
- ethernet0.generatedAddress = "00:0c:29:26:18:c8"
- ethernet0.generatedAddressOffset = "0"
我们可以大年夜vmx文件中搜刮MAC地址,找到响应的虚拟机,如:
- [root@esxi-01:/vmfs/volumes/595b7497-d8849df8-8d7c-6c92bf585d10] find . -name '*.vmx' | xargs grep '00:0c:29:26:18:c8'
- ./dev01-10.95.48.11/dev01-10.95.48.11.vmx:ethernet0.generatedAddress = "00:0c:29:26:18:c8”
若是情况中ESXi主机异常多,一台一台搜刮异常低效,我们可以基于VMware官方供给的SDK来编写法度榜样来找到响应的MAC地址。
VMware供给了Python的SDK: https://github.com/vmware/pyvmomi
我们编写的法度榜样如下:
- #!/usr/bin/env python
- import atexit
- from pyVim import connect
推荐阅读
Navicator 这个对象分为两个层面:MySQL及时状况分析和满日记分析在做一些技巧筹划的时刻,会发明有一些工作须要前置,比如说MySQL琅绫擎的对象,如不雅比及实际碰着了各色的问题再来同一,>>>详细阅读
本文标题:VMware环境中根据虚拟机IP找寻所在ESXi主机
地址:http://www.17bianji.com/lsqh/37955.html
1/2 1