代码改变世界

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

  潇湘隐者  阅读(3621)  评论(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的相关权限。所以上面命令比较方便,快捷!

编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
历史上的今天:
2017-08-07 SQL Server中授予用户查看对象定义的权限
2015-08-07 RedHat 4下无resize2fs命令
2015-08-07 You cannot change a partition into an extended one or vice versa Delete it first
2014-08-07 中断ORACLE数据库关闭进程导致错误案例
点击右上角即可分享
微信分享提示