服务器虚拟化技术综述
当前,虚拟化技术的优势已经得到了业界的普遍认可,虚拟化技术所具备的提高资源利用率和节能环保的特性也得到了越来越多高性能计算机用户的青睐,虚拟化技术的普及和推广成为信息化技术发展的必然趋势。
主要是三个方面的因素使虚拟化技术迅速走向成熟。首先,信息化产业的快速发展使得服务器硬件技术有了巨大进步;其次,高端服务器所承载的软件应用环境已经逐步发展成熟;第三,也是最重要的一点,由于服务器技术的快速发展以及信息化产业发展对于数据中心的规模要求越来越高,导致数据中心面临着越来越严重的发展瓶颈,而虚拟化由于具有提高资源利用率以及节能环保、可进行大规模数据整合等特点,而成为信息化技术发展的又一项具有战略意义的新技术。
一、基本概念
当我们尝试着理解虚拟技术时,首先必须要理解虚拟的概念。虚拟这个词最早来源于光学,用于理解镜子里的物体。现在,虚拟这个词已经经过演化,用来描述任何真实物体的模
拟了,例如分区、虚拟机、虚拟内存、虚拟磁盘和虚拟现实。在讨论虚拟技术的时候,使用虚拟这个词,是因为我们希望虚拟机看起来和工作起来都和真正的机器一模一样。这意味着,虚拟机并不是真正的机器,但是它能像真正的机器一模一样地工作。
将这个概念应用到计算机系统中可以让不同用户看到不同的单个系统(例如,一台计算机可以同时运行server系统和普通系统的区别Linux Microsoft Windows)。这通常称为全虚拟化(full virtualization)。
虚拟化也可以使用更加复杂的格式,其中单个计算机看上去具有多个架构(对于一个用户来说,它是一个标准的 x86 平台;对于另外一个用户来说,它是 IBM Power PC平台)。这种虚拟化形式通常被称为硬件仿真。
最后,更加简单的一种虚拟化是操作系统虚拟化,其中一台计算机可以运行相同类型的多个操作系统。这种虚拟化可以将一个操作系统的多个服务器隔离开来(这意味着全都必须使用相同类型和版本的操作系统)。
实际上,从原理上看,所有虚拟技术虚拟的是指令集。所有的IT设备,不管是PC、服务器还是存储,都有一个共同点:它们被设计用来完成一组特定的指令。这些指令组成一个指令集。
对于虚拟技术而言,虚拟实际上就是指的这些指令集。虚拟机有许多不同的类型,但是它们有一个共同的主题就是模拟一个指令集的概念。每个虚拟机都有一个用户可以访问的指令集。虚拟机把这些虚拟指令映射到计算机的实际指令集。
目前所能看到的硬分区、软分区、逻辑分区、Solaris ContainerVMwareXen、微软Virtual Server2005等这些虚拟技术,都是同样的技术原理,只是虚拟指令集所处的位置不同而已。
二、虚拟技术分类
按照虚拟层所处位置的不同,目前所有的虚拟技术大致可以分为硬件虚拟、逻辑虚拟、软件虚拟和应用虚拟四种类型。
逻辑虚拟模式
最早的虚拟模式当然是源自IBM大型主机的逻辑分区技术,这种技术的主要特点是,在IBM的大型主机中,每一个虚拟机都是一台真正机器的完整拷贝,只是内存少了点。根据这一概念,一个功能强大的大型主机可以被分割成许多虚拟机。这些虚拟机仅比原来的主机少一点
内存资源而已。这一虚拟模式后来被业界广泛借鉴,包括HP vPARVMware ESX ServerXen在内的虚拟技术都是这样的工作原理。
在逻辑虚拟模型中,虚拟机操作系统是整个IBM虚拟机体系结构的大脑,包括操作系统和硬件在内的整个系统被称作虚拟机系统(VM System)。每个虚拟机系统都被一个叫做控制程序的程序控制。控制程序除了管理实际的物理硬件,还要为每个系统用户创建一个虚拟机,这种虚拟机是System /370System /390系统的全真模拟。IBM虚拟机概念的重点在于:每个用户都可以在他们的虚拟机上运行程序、存储数据,甚至虚拟机崩溃也不会影响系统本身和其他的系统用户。所以,IBM虚拟机模型不仅允许资源共享,而且实现了系统资源的保护。在大型主机上,用户可以选择Basic Mode(基本模式)、Logical Partition(逻辑分区方式)和z/VMZ虚拟机方式)三种模式来配置系统。
在上述模型中,虚拟控制程序以固件形式直接运行在主机硬件层之上,位于操作系统之下,是虚拟机系统中最重要的一部分。控制程序要管理系统硬件,包括启动和关机在内的系统支持任务,以及请求的排队和执行。同时控制程序还要管理每个虚拟机的编程特征和每个虚拟机的建立和维护。
IBM2001年把大型主机上的VM System向下迁移到p系列和i系列上时,将虚拟控制程序称之为“Hypervisor”,并先后实现了逻辑分区与动态逻辑分区。
由于IBM p系列的设计思想是共享式的,即所有CPU可以同等地看到所有的内存和I/O的连接方式,即一种为数据/指令流提供足够的高速通路的体系结构。在p系列上,Hypervisor能看到所有的真实资源(CPU、内存和I/O卡),并且通过一个控制台(HMC)来管理逻辑分区。通过HMC将上述提到的资源定义到不同的逻辑分区中去,每个逻辑分区所需的最小资源是1/10CPU(在20048月发布的AIX 5L v5.3上实现了1/10CPU级别的分区粒度,以及1/100CPU的微调量)、1GB内存和一个PCI插槽。
而且IBM有意将逻辑分区技术进一步下移。2005年第四季度,IBM发布了虚拟I/O服务器,其目的就是让没有配置HMC12路低端p系列和i系列用户,可以通过虚拟I/O的一个组件IVMIBM Virtual Machine),实现简化后的HMC控制台功能。
IBM将在2006年内宣布一项突破性的虚拟技术,届时,IBM的虚拟层管理工具将能对本地服务器的所有计算资源进行虚拟类似于Grid的概念,但要点在于用户可以从全局角度出发,对计算资源和业务系统进行精确的配置。
硬件虚拟模式
硬件虚拟技术是随着Unix服务器的发展而出现的。实际上,在Unix服务器上,不少厂商和用户习惯于将电气级的虚拟技术称为硬分区(或物理分区),而把通过软件或固件实现的逻辑分区技术则称之为软分区。但无论如何称呼,实际上逻辑虚拟模式和硬件虚拟模式的共同点
是与应用所在的操作系统无关,只与系统硬件相关。
那么,它们之间的区别在哪里?先看看硬件虚拟模式。HPSun等厂商在Unix服务器上采用的是MBBModular Building Block)架构。MBB由多个BBBuilding Block)构成,Sun称之为BoardHP称之为Cell。每个BB可包含4CPU、若干内存和I/O卡。不同BB内的CPU可以有不同的时钟频率。所有的BB通过一种称为Crossbar Switch的交换机制连接在一起。采用MBB技术可以比较容易地设计出拥有更多数量CPU的服务器。在这种服务器上既可以运行一个操作系统,也可以在一个或多个BB上运行多个操作系统。这就是服务器的硬分区。
基于MBB技术的服务器是由多个BB构成的,所以具有物理分区的特性:即可以热插拔CPU板和内存板。这是因为每一个BB是物理分开的,每个4CPU板可以单独从系统中隔离出来并将其下电。
再来看逻辑虚拟模式。IBM没有采用MBB的设计结构,所以在p系列服务器上不支持硬分区。由于IBM没用采用Crossbar Switch技术做CPU之间的连接,它不允许不同主频的CPU共存在同一台机器内。而MBB结构的服务器则允许这样做,但要求Crossbar Switch工作在相同的带宽上(MBB之间的连接带宽恒定)。
比较而言,硬件虚拟模式的优点无疑是100%的隔离度和安全性,不占用任何系统资源。缺点是操作相对复杂,最小操作粒度是1CPU,而且在进行分区资源变更的时候,移出CPU的分区需要重启操作系统。
逻辑虚拟模式的优点是配置灵活,操作相对简单而且分区粒度可达1/20CPU,资源变更时无需重启系统,甚至无需重启应用。但相对硬件虚拟模式而言,逻辑虚拟模式会占用一定比例的系统资源。目前大型主机的虚拟效率一般在95%以上,虚拟化损耗大约为2%~3%AIXHP-UX上的虚拟效率在90%以上,虚拟化损耗约为5%;而x86架构上的虚拟效率则在80%左右,虚拟化损耗大约为20%

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。