全国热线电话:13633878273
发布时间: 2015-03-26 17:55:14
一、虚拟化技术概述
虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
虚拟化技术是云计算实现的关键技术。单个服务器可以支持多个虚拟机运行多个操作系统和应用,从而大大提高服务器的利用率,通过虚拟化为应用提供了灵活可变、可扩展的平台服务。自从1998年VMware将只有在大型机中采用的虚拟化技术引入x86平台至今,虚拟化已经为全球用户节约了大量成本,提升了服务器运营效率,更重要的是下一代的数据中心也将基于虚拟化来进行构建,特别是现在热门的云计算,更是离不开虚拟化技术的支撑。
虚拟化技术将底层的计算资源切分(或合并)成多个(或一个)运行环境,以实现部分或完全的机器模拟和时间共享。虚拟技术在很多重要领域(服务集成、安全计算、多操作系统并行运行、内核的调试与开发、系统迁移等)都具有潜在的应用价值。现已有许多系统采用虚拟技术来充分挖掘现代机器的丰富资源。系统采用虚拟化技术后,对外表现出的运动方式是一种逻辑化的运动方式,而不是真实的物理运动方式,所以采用虚拟化技术能实现对物理层运动复杂性的屏蔽,使系统对外运行状态呈现出简单的逻辑运动形态(如图1所示)。
二、虚拟化技术特性
(1) 软件实现。以软件的方式模拟硬件,通过软件的方式逻辑切分服务器资源,形成统一的虚拟资源池,创建虚拟机运行的独立环境。
(2) 隔离运行。运行在同一物理服务器上的多个虚拟机之间相互隔离,虚拟机与虚拟机之间互不影响。包括:计算隔离、数据隔离、存储隔离、网络隔离、访问隔离,虚拟机之间不会泄露数据,应用程序只能通过配置的网络连接进行通信。
(3) 封装抽象。操作系统和应用被封装成虚拟机,封装是虚拟机具有自由迁移能力的前提。真实硬件被封装成标准化的虚拟硬件,整个虚拟机以文件形式保存,便于进行备份、移动和复制。
(4) 硬件独立。服务器虚拟化带来了虚拟机和硬件相互依赖性的剥离,为虚拟机的自由移动提供了良好的平台。
(5) 广泛兼容。兼容多种硬件平台,支持多种操作系统平台。
(6) 标准接口。虚拟硬件遵循业界标准化接口,以保证兼容性。
三、虚拟化技术类型
根据抽象层的位置不同,通常将虚拟化分为四类:完全虚拟化(Full Virtualization)、准虚拟化(Para Virtualization)、操作系统虚拟化(OSVirtualization)和应用程序虚拟化(Application Virtualization)。
(1)完全虚拟化
完全虚拟化是目前最主要的虚拟化方法,使用一种名为Hypervisor的软件,在虚拟服务器和底层硬件之间建立一个抽象层,该虚拟化方案具有很高的效率。Hypervisor可以捕获CPU指令,为指令访问硬件控制器和外设充当中介,作为一个对硬件资源进行访问的代理来协调上层OS对底层资源的访问。从虚拟技术的发展历史来看,此虚拟化方法也称为硬件虚拟化(Hardware Virtualization)。在这种情况下,每个虚拟机完全独立而互不相干,每个虚拟机提出的系统资源请求(处理器、硬盘、内存或网络)均被Hypervisor捕捉(最初由软件实现.现在已有CPU硬件支持)并被发送到物理硬件上进行处理。市场上可见的该类虚拟化产品包括VM/370[22]、微软的Virtual Server、VMware公司的VMware Server和VMware ESX。
(2) 准虚拟化
准虚拟化减轻了处理器的负担,客户操作系统需要在核心层面进行改动,能够与Hypervisor协同工作。准虚拟化技术同样支持在一个宿主机上运行多个虚拟机,从广义角度来讲,宿主机可以由操作系统和准虚拟化层共同构成,也可以仅仅包台一个准虚拟化层。与完全虚拟化的不同之处在于准虚拟化技术向虚拟机导出了一系列的API供虚拟机调用而不是为虚拟机模拟硬件设备,适应于BSD、Linux、Solaris等某些开源操作系统,典型的准虚拟化产品包括开源项目Xen和Denai,以及很多由Xen所衍生出来的商业版本,如Citrlx XenSource。Xen作为准虚拟化技术的典型代表。
(3)操作系统虚拟化
拟化抽象层向上移动到宿主操作系统之上,形成了操作系统虚拟化。操作系统层虚拟化没有独立的Hypervisor层,主机操作系统本身负责在多个虚拟服务器之间分配硬件资源,并且让这些服务器彼此独立。与前面所述的虚拟化方案相比:操作系统虚拟化技术提供了更高的运行效率;架构在所有虚拟服务器上使用单一、标准的操作系统,管理起来比异构环境要容易;各个虚拟机共享一套宿主操作系统的机制,作为宿主操作系统的一种“快照”存在,同时各个虚拟机在一定程度上来看都是在共享宿主操作系统的文件,虚拟化结构得到简化;但是,所有虚拟服务器必须同时运行同一操作系统(不过每个实例有各自的应用程序和用户帐户),灵活性比较差;操作系统虚拟化技术由于各个虚拟机的宿主操作系统文件及其他相关资源的共享,使得其提供的隔离性也不如前面所述的虚拟化方案。
(4) 应用程序虚拟化
应用程序虚拟化的思想是将单个应用程序的文件、注册键以及其他相关的配置封装称为一个新的数据结构(通常为一个具有特定格式的文件),以方便应用程序的安装和删除等。为了保护应用程序的必然趋势。未来的资源将透明地运行在各种物理平台上,资源的管理都将按逻辑方式进行,完全实现资源的自动化分配,而虚拟化技术则是实现这一理想的唯一工具。针对云计算,虚拟化技术的融合
和应用应面向高级虚拟机、应用以及虚拟化存储等方面。
四、虚拟技术在云存储的应用
存储虚拟化技术将底层存储设备进行抽象化统一管理,向服务器层屏蔽存储设备硬件的特殊性,而只保留其统一的逻辑特性,从而实现了存储系统的集中、统一、方便的管理。与传统存储相比,虚拟化存储的优点主要体现在:磁盘利用率高,传统存储技术的磁盘利用率一般只有30-70%,而采用虚拟化技术后的磁盘利用率高达70-90%;存储灵活,可以适应不同厂商、不同类别的异构存储平台,为存储资源管理提供了更好的灵活性;管理方便,提供了一个大容量存储系统集中管理的手段,避免了由于存储设备扩充所带来的管理方面的麻烦;性能更好,虚拟化存储系统可以很好地进行负载均衡,把每一次数据访问所需的带宽合理地分配到各个存储模块上,提高了系统的整体访问带宽。虚拟化存储有多种分类方法,从大的方面可以分为:根据在I/O路径中实现虚拟化的位置不同进行分类;根据控制路径和数据路径的不同进行分类。根据在I/O路径中实现虚拟化的位置不同,虚拟化存储可以分为主机的虚拟存储、网络的虚拟存储、存储设备的虚拟存储。根据控制路径和
数据路径的不同,虚拟化存储分为对称虚拟化与不对称虚拟化。
虚拟化存储的系统构成
云存储中的一种典型存储方式为分布式存储。在这种方式中,一般采用带外虚拟化的方式管理存储设备,元数据管理和数据传输都是通过IP网络来完成。这种虚拟化存储系统主要有四类不同的存储设备。
客户端:客户端向外为客户提供各种应用服务,如万维网服务、数据库、文件服务、科学计算等。客户端上运行存储代理软件,提供网络虚拟设备供应用程序读写访问。
配置管理服务器:配置管理服务器用来进行系统的配置和管理。通过Internet、Telnet或其它接口登陆云存储平台,以远程的方式配置和管理整个存储系统。元数据服务器:云存储系统的元数据服务器(MDS)管理着整个系统的元数据和对象数据的布局信息,负责系统的资源分配和网络虚拟磁盘的地址映射。在MDS上部署的全局虚拟化存储管理软件和集群管理软件可管理整个存储系统的配置和运行。另外,MDS通过冗余管理软件来实现普通存储节点之间的数据冗余关系。对象存储节点:每个存储节点都是独立的存储设备,负责对象数据的存储、备份、迁移和恢复,并负责监控其他存储设备的运行状况和资源情况。同时,存储节点上运行着虚拟化存储管理软件,并存储了应用程序所需的数据。
虚拟化存储的三层模型
根据云存储系统的构成和特点,可将虚拟化存储的模型分为三层:物理设备虚拟化层、存储节点虚拟化层、存储区域网络虚拟化层。三层虚拟化存储模型大大降低了存储管理的复杂度,有效地封装了底层存储设备的复杂性和多样性,使系统具备了更好的扩展性和灵活性。用户只需将存储设备添加到存储池中并进行简单配置,就可以创建虚拟卷,而不必关注系统中单个设备的物理存储容量和存储介质的属性,从而实现统一的存储管理。
五、虚拟化技术在云计算网络的应用
1、云计算中的网络层次
云计算的基础架构主要包含计算(服务器)、网络和存储。对于网络,从云计算整生态环境上来说,可以分为三个层面,数据中心网络、跨数据中心网络以及泛在的云接入网络。
数据中心网络包括连接主机、存储和四到七层服务器(如防火墙、负载均衡、应用服务器、IDS/IPS等)的数据中心局域网,以及边缘虚拟网络,即主机虚拟化之后,虚拟机之间的多虚拟网络交换网络,包括分布式虚拟交换机、虚拟桥接和 I/O 虚拟化等。跨数据中心网络用于数据中心间的网络连接,实现数据中心间的数据备份、数据迁移、多数据中心间的资源优化以及多数据中心混合业务提供等。泛在的云接入网络用于数据中心与终端用户互联,为公众用户或企业用户提供云服务。
从网络虚拟化的角度,可以分为纵向网络分割和横向网络整合两种场景。纵向网络分割,即1:N的网络虚拟化,例如VLAN、MPLS VPN技术,主要用于隔离用户流量,提高安全性,以及用户通过自定义控制策略实现个性化的控制,便于增值业务出租。横向网络虚拟化整合,即N:1网络虚拟化,是通过路由器集群技术和交换机堆叠技术将多台物理机合并成一台虚拟机。实现跨设备链路聚合,简化网络拓扑结构,便于管理维护和配置,消除“网络环路”,增强网络的可靠性,提高链路利用率。
2、数据中心网络
数据中心是整个云计算的核心,随着云计算的发展,传统的数据中心逐渐转向虚拟化数据中心(VirtualData Center,VDC)。虚拟数据中心是利用虚拟化技术将物理资源抽象整合,增强服务能力;通过动态资源分配和调度,提高资源利用率和服务可靠性;通过提供自动化的服务开通能力,降低运维成本;通过有效的安全机制和可靠性机制,满足公众客户和企业客户的安全需求。由于云计算技术的使用,使得传统的数据中心网络不能满足虚拟数据中心网络高速、扁平、虚拟化的要求。
首先,目前传统的数据中心由于多种技术和业务之间的孤立性,使得数据中心网络结构复杂,存在相对独立的三张网,包括数据网、存储网和高性能计算网,和多个对外IO接口:数据中心的前端访问接口通常采用以太网进行互联而成,构成高速的数据网络;数据中心后端的存储则多采用NAS、FC SAN等接口;服务器的并行计算和高性能计算则需要低延迟接口和架构,如infiniband接口。以上这些问题,导致了服务器之间存在操作系统和上层软件异构、接口与数据格式不统一。
其次,数据中心内网络传输效率低。由于云计算技术的使用,使得虚拟数据中心中业务的集中度、服务的客户数量远超过传统的数据中心,因此对网络的高带宽、低拥塞提出更高的要求。一方面,传统数据中心中大量使用的L2层网络产生的拥塞和丢包,需要L3层以上协议来保证重传,效率低;另一方面,二层以太网网络采用生成树协议来保持数据包在互联的交换机回路中传递,也会产生大量冗余。因此在使用云计算后,数据中心的网络需要解决数据中心内部的数据同步传送的大流量、备份大流量、虚拟机迁移大流量问题。同时,还需要采用统一的交换网络减少布线、维护工作量和扩容成本。引入虚拟化技术之后,在不改变传统数据中心网络设计的物理拓扑和布线方式的前提下,可以实现网络各层的横向整合,形成一个统一的交换架构。
3、跨数据中心网络
数据中心之间会有计算或存储资源的迁移和调度,对于大型的集群计算,可以构建大范围的二层互联网络,对于采用多个虚拟数据中心提供云计算服务,可以构建路由网络连接。采用二层网络的好处是对虚拟机的透明化,通过简化数据中心的二层互联设计,就可以利用网络虚拟化技术在更短时间内完成确定性二层链路恢复,同时不影响L3链路,这与传统的MSTP+VRRP设计有所不同。此外,虚拟化能够在跨数据中心网络各层间横向扩展,这有利于数据中心规模的扩大,同时又不影响网络管理拓扑。但为了保证网络的高性能、可靠性,需要解决网络环路问题。
虚拟化技术在企业服务器整合、多执行环境、计算机安全、系统调试、灾难恢复等领域具有很高应用价值,近年来受到重视并得到快速发展,是当前热点技术之一。自从微软公布其云计算操作系统,计算机领域可谓“云满天”,在这个新的技术名词或技术领域内,虚拟化技术起着关键的作用,有理由相信,随着虚拟化技术的发展,虚拟化技术在云计算领域将发挥越来越大的作用,出现越来越多的应用。
上一条:搜狗论坛搜索使用体验
下一条:100m虚拟主机怎么样?