Hypervisor
说到虚拟机和容器的区别Hypervisor虚拟机监视器/管理程序就是虚拟技术里的绝对主角。如果说容器是靠内核“演戏”来搞隔离那么虚拟机能“凭空造物”全靠 Hypervisor 在底层当“硬核魔术师”。1. 什么是 Hypervisor大白话定义Hypervisor 是一层软件、固件或硬件。它的核心任务只有两个向下牢牢控制住物理服务器的真实硬件CPU、内存、硬盘、网卡。向上凭空虚拟出多套“假硬件”并分配给不同的虚拟机VM让每个虚拟机都以为自己独占了一台真实的电脑。在虚拟机的世界里Hypervisor 就是最高主宰。操作系统比如 Windows、Ubuntu在虚拟机里发出的所有底层硬件指令都必须经过 Hypervisor 的翻译和拦截才能传给真正的物理芯片。2. Hypervisor 的两大门派根据 Hypervisor 安装在什么地方它被分为两大类Type-1裸金属型和Type-2宿主型。Type-1裸金属型Bare-metal—— 霸道总裁这种 Hypervisor直接安装在裸机硬件上它自己就是操作系统或者紧密贴合硬件。工作原理物理机开机第一眼看到的就是 Hypervisor。它直接接管 CPU 和内存然后在它上面划片建虚拟机。特点效率极高极其稳定。因为没有中间商赚差价虚拟机直接通过 Hypervisor 访问硬件。常见产品VMware ESXi、微软 Hyper-V、Linux 阵营的 KVM。应用场景阿里云、腾讯云、AWS 等云厂商的机房或者企业自己的大型数据中心。Type-2宿主型Hosted—— 寄生虫这种 Hypervisor必须安装在现有的操作系统Host OS之上就像你装一个微信或游戏一样。工作原理你的电脑开机先启动 Windows 11。然后你打开这个虚拟机软件在软件里再启动一个 Ubuntu。Ubuntu 想用一下 CPU得先求 HypervisorHypervisor 再去求 Windows 11Windows 11 最后才调动硬件。特点损耗大性能低。中间商太多了套娃严重。但优点是安装极其方便不影响你日常用电脑。常见产品VMware Workstation、VirtualBox、Mac 上的 Parallels Desktop。应用场景程序员在自己的笔记本上搭个测试环境或者在 Mac 上顺便跑个 Windows 玩游戏。3. 回到刚才的问题为什么容器不要它有了 Hypervisor 的对比你就能更深刻地理解为什么容器“轻”了虚拟机物理硬件→\rightarrow→Hypervisor→\rightarrow→客户机操作系统Guest OS→\rightarrow→你的 App。容器物理硬件→\rightarrow→宿主机操作系统Host OS→\rightarrow→你的 App加了 Namespace 墨镜。容器直接把 Hypervisor 这一层给无情地干掉了同时也干掉了虚拟机里那个厚重的 Guest OS。这就好比虚拟机必须通过“虚拟外交官”Hypervisor才能跟硬件说话而容器直接在本地跟内核套近乎速度和资源消耗自然完全不是一个量级。