ESX是VMware的企业级虚拟化产品,2001年开始发布ESX 1.0,到2011年2月发布ESX 4.1 Update 1。
ESX
服务器启动时,首先启动Linux Kernel,通过这个操作系统加载虚拟化组件,最重要的是ESX的Hypervisor组件,而该Linux Kernel作为VMkernel的首个虚拟机,用于承载ESX的serviceConsole,实现本地的一些管理功能。
虚拟机对于CPU和内存资源是通过VMkernel直接访问,最大程度地减少了开销,CPU的直接访问得益于CPU硬件辅助虚拟化,内存的直接访问得益于MMU硬件辅助虚拟化。
虚拟机对于I/O设备的访问则有多种方式,网卡为例,有两种方式可供选择:一是利用I/O MMU硬件辅助虚拟化的VMDirectPath I/O,使得虚拟机可以直接访问硬件设备,从而减少对CPU的开销;二是利用半虚拟化的设备VMXNETx,网卡的物理驱动在VMkernel中,在虚拟机中装载网卡的虚拟驱动,通过这二者的配对来访问网卡,与仿真式网卡相比有着较高的效率。半虚拟化设备的安装是由虚拟机中VMware tool来实现的,可以在Windows虚拟机的右下角找到它。网卡的这两种方式,前者有着显著的先进性,但后者用得更为普遍,因为VMDirectPath I/O与VMware虚拟化的一些核心功能不兼容,如:热迁移、快照、容错、内存过量使用等。
ESX的物理驱动是内置在Hypervisor中,所有设备驱动均是由VMware预植入的。因此,ESX对硬件有严格的兼容性列表,不在列表中的硬件,ESX将拒绝在其上面安装。