Hypervisor 是什么
Hypervisor(虚拟机监视器,简称 VMM)是运行在硬件与虚拟机之间的抽象层:向下统一管理 CPU、内存与设备,向上为每台虚机呈现一套独立的硬件视图,并通过硬件辅助虚拟化或特权指令陷入来维持隔离。云平台、企业虚拟化与本地实验环境,底层都是这一层在支撑。
基本信息
| 别称 | VMM,虚拟机监视器 |
|---|---|
| 核心职责 | CPU 调度、内存隔离、设备虚拟化与虚机生命周期管理 |
| 分类 | Type 1 裸金属型与 Type 2 宿主型 |
| 常见实现 | KVM、VMware ESXi、Xen、Hyper-V,以及 VirtualBox、VMware Workstation 等宿主型产品 |
| 性能关键 | 硬件辅助虚拟化与半虚拟化驱动,其次是 CPU 特性透传策略 |
| 隔离边界 | 虚机之间由 hypervisor 隔离,同宿主的资源竞争通过调度控制 |
Type 1 与 Type 2 的差别
| 维度 | Type 1 裸金属型 | Type 2 宿主型 |
|---|---|---|
| 运行位置 | 直接运行在硬件之上 | 运行在已有操作系统之上 |
| 典型案例 | ESXi、Xen、Hyper-V、KVM 形态的宿主 | VirtualBox、VMware Workstation |
| 性能与开销 | 开销更低,适合长期生产负载 | 额外一层系统开销,适合桌面与实验 |
| 管理方式 | 集中管理平台与命令行工具 | 本机图形界面为主 |
在 Linux 上确认虚拟化就绪
在 Linux 上确认虚拟化就绪
grep -Eoc 'vmx|svm' /proc/cpuinfo # CPU 是否支持硬件虚拟化
grep -E '^flags' /proc/cpuinfo | grep -m1 -Eo 'vmx|svm' # 确认具体标志
lsmod | grep -E '^kvm' # 内核虚拟化模块是否加载
[ -e /dev/kvm ] && echo kvm-ready # 用户态接口是否就绪
systemd-detect-virt # 当前系统是否运行在虚拟化环境中典型使用场景
- 资源池化:把一台物理机拆成多台隔离虚机,提高硬件利用率
- 环境隔离:不同项目与不同安全等级的负载分置在不同虚机中
- 快速交付:用模板与镜像实现分钟级环境创建
- 跨平台迁移:把整台虚机搬到另一台宿主或另一个集群
KVM 以内核模块形式实现,只提供 CPU 与内存虚拟化,设备模拟由 QEMU 负责,因此常合称 QEMU/KVM;而 ESXi 与 Hyper-V 是自带设备模型与管理平面的完整产品。排障时先确认问题出在虚拟化层还是设备模型层。