如果您使用 Linux 服务器,您可能会使用 SSH 连接到远程服务器。
在您无法直接访问系统的这种情况下,您可能想知道您的服务器是在虚拟机中运行还是在物理系统中运行。
让我告诉你如何做到这一点。
检查服务器是物理的还是虚拟的
有几个命令可以用于此目的。
使用 dmidecode 命令
最简单的检查方法是使用 dmidecode 命令。
sudo dmidecode -s system-manufacturer
- 如果是物理系统,您应该看到制造商的名称,如戴尔、联想等。
- 如果它是一个虚拟系统,您应该会看到类似的输出 QEMUinnotek Gmbh (为 VirtualBox)。
dmidecode 命令用于以人类可读格式解码计算机的 DMI 信息。
DMI,桌面管理界面的缩写,是(几乎)所有系统制造商都遵守的标准。 DMI 框架用于管理和跟踪台式机、笔记本电脑或服务器计算机中的组件。
借助 DMI,您可以获得有关系统硬件、系统制造商和设备序列号的信息。
dmidecode(DMI 解码)命令使您能够提取这些信息并使用 -s system-manufacturer
您可以获得系统制造商的详细信息。
如果您的系统是真实的,您应该会看到制造商的名称:
[email protected]:~$ sudo dmidecode -s system-manufacturer
Dell Inc.
如果是虚拟机,信息会相应反映。
[email protected]:~# dmidecode -s system-manufacturer
QEMU
那很快,不是吗? 您可以参考 dmidecode 命令的手册页以查看可用于提取更多信息的关键字。
如果要检查 Linux 版本详细信息,则必须使用 uname 命令,因为 dmidecode 是关于硬件详细信息的。
使用 virt-what
检查服务器是否在虚拟机上运行的另一种方法是使用 virt-what。
它基本上是一个 shell 脚本,可以在大多数 Linux 发行版中作为命令安装。
sudo apt install virt-what
如果服务器在真实的裸机系统上运行,它不会返回任何内容。 否则,它将列出有关虚拟机的一些事实。
[email protected]:~# virt-what
kvm
我希望这篇文章能帮助您确定您的 Linux 服务器是在虚拟机上运行还是在物理机上运行。