如何检测虚拟或物理主机

实际工作中遇到一个需要检查当前主机是物理服务器还是虚拟机的问题,这里讨论检查的方法。

原理

要检测当前登录的主机是虚拟机还是物理服务器,可以通过系统工具 dmidecode 来检测

dmidecode -s system-product-name

-s 参数表示 --string KEYWORD ,即只显示指定DMI字符串

对于物理服务器,该字符串system-product-name会输出服务器厂商的型号,例如

Dell:

PowerEdge R620

HP:

ProLiant DL380p Gen8

如果是虚拟机,常见虚拟技术:

  • VMware Workstation

VMware Virtual Platform
  • VirtualBox

VirtualBox
  • Qemu with KVM

KVM
  • Xen

可能没有输出内容

参考

Last updated