Linux-服务器辨别实体机OR虚拟机

快速命令

① lscpu(查看CPU信息)
bash 复制代码
lscpu

Hypervisor vendor: KVM (超管理器厂商:KVM。虚拟机:KVM / VMware)

Virtualization: VT-x(虚拟化:VT-x。实体机:VT-x / AMD-V)

② systemd-detect-virt(检测当前系统是否正在运行于虚拟机)
bash 复制代码
systemd-detect-virt

实体机:none

虚拟机:KVM / VMware

其他命令

① lshw 命令

lshw(ls hardware)是一个提取机器硬件配置详细信息的工具,它能为我们提供内存配置、固件版本、主板配置信息、cpu版本和速度、cache信息、总线速度等。并且能将结果输出成HTML、XML、json等格式。

bash 复制代码
yum install -y lshw
bash 复制代码
lshw -class system

实体机示例:

description: Rack Mount Chassis

product: PowerEdge R440 (SKU=xxx;ModelName=PowerEdge R440)

vendor: Dell Inc.

serial: xxxxxx

width: 64 bits

capabilities: smbios-3.2.0 dmi-3.2.0 smp vsyscall38

虚拟机示例:

description: Computer

product: VMware Virtual Platform

vendor: VMware, Inc.

version: None

serial: VMware-42 1e xx xx xx

width: 64 bits

capabilities: smbios-2.4 dmi-2.4 smp vsyscall38

② dmidecode 命令

dmidecode命令可以让你在Linux系统下获取有关硬件方面的信息。dmidecode的作用是将DMI数据库中的信息解码,以可读的文本方式显示。由于DMI信息可以人为修改,因此里面的信息不一定是系统准确的信息。dmidecode遵循SMBIOS/DMI标准,其输出的信息包括BIOS、系统、主板、处理器、内存、缓存等。

dmidecode -t 类型

类型

baseboard:获取主板信息,包括制造商、型号、序列号等。

bios:获取BIOS信息。

processor:获取处理器信息。

memory:获取内存信息。

system:获取系统信息。

bash 复制代码
dmidecode -t system

实体机示例:

System Information

Manufacturer: Dell Inc.

Product Name: PowerEdge R440

Version: Not Specified

Serial Number: *******

UUID: xxx-xxx

Wake-up Type: Power Switch

SKU Number: SKU=xxx;ModelName=PowerEdge R440

Family: PowerEdge

虚拟机示例:

System Information

Manufacturer: VMware, Inc.

Product Name: VMware Virtual Platform

Version: None

Serial Number: VMware-42 1e xx xx xx

UUID: xxx-xxx

Wake-up Type: Power Switch

SKU Number: Not Specified

Family: Not Specified

虚拟机示例:

System Information

Manufacturer: innotek GmbH

Product Name: VirtualBox

Version: 1.2

Serial Number: 0

UUID: xxx-xxx

Wake-up Type: Power Switch

SKU Number: Not Specified

Family: Virtual Machine

bash 复制代码
dmidecode -s system-manufacturer(`-s` 或 `--string`:显示指定关键字的字符串值)

实体机示例:

Dell Inc.

虚拟机示例:

VMware, Inc.

bash 复制代码
dmidecode -s system-product-name

实体机示例:

PowerEdge R440

虚拟机示例:

VMware Virtual Platform

虚拟机示例:

VirtualBox

③ dmesg 命令

dmesg 命令在 Linux 系统中用于显示和控制内核的环形缓冲区,内核在启动过程中会将信息存储在这个缓冲区中。使用 dmesg 可以有效诊断机器硬件故障或者添加硬件出现的问题。另外,使用 dmesg 可以确定服务器安装了哪些硬件。每次系统重启,系统都会检查所有硬件并将信息记录下来。开机信息会保存在 /var/log/dmesg 文件里,执行 dmesg 命令可以查看该记录。

bash 复制代码
dmesg | grep -i virtual  或 grep -i virtual /var/log/dmesg

实体机示例:

0.000000 Booting paravirtualized kernel on bare hardware

2.584051 systemd1: Starting Setup Virtual Console...

978.947822 usb 1-14.2: Product: DRAC 5 Virtual Keyboard and Mouse

978.959173 input: DELLEMC DRAC 5 Virtual Keyboard and Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-14/1-14.2/1-14.2:1.0/input/input2

978.959398 hid-generic 0003:xxx:0000.0001: input,hidraw0: USB HID v1.01 Mouse DELLEMC DRAC 5 Virtual Keyboard and Mouse on usb-0000:00:14.0-14.2/input0

978.966059 input: DELLEMC DRAC 5 Virtual Keyboard and Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-14/1-14.2/1-14.2:1.1/input/input3

979.017077 hid-generic 0003:xxx:0000.0002: input,hidraw1: USB HID v1.01 Keyboard DELLEMC DRAC 5 Virtual Keyboard and Mouse on usb-0000:00:14.0-14.2/input1

虚拟机示例:

0.000000 DMI: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 12/12/2018

0.000000 Booting paravirtualized kernel on VMware hypervisor

0.987151 input: VirtualPS/2 VMware VMMouse as /devices/platform/i8042/serio1/input/input2

0.987368 input: VirtualPS/2 VMware VMMouse as /devices/platform/i8042/serio1/input/input3

0.999709 systemd1: Detected virtualization vmware.

1.027810 systemd1: Starting Setup Virtual Console...

1.195212 scsi 0:0:0:0: Direct-Access VMware Virtual disk 1.0 PQ: 0 ANSI: 2

1.196792 VMware vmxnet3 virtual NIC driver - version 1.4.16.0-k-NAPI

1.376914 ata2.00: ATAPI: VMware Virtual IDE CDROM Drive, 00000001, max UDMA/33

相关推荐
逸模14 小时前
告别熬夜手工整理台账,逸模智能归集实现项目数据自动化存档
大数据·运维·人工智能·笔记·其他·信息可视化·自动化
sbjdhjd14 小时前
Redis 主从复制、哨兵高可用与 Cluster 集群部署实验手册
运维·前端·redis·云原生·开源·bootstrap·html
人间乄惊鸿客14 小时前
Linux所遇问题自记录
linux
AOwhisky14 小时前
MySQL 学习笔记(第四期):SQL 语言之多表查询
linux·运维·网络·数据库·笔记·学习·mysql
Phantom Void15 小时前
服务器处理客户端请求的设计方法
linux·运维·网络
司悠15 小时前
【解决在vscode里开服务器登录codeX后发消息会一直reconnecting】
服务器·ide·vscode
倔强的石头10615 小时前
Fooocus开源神器+cpolarAI让绘画告别服务器依赖
运维·服务器·cpolar
Ajie'Blog15 小时前
Copilot Agent Tasks API 开放:AI 编程开始进入后台任务时代
服务器·前端·javascript·人工智能·copilot·ai编程
wei_shuo15 小时前
服务器挂了等用户投诉才发现?我用Beszel搭了轻量监控系统,宕机第一时间通知我
运维·服务器
王码码203515 小时前
多台服务器怎么统一看状态?Beszel 轻量监控,搭起来不费事
运维·服务器·后端·安全·阿里云·接口·web