如何判断Linux系统安装在VMware上?
如何判断当前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字样,如上所示。如果是物理机的话,会没有相关输出信息。如下所示:
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的相关权限。所以上面命令比较方便,快捷!