新闻公告

如何判断当前Linux系统是否安装在VMware上面呢? 因为公司大部分服务器位于VMware上,

也有小部分系统部署在物理机上面。今天老大要求统计一下VMware和物理机上服务器的数量,个人简单测试、

验证了一下,当然也测试验证了多台服务器,但是限于手头的VMware版本以及Linux版本,

不代表所有环境都是正确的,下面是演示一下测试结果:

1: 命令vir-what检测

?12 [root@mylnx01 ~]# virt-what vmware
如果Linux服务器位于VMware上面,那么这个命令会输出vmware信息,如果是物理机,则没有任何输出信息。

2:dmesg |grep VMware命令检测

?123456789 [root@mylnx01 ~]# dmesg |grep VMware scsi 0:0:0:0: Direct-Access   VMware  Virtual disk   1.0 PQ: 0 ANSI: 2 scsi 0:0:1:0: Direct-Access   VMware  Virtual disk   1.0 PQ: 0 ANSI: 2 scsi 0:0:2:0: Direct-Access   VMware  Virtual disk   1.0 PQ: 0 ANSI: 2 scsi 0:0:3:0: Direct-Access   VMware  Virtual disk   1.0 PQ: 0 ANSI: 2 scsi 0:0:4:0: Direct-Access   VMware  Virtual disk   1.0 PQ: 0 ANSI: 2 VMware vmxnet3 virtual NIC driver - version 1.4.3.0-NAPI VMware PVSCSI driver - version 1.0.1.0-k VMware vmxnet virtual NIC driver
这里是根据VMware虚拟机的PCI 总线上接驳的一些设备都有VMware字眼;磁盘名有VMware Virtual disk等字样,以及驱动有VMware字样,如上所示。如果是物理机的话,会没有相关输出信息。如下所示:

 

3:检测VMwaretools进程,但是这个方法可能失灵,因为有些虚拟机上可能没有安装VMware Tools工具

?123 [root@mylnx01 ~]# ps -ef | grep vmtoolsd root   3149   1 0 Jun24 ?    00:25:37 /usr/sbin/vmtoolsdroot   23943 20376 0 14:23 pts/1  00:00:00 grep vmtoolsd
4:通过VMware vSphere Client连接到VMware Workstation上,一台台确认。

一来这个也麻烦(只能手工确认,不好批量处理),另外,我也没有VMware Workstation的相关权限。

所以上面命令比较方便,快捷!