详解 3 种区别 Linux 服务器是物理机或者虚拟机的方法

概述
因为公司大部分服务器位于 VMware 上,也有小部分系统部署在物理机上面。领导要求统计一下 VMware 和物理机上服务器的数量,这里提供 3 个方法。以下基于 centos 系统进行测试。

详解 3 种区别 Linux 服务器是物理机或者虚拟机的方法
1、 命令 vir-what 检测

virt-what

详解 3 种区别 Linux 服务器是物理机或者虚拟机的方法
如果 Linux 服务器位于 VMware 上面,那么这个命令会输出 vmware 信息,如果是物理机,则没有任何输出信息。

2、dmesg |grep VMware 命令检测
详解 3 种区别 Linux 服务器是物理机或者虚拟机的方法
这里是根据 VMware 虚拟机的 PCI 总线上接驳的一些设备都有 VMware 字眼;磁盘名有 VMware Virtual disk 等字样,以及驱动有 VMware 字样,如上所示。如果是物理机的话,会没有相关输出信息。如下所示:

详解 3 种区别 Linux 服务器是物理机或者虚拟机的方法
3、检测 VMwaretools 进程
注意这个方法可能失灵,因为有些虚拟机上可能没有安装 VMware Tools 工具

详解 3 种区别 Linux 服务器是物理机或者虚拟机的方法
#ps -ef | grep vmtoolsd
详解 3 种区别 Linux 服务器是物理机或者虚拟机的方法
觉得有用的朋友多帮忙转发哦!后面会分享更多 devops 和 DBA 方面的内容,感兴趣的朋友可以关注下 ~