VMkernel 是直接在 ESXi 主机上运行的高性能操作系统。VMkernel 管理硬件上大部分物理资源,包括内存、物理处理器、存储器和网络控制器。

要管理存储器,VMkernel 必须具有一个存储子系统,该子系统支持多个主机总线适配器 (HBA),包括并行 SCSI、SAS、光纤通道、FCoE 和 iSCSI。这些 HBA 连接各种经过认证可与 VMkernel 一起使用的主动-主动、主动-被动和 ALUA 存储阵列。请参见vSphere 兼容性指南以获得支持的 HBA 和存储阵列的列表。

VMkernel 使用的主文件系统是 VMware 虚拟机文件系统 (VMFS)。VMFS 是为支持虚拟磁盘和交换文件等大型文件而设计和优化的群集文件系统。VMkernel 还支持 NFS 文件系统上的虚拟磁盘存储。

存储 I/O 路径通过设备模拟为虚拟机提供访问存储设备的权限。通过此设备模拟,虚拟机可以将 VMFS 或 NFS 文件系统上的文件作为 SCSI 设备进行访问。VMkernel 提供了存储器虚拟化功能,如调度来自多个虚拟机的 I/O 请求和多路径功能。

此外,VMkernel 还提供多个 Storage API,使存储合作伙伴能够集成和优化其 vSphere 产品。

下图说明了 VMkernel 核心的基础,特别是存储堆栈。与存储器相关的模块驻留在逻辑设备 I/O 调度层和适配器 I/O 调度层之间。

图 1. VMkernel 和存储器
本图说明了 VMkernel 核心的基础,特别是存储堆栈。