虚拟化综述一.虚拟化技术概念1.指在计算机上模拟运行多个操作系统平台,更多时候强调的是虚拟计算资源。2.虚拟化就是把实体资源转变为逻辑上可以管理的资源,以打破实体结构间的壁垒。就其本质而言属于一种资源管理技术。二.虚拟技术分类按照应用领域来划分:服务器虚拟化、存储虚拟化、平台虚拟化、桌面虚拟化、网络虚拟化、CPU虚拟化、文件虚拟化等。1.服务器虚拟化:应用了硬件虚拟化和操作系统虚拟化技术,在一台服务器运行安装多个操作系统,并且可以同时运行,就相当于多台服务器同时运行了,利用率大大提高。1.1操作系统级虚拟化:在操作系统层面增添虚拟服务器功能。1.2半虚拟化:改动客户操作系统,让它以为自己运行在虚拟环境下,能够与hypervisor协同工作。1.3全虚拟化:使用hypervisor在VM和底层硬件之间建立一个抽象层,hypervisor捕获CPU指令,为指令访问硬件控制器和外设充当中介。2.存储虚拟化:将企业信息化基础设施中的所有存储资源整合为一个大的存储系统,通过统一存储数据和管理存储空间对外以透明的方式提供存储服务,根据应用系统对存储速率和访问要求的不同,提供不同的存取方式。2.1对称式(带内管理):虚拟存储控制设备与存储软件系统、交换设备集成为一个整体,内嵌在网络数据传输路径中。2.2非对称式(带外管理):虚拟存储控制设备独立于数据传输路径之外。3.平台虚拟化:集成各种开发资源虚拟出的一个面向开发人员的统一接口,软件开发人员可以方便地在这个虚拟平台中开发各种应用并嵌入到云计算系统中,使其成为新的云服务供用户使用。4.桌面虚拟化:在服务器上部署好桌面环境,传输到客户端电脑上,而客户端只采用瘦客户机的应用模式,即只安装操作系统,接受服务器传输来的虚拟桌面,用户看到的就像本地真实环境一样,所有的使用其实是对服务器上的桌面进行操作。5.CPU虚拟化:对硬件虚拟化方案的优化和加强。以前是用虚拟化软件把一个CPU虚拟成多个CPU,而CPU虚拟化直接从硬件层面实现。无论任何时间一个物理CPU只能运行一个虚拟CPU的指令。而多个虚拟机同时提供服务将会大大提高物理CPU的利用率,这样大大提高的性能。6.内存虚拟化:统一管理物理内存,将其包装成多个虚拟的物理内存分别供给若干个虚拟机使用,使得每个虚拟机拥有各自独立的内存空间,互不干扰。6.1基于软件的内存虚拟化:影子页表法6.2硬件辅助虚拟化VT-x6.3类虚拟化:页表写入法7.网络虚拟化,一般是指VPN,它将两个异地的局域网,虚拟成一个局域网,这样一些企业的OA、B/S软件,就可以像真实局域网一样进行电脑互访了。7.1纵向分割:多种应用承载在一张物理网络上,通过网络虚拟化分割(称为纵向分割)功能使得不同企业机构相互隔离,但可在同一网络上访问自身应用,从而实现了将物理网络进行逻辑纵向分割虚拟化为多个网络。7.2横向分割:多个网络节点承载上层应用,基于冗余的网络设计带来复杂性,而将多个网络节点进行整合(称为横向整合),虚拟化成一台逻辑设备,提升数据中心网络可用性、节点性能的同时将极大简化网络架构。8.文件虚拟化,是将分布在多台电脑的文件数据虚拟成一台电脑上的,这样以前找文件要去不同的机器上查找,而现在则像在一台电脑上操作一样。9.应用软件虚拟化,将应用软件从操作系统中分离出来,通过自己压缩后的可执行文件夹来运行,而不必需要任何设备驱动程序或者与用户的文件系统相连,借助于这种技术,用户可以减小应用软件的安全隐患和维护成本,以及进行合理的数据备份与恢复。按照实现层次来划分:硬件虚拟化、操作系统虚拟化、应用程序虚拟化。1.硬件虚拟化:硬件虚拟化就是用软件来虚拟一台标准计算机的硬件配置,如CPU、内存、硬盘、声卡、显卡、光驱等,成为一台虚拟的裸机,继而在上面安装操作系统。为虚拟机分配的硬件资源要占用实际硬件的资源,对性能损耗也较大。因为是在系统里安装虚拟化软件,再在虚拟的计算机上装系统,所以就有原系统和虚拟化软件两层消耗,为了提高性能,出现了另外一种硬件虚拟化形式:直接在裸机上安装虚拟化软件,然后安装多个系统,并同时运行。2.操作系统虚拟化:操作系统虚拟化就是以一个系统为母体,克隆出多个系统。它比硬件虚拟化要灵活方便,因为只需在系统里装一个虚拟化软件,就能以原系统为样本很快克隆出系统,克隆出的系统与原系统除一些ID标识外,其余都一样。3.指令集虚拟化:通过纯软件的方式模拟各种不同硬件的指令集来达到虚拟化的目的,这种方式的优点是可以完全的模拟出所需要虚拟设备的所有特性,这样必然会带来的一个缺点就是性能太差,而且实现复杂。三.虚拟技术发展1.VCE联盟的成立2009年11月9日,思科、EMC、VMware三家共同组成,英特尔公司参股的Acadia公司正式成立,而三家主要合作公司更建立了虚拟计算环境联盟VCE(VirtualComputingEnvironment),当然这个联盟的首字母缩写也是这三个IT巨头的缩写,并推出了其类似于虚拟化架构基础软件包的Vblock基础架构包,其整合了思科的统一计算系统(UCS)的和交换机,EMC存储和安全以及VMware虚拟化技术。Vblock基础架构包是一个完全集成、经过测试和验证的、整装待发和蓄势成长的基础架构包,它融合了思科、EMC和VMware提供的业内最强的虚拟化、网络、计算、存储、安全和管理技术,并且具备端到端的供应商可靠性。通过思科的统一计算系统、EMC的虚拟化数据中心概念机存储系统以及控制着绝大部分X86环境下虚拟化应用的VMware虚拟化产品,将通过Vblock基础架构包——这是“虚拟计算环境联盟”所推出的产品,以整合的概念推广到用户中。这三家虚拟化巨头的结盟,将会给虚拟化产业带来深远的影响。2.云计算时代的虚拟化技术通过提供灵活、自助服务式的IT基础架构,云计算促使信息处理方式发生了革命性的转变。在这场变革中,虚拟化技术发挥了决定性作用。它所带来的独立性、高度整合性和移动性,改变了当前的IT基础架构、流程以及成本。通过消除长期存在于应用层与物理主机之间的障碍,虚拟化使部署更为轻松便捷,工作负载的移动性显著增强。当虚拟化技术推广到互联网时,就是我们所说的云计算了。云计算能给企业带来两大价值:一是企业可以获得应用所需的足够多的计算能力,而且无须对支持这一计算能力的IT基础设施付出相应的原始投资成本,现在很多企业往往都无法负担高额的基础设施投资成本;二是在需要时像购买服务一样购买这种计算能力,按照流量付费即可,用户不用担心计算设备与资源的日常维护开销和闲置成本。现在,很多软件开发企业、服务外包企业、科研单位等都需要拥有处理大数据量的计算能力,因此他们对云计算存在现实而迫切的需求。可以说,云计算改变了企业对计算资源的采购和使用方式,改变了对IT应用建设的模式。3.未来发展趋势虚拟化将从三个方面发展:1)基础架构服务(称为InfrastructureServices),可以将服务器、存储设备和网络无缝聚合为按需使用云资源池,并将其分配给最需要它们的应用程序。2)应用程序服务(称为ApplicationServices),可以充分确保所有应用程序的可用性、安全性和扩展性保持在合适的级别,无论这些应用程序是针对哪些操作系统、开发框架或架构所设计运行。3)云服务(称为CloudServices),可以混合多个内部云和外部云,形成统一的计算力资源池,实现基于计算力的按需使用,按需收费,最终实现云计算。四.虚拟化特征关键特征有:一致性、可控性、高效性,具体表现为:1.分区:虚拟机完全兼容标准的操作系统,以及在这些操作系统之上建立的硬件驱动和应用。①在一个物理系统中可以支持多个应用程序和操作系统②可在扩展或扩张体系结构中将服务器整合到虚拟机中③计算资源被视为以可控方式分配给虚拟机的统一池2.隔离:每一个虚拟机都与同在一个服务器上的其他虚拟机相隔离。①虚拟机与主机和其他虚拟机完全隔离。如果一个虚拟机崩溃,所有其他虚拟机不会受到影响②虚拟机之间不会泄露数据,而且应用程序只能通过配置的网络连接进行通信3.硬件独立:在其他服务器上不加修改的运行虚拟机。4.封装:将整个系统,包括硬件配置、操作系统以及应用等封装在文件里。①完整的虚拟机环境保存为单个文件;便于进行备份、移动和复制②为应用程序提供标准化的虚拟硬件,可保证兼容性五.虚拟化优势1.大大提高资源的利用率为了达到资源的最大利用,虚拟化把一个硬件虚拟成多个硬件,这里的一个硬件指的不是一个个体,而是有多个个体组成的一组资源。用户将许多资源组成一个庞大的、计算能力十分巨大的“巨型计算机”,再将这个巨型计算机虚拟成多个独立的系统,这些系统相互独立,但共享资源,这就是虚拟化的精髓。传统的IT企业为每一项业务应用部署一台单独的服务器,服务器的规模通常是针对峰值配置,服务器规模(处理能力)远远大于服务器的平均负载,服务器在大部分时间处于空闲状态,资源得不到最大利用。虚拟化技术能够动态调用空闲资源,减小服务器规模,提高资源利用率。2.提供相互隔离、安全、高效的应用执行环境用户可以在一台计算机上模拟多个系统,多个不同的操作系统,虚拟系统下的各个子系统相互独立,即使一个子系统遭受攻击而崩溃,也不会对其他系统造成影响,而且,在使用备份机制后,子系统可以被快速的恢复。同时,应用执行环境简单易行,大大提高了工作效率,降低总体投资成本。3.虚拟化系统能够方便地管理和升级资源传统的IT服务器资源是硬件相对独立的个体,对每一个资源都要进行相应的维护和升级,会耗费企业大量的人力和物力,虚拟化系统将资源整合,在管理上十分方便,在升级时只需添加动作,避开传统企业进行容量规划、定制服务器、安装硬件等工作,提高了工作效率。六.总结虚拟化技术现在主要的一个焦点是服务器和操作系统的虚拟化,比如像Linux,虚拟化给性能,可移植性和复杂性提供了许多选项.这也意味者你能够为你的应用程序和项目选择最合适的虚拟化方法。但随着近年来Linux桌面技术的快速,虚拟化另一个新的而且重要的领域——个人电脑桌面虚拟化已开始显现。虚拟化技术在解决桌面系统安全性可靠性方面,提高用户体验性方面,还有提高机器使用效率和加强业务整合能力等等方面,都将会有很大的作为。使用虚拟机加Linux桌面的组合产品既可以兼容windows系统,同时还改善安全性差等缺点,提高用户体验,使用户逐渐熟悉Linux桌面系统。但是任重道远,虚拟化的高效性目前主要体现在CPU和内存访问上,在I/O操作和图形性能方面目前还需要很大改进,而图形性能是桌面用户尤其关注的方面。