代码改变世界

如何判断Linux系统安装在VMware上?

2019-08-07 15:05  潇湘隐者  阅读(2286)  评论(0编辑  收藏

如何判断当前Linux系统是否安装在VMware上面呢? 因为公司大部分服务器位于VMware上,也有小部分系统部署在物理机上面。今天老大要求统计一下VMware和物理机上服务器的数量,个人简单测试、验证了一下,当然也测试验证了多台服务器,但是限于手头的VMware版本以及Linux版本,不代表所有环境都是正确的,下面是演示一下测试结果:

 

1: 命令vir-what检测

 

[root@mylnx01 ~]# virt-what

vmware

 

如果Linux服务器位于VMware上面,那么这个命令会输出vmware信息,如果是物理机,则没有任何输出信息。

 

2:dmesg |grep VMware命令检测

 

   

[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字样,如上所示。如果是物理机的话,会没有相关输出信息。如下所示:

 

clip_image001

 

 

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

 

[root@mylnx01 ~]#  ps -ef | grep vmtoolsd
root      3149     1  0 Jun24 ?        00:25:37 /usr/sbin/vmtoolsd
root     23943 20376  0 14:23 pts/1    00:00:00 grep vmtoolsd

 

 

4:通过VMware vSphere Client连接到VMware Workstation上,一台台确认。一来这个也麻烦(只能手工确认,不好批量处理),另外,我也没有VMware Workstation的相关权限。所以上面命令比较方便,快捷!