云计算技术是当今IT领域最炙手可热的话题之一,为企业实现数字化转型提供了无限的可能性。作为云计算的基石,虚拟化技术在计算、网络、存储等方面发挥着关键作用。本文针对主流的虚拟化技术进行简单介绍。
虚拟化技术简介
在一台物理服务器上,可以通过虚拟化技术同时运行多个独立的“虚拟服务器”,这些被称为虚拟机(VM,Virtual Machine)。它们共享物理服务器的计算资源(如CPU、内存)、硬件设备和网络接口等。
通常情况下,物理服务器被称为“宿主机(Host)”,而虚拟机则被称为“客户机(Guest)”。实现这种资源共享和隔离的工作是由Hypervisor完成的。Hypervisor也叫做VMM (Virtual Machine Monitor,即虚拟机监视器),它并非指特定软件产品,而是一类软件技术。例如VMware、KVM、Xen以及Virtual Box都属于Hypervisor范畴。
虚拟化架构及类型
1、虚拟化技术可根据部署方式可以分为宿主虚拟化和裸金属虚拟化两种。
(1)宿主虚拟化:
在宿主机(Host)上首先安装一个操作系统,如Windows,并随后安装虚拟化软件Hypervisor,例如Vmware Workstation。然后,在该环境中部署多个虚拟机(VM)。
硬件调用流程:虚拟机内核 -> Hypervisor -> 操作系统 -> 硬件设备。
(2)裸金属虚拟化:
直接在宿主机上安装Hypervisor,这样的Hypervisor本身就是一个操作系统,例如VMware ESXI。然后,在该环境中部署多个独立的虚拟机(VM)。
硬件调用流程:虚拟机内核-> Hypervisor-> 硬件设备。
优缺点对比:
2、虚拟化按照技术架构可以分为三种类型:全虚拟化、半虚拟化和硬件辅助虚拟化。
(1)全虚拟化:
在全虚拟化中,使用Hypervisor作为虚拟机管理器(VMM),统一调度客户操作系统(vm)与底层硬件之间的交互。Hypervisor会捕获并处理与虚拟技术相关的特权指令,使得客户操作系统无需进行修改即可运行。然而,由于额外的处理开销,性能通常低于物理机。常见的产品包含Vmware Workstation、KVM以及Oracle Virtual Box等。
(2)半虚拟化技术通过修改客户操作系统的代码,将原本在物理机上执行的一些特权指令改为与虚拟机管理器(VMM)直接交互的方式,实现了操作系统的定制化。半虚拟化技术能够达到接近物理机性能的水平。然而,其支持的客户操作系统有限,并且用户体验相对较差。常见产品包括Xen和Hyper-V。
(3)硬件辅助虚拟化类似于全虚拟化技术,但是利用硬件来处理全虚拟化中Hypervisor所需进行转译指令工作,在很大程度上提高了处理性能。这种方法是对全虚拟化技术和半虚拟化技术的一种优化方案。
上文提到特权指令和非特权指令,具体解释如下:
特权指令(Privileged Instructions):特权指令是只有特定特权级别的程序(例如操作系统内核)才能执行的指令。这些指令通常用于执行对底层系统资源和状态的操作,如访问硬件设备、修改内存管理和权限控制等。在x86体系结构中,特权指令运行在ring0。
非特权指令(Non-privileged Instructions):非特权指令是可以由任何权限级别的程序执行的指令。这些指令通常用于一般的应用程序和用户级别代码。非特权指令提供了一组基本的操作和计算功能,但没有直接访问和控制系统底层资源的能力。在x86体系结构中,非特权指令运行在ring3。
主流虚拟化技术
主流的技术框架有Xen、KVM、微软的Hyper-V及VMware的ESXi等。
(1)Xen技术
Xen是由剑桥大学计算机实验室开发的一个开源项目,是一个开源的可直接运行于硬件层之上的虚拟化软件,Xen同时支持半虚拟化(Para virtualization)和完全虚拟化(Hardware VirtualMachine)。
Xen虚拟环境核心组件如下:
Xen Hypervisor:Xen Hypervisor是Xen虚拟化架构的核心组件,负责管理和控制虚拟机的创建、运行和销毁。
Domain 0:Domain 0 是 Xen 虚拟环境中的特殊虚拟机,也称为特权域(privileged domain)。是唯一一个直接与 Xen Hypervisor 交互的虚拟机,负责管理整个虚拟环境,包括创建和管理其他虚拟机(Domain U),配置物理设备,以及与 Xen Hypervisor 进行通信和控制。
Domain Management and Control(Xen DM&C):Xen DM&C 是一个管理和控制工具,用于管理 Xen 虚拟环境中的各个虚拟机, 可以与 Domain 0 进行通信,通过 Xen Hypervisor 对虚拟机进行管理和控制。
Domain U(Dom U)PV Guest:Domain U 是 Xen 虚拟环境中的普通虚拟机,也称为非特权域(unprivileged domain)。Domain U PV Guest 是基于半虚拟化的虚拟机,其中的操作系统已经修改以便与 Xen Hypervisor 进行通信和协作。
Domain U(Dom U)HVM Guest:Domain U HVM Guest 是基于硬件辅助虚拟化(Hardware-assisted Virtualization)的虚拟机,可以直接运行未经修改的操作系统,利用硬件虚拟化扩展(如 Intel VT 或 AMD-V)来提供虚拟化支持。
(2)KVM技术
KVM(Kernel-based Virtual Machine)是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM已成为学术界的主流VMM之一,目前市面上多数服务器虚拟化产品都是基于KVM进行商业化修改使用。
KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。
图5 KVM虚拟化架构示意图
KVM体系核心组件主要包含两部分:KVM驱动和QEMU。
KVM驱动:其主要负责虚拟机的创建,虚拟内存的分配,vCPU寄存器的读写以及vCPU的运行。
QEMU:用于模拟虚拟机的用户空间组件,提供I/O设备模型,访问外设的途径。
(3)Hyper-V技术
Hyper-V属于闭源商业软件。微软从Windows 8/Windows Server 2008开始,用它取代原来的Virtual PC,成为Server OS版本自带的平台虚拟化软件。Hyper-V在架构上与Xen类似,也是裸金属虚拟化。
图6 Hyper-V虚拟化架构示意图
核心组件如下:
Parent Partition:类似于Xen架构中的Dom0,负责管理硬件资源的权限;
Child Partion:类似于Xen架构中的普通客户机DomU。对Hypervisor的请求以及对客户机的管理都要通过Parent Partition,硬件的驱动也由Parent Partition来完成。
(4)VMware ESXi技术
VMware成立于1998年,是最早专注于虚拟化商业软件(并成功)的公司。从十几年前虚拟化软件兴起开始,就是这个市场的霸主。VMware最初是由一对夫妇等几人创立的,2003年被EMC收购,2015年,EMC又被Dell收购,2023年7月12日,又被美国芯片制造商博通公司(Broadcom)以610亿美元收购。
核心组件如下:
vSphere Client:客户端请求获取资源,登陆管理;
vCenter Server:管理网络中连接的多个主机,并将主机资源池化;
ESXi(hypervisor):创建和管理虚拟设备,划分资源;其中(vSan:将集群主机上的物理磁盘虚拟成一个统一的存储集群主机提供服务;NSX:提供虚拟网络功能。)
以上四种主流技术对比总结如下:
总述
虚拟化技术的发展经历了多个阶段,从早期的软件模拟到虚拟化层翻译和硬件辅助虚拟,其技术的发展为计算资源的管理和利用带来了巨大的变革,提高了资源利用率和灵活性,为云计算和数据中心提供了强大的基础支持。
其中Xen架构在早期作为主流架构服务了众多的用户,但是由于其半虚拟化中操作系统的高度定制化及配置复杂性逐步被其它技术取代;
VMware作为虚拟化领域的领导者,曾覆盖全球大部分市场,近些年由于国际政治因素,逐渐退出中国市场;
Hyper-V因其集成在Windows系统中而被广泛知晓,但是国内使用较少;
KVM基于开源,具有免费和高度可定制的优势,得到了众多开发者和社区的支持,目前已成为国内使用最广泛的虚拟化技术。
威努特超融合系统,基于KVM高度定制,通过对多品牌芯片的服务器进行虚拟化(硬件兼容性极强),面向最终用户呈现标准的虚拟机,支持在不影响虚拟机业务正常运行的前提下,实现整个系统(包括虚拟硬件、操作系统和配置完毕的应用程序)在相同架构、不同服务器节点之间的快速、便捷迁移。通过故障疏散、FT容错等功能实现业务应用的高可用。
同时威努特超融合系统支持管理Vmware虚拟化(包括虚拟机资源管理和动态互迁),为Vmware存量升级改造用户提供更加便捷的支持,方便用户快速完成数字化转型的第一步。
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。