提到数据中心里的虚拟化技术,当属服务器的虚拟化最为久远。服务器虚拟化技术是将传统的物理主机通过虚拟化软件,将物理主机的CPU、内存和硬盘存储空间整合成统一的逻辑资源池,再从逻辑资源池中创建几个几十甚至几百个虚拟服务器为应用提供服务,从而提高资源利用率,简化服务器管理。随着云计算技术的应用,服务器虚拟化得到了极大普及,虚拟化已经成为数据中心必备技术之一。实际上,虚拟化技术包含广泛,仅是服务器的虚拟化就已经发展出了很多分支。当然,不管这些技术如何发展,目的都是一样,就是尽可能地提升数据中心应用部署、运维、故障恢复的效率。本文就来详细说一说服务器的虚拟化技术,以便使大家从整体上对服务器虚拟化技术有个了解。服务器虚拟化可以分为三大类:非硬件辅助虚拟化、硬件辅助虚拟化、硬件分区虚拟化。
非硬件辅助虚拟化
这种虚拟化技术将虚拟机系统和底下的物理硬件彻底解耦,虚拟机系统没有意识到它是被虚拟化的。这种虚拟化技术不需要硬件辅助或操作系统来辅助,为虚拟机提供最佳的隔离和安全性,使移植变得简单。这类虚拟化主要有基于容器的虚拟化,这种虚拟机无操作系统,共享操作系统,例如OPEN VZ,OPEN VZ是基于Linux平台的操作系统级服务器虚拟化解决方案,允许物理服务器运行多个操作系统;基于主机的虚拟化,这种虚拟机有独立的操作系统,也叫虚拟主机。典型代表是VMware 服务器和VMware工作站,虚拟主机的一个实例支持多个虚拟操作系统实例,同一个主机操作系统的内核在进程级别处理虚拟服务器的I/O和调度需求;准虚拟化技术,这类虚拟化技术有独立操作系统,以完全仿真的方式进行,CPU必须要特别将虚拟化技术加入到CPU核心中,对CPU有特殊需求,需要修改内核的代码。典型代表是XEN、KVM技术,XEN既可以是非硬件辅助虚拟化,也可以实现硬件辅助虚拟化。XEN少于15万行的代码量,不包含任何物理设备驱动,可以重用现有的Linux设备驱动程序,XEN对硬件兼容性非常广泛,只要是Linux支持的,XEN都可以支持;完全虚拟化技术。这种技术有独立的操作系统,不做任何修改,虚拟机的操作系统代码仿真执行。典型代表是VMware ESX。VMware ESX是VMware的企业级虚拟化产品,2001年就发布了ESX 1.0。ESX服务器启动时,首先移动Linux Kernel,通过这个操作系统加载虚拟化组件VMkernel,VMkernel会完全接管对硬件的控制权,实现本地的一些管理功能。
硬件辅助虚拟化
硬件厂商面对虚拟化都相当热情,他们都投入了大量的精力来开发新的特性来简化虚拟化技术的应用。硬件辅助虚拟化技术囊括了计算机体系架构中CPU、内存、网络和I/O的虚拟化,并且还在一直发展当中,内存和I/O虚拟化都有了成熟的规范。硬件辅助虚拟化直接在硬件上提供虚拟化能力,简化软件的实现。典型代表是Intel的VT-x/VT-I,AMD的AMD-V/AMD-Vc,这两种都是CPU虚拟化技术,还有I/O虚拟化的VT-d,AMD-VI,网络虚拟化的VT-c,所有这些都属于半虚拟化技术。半虚拟化技术虚拟化了物理硬件,为虚拟机呈现一系列标准的虚拟设备,这些虚拟设备有效地模拟了所熟知的CPU、内存等部件,并将虚拟机的请求翻译成对系统物理硬件的请求。设备驱动的标准化也帮助了虚拟机的标准化并增加在不同平台间的可移植性,因为所有虚拟机都配置运行在虚拟硬件上,跟底下真实的系统物理硬件无关。
硬件分区虚拟化
硬件分区虚拟化分为物理分区和逻辑分区两部分。物理分区是LVM最小的磁盘空间分配单元,物理分区是物理卷上的大小相同的磁盘空间。物理分区构成逻辑分区,逻辑卷是一个卷组内多个逻辑分区的集合。硬件分区虚拟化主要用于大型机,硬件资源直接做物理或逻辑分区,每个分区运行各自的操作系统。典型代表是IBM system z LPar和HP nPartitions。IBM的system z在1964年诞生距今已经超过50年,经过这些年system z也在不断进步和发展,到了2014年,已经发展成为System z云。HP的nPartitions也是硬件分区主流技术,npartitions可以实现多个节点的硬分区(每个节点可配置不同的操作系统),一个节点的硬分区(可配置多个操作系统),一个硬分区内的虚拟分区。硬件分区可支持更为细化的工作负载合并和软件隔离,支持系统管理员对分区资源进行智能化调配,目的在于保证关键任务运行。
经过以上的介绍,可以看到虚拟化的技术种类比较多,但基本都是从与硬件的关联程度来区分的。其中非硬件辅助虚拟化是软件厂商提出来的,希望虚拟化能尽量脱离硬件,与硬件松耦合,而硬件分区虚拟化完全是硬件厂商基于硬件特点提出来的,结合硬件处理效率高的优势,也占据重要地位,硬件辅助虚拟化则介于两者之间,既与硬件有一定关联,但又不是全部。造成这样的结果主要是来自软件和硬件两大阵营的竞争,硬件厂商统治了数据中心数十载,如今终于轮到了软件厂商,软件厂商希望借助虚拟化技术迅速占尽优势,一举改变软件在数据中心里的地位,硬件厂商自然不甘示弱,一方面强调硬件的重要性,另一方面也基于硬件开发出来一些虚拟化技术,希望保持住原有的优势地位。这样的竞争局面持续了几年,现在还看不到哪方面的技术有绝对优势,在数据中心市场里也势均力敌,这也让数据中心市场里的服务器虚拟化竞争十分好看,未来十年究竟是硬件厂商继续主宰,还是该轮到了软件厂商,就看谁的虚拟化技术玩得好,让我们拭目以待吧。
====================================分割线================================
本文转自d1net(转载)