ESXi内核是什么?ESXi是Linux内核吗?

ESXi内核是什么?ESXi是Linux内核吗?

VMware的ESXi是一个备受关注的产品。许多人常常混淆ESXi与Linux内核之间的关系。

最常问到的问题是:

ESXi的内核其实就是Linux吗?

先说结论:曾经是,现在不是。

  1. 古老版本的ESX内核的确是用Linux内核(注意这个ESX没有i)。
  2. 转向新的ESXi后,Linux内核的依赖关系已经不存在。
  3. ESXi有自己的内核,称为vmkernel。

在这篇博文中,我们将深入探讨ESXi的架构及其与Linux内核的关系。一起来了解下ESXi的内核的历史。


ESXi的架构和内核的历史

ESXi是一种裸机(bare metal)虚拟化解决方案,它直接运行在硬件之上,而无需依赖操作系统,这一点与其他VMware产品有所不同。ESXi包含自己的内核,称为vmkernel。值得注意的是,在早期的VMware ESX版本中,Linux内核首先被启动,然后用于加载各种专用的虚拟化组件,包括vmkernel组件。可以说,当时的Linux内核是主要的虚拟机,由服务控制台调用。在正常运行时,vmkernel直接运行在物理计算机上,而基于Linux的服务控制台作为第一个虚拟机运行。

然而,自从VMware在4.1版本后停止开发ESX并转向ESXi后,ESXi中完全不再包含Linux内核。这个变革就意味着ESXi完全依赖于vmkernel来进行虚拟化管理,而不再需要Linux内核的支持。

截取来自VMworld 2017的ESXi架构图

vmkernel的角色

vmkernel是一个微内核,它提供了三个主要接口:硬件接口、客户系统接口和服务控制台(Console OS)接口。

硬件接口

vmkernel直接处理CPU和内存,使用扫描前执行(SBE)技术来处理特殊或特权的CPU指令,并利用系统资源分配表(SRAT)来跟踪已分配的内存。

模块访问

对于其他硬件(如网络或存储设备)的访问,则通过模块进行处理。这些模块中至少有一些是从Linux内核模块派生而来的。为了访问这些模块,vmkernel包含一个名为vmklinux的附加模块,它实现了Linux模块接口。根据README文件的说明,“这个模块包含vmkernel使用的Linux仿真层”。

ESXi内核VMkernel的示意图,可以看到像hostd,vpxd等关键模块

总结:ESXi不是用Linux内核,ESXi的内核是vmkernel

虽然早期的VMware ESX依赖于Linux内核作为其服务控制台,但自从转向ESXi后,这种依赖关系已经不存在。ESXi的vmkernel独立于Linux内核运行,直接管理硬件资源,并通过专用的模块处理硬件访问。

目前的ESXi来说,尽管某些模块借鉴了Linux内核模块的设计,但这并不意味着ESXi本身包含或依赖于Linux内核。所以说,ESXi是一种独立的、专用的虚拟化解决方案,与Linux内核有着清晰的分界。

图书推介 - 京东自营

24小时热门

还有更多VMware问题?

免费试下我们的VMware技术助理(已接Deepseek)!即时解答VM难题 → 🤖VM技术助理


########

扫码加入VM资源共享交流微信群(请备注加群

需要协助?或者只是想技术交流一下,直接联系我们!

推荐更多

如何在Broadcom网站查找IO驱动程序
VMware快速入门

如何在Broadcom网站查找IO驱动程序

自 2024 年 5 月 6 日起,Broadcom 支持门户已取代 VMware Customer Connect 作为 vSphere 及 IO 驱动的下载平台。本文详细介绍如何在 Broadcom 兼容性指南(BCG)中查找设备对应的驱动,并通过 Broadcom 支持网站下载所需的 ESXi 驱动程序。通过本指南,您可以高效获取适用于 ESXi 6.x/7.x/8.x 的 IO 驱动,确保系统兼容性与稳定性。

如何查询和下载VMware的VCP(VMware Certified Professional)等个人技能认证证书
VMware快速入门

如何查询和下载VMware的VCP(VMware Certified Professional)等个人技能认证证书

VMware VCP(VMware Certified Professional)认证证书可通过Certmetrics平台查询和下载。本指南详细介绍了使用博通账户登录、查找证书状态并下载电子版证书的完整流程。无论是想获取VMware个人技能认证,还是遇到证书下载问题,这篇教程都能提供清晰的操作步骤,帮助顺利完成认证管理。

vMotion失败 - 迁移启动失败:必要的模块未加载
疑难杂症

vMotion失败 – 迁移启动失败:必要的模块未加载

在使用 vMotion 迁移虚拟机时,可能会遇到错误:“Failed to start migration: Necessary module isn’t loaded.” 该错误通常是由于 ESXi 主机上的 migrate 模块未正确加载或启用所致。通过 SSH 登录 ESXi,使用 esxcli system module list | grep migrate 命令检查模块状态,并根据需要加载或启用 migrate 模块即可解决问题。本文详细介绍了该错误的原因、解决步骤及注意事项,帮助您快速恢复 vMotion 迁移功能。

如何以SSH的方式访问VMware vCenter Server Appliance的命令行
运维必备

如何以SSH的方式访问VMware vCenter Server Appliance的命令行

本文介绍了如何在 VMware vCenter Server Appliance(VCSA)上启用 SSH,并使用 SSH 客户端远程访问 vCenter 的命令行。文章涵盖了两种开启 SSH 的方法:通过虚拟机控制台(DCUI)和 vCenter 管理界面(VAMI)。同时,详细讲解了 SSH 连接 vCenter 的步骤,帮助管理员高效管理 vCenter Server。

//madurird.com/4/9119499