云计算数据中心节能安全的虚拟机实时迁移

2018-01-17 16:00王国珍
电子技术与软件工程 2017年22期
关键词:虚拟机节能云计算

王国珍

云计算数据一般采用集中管理,而虚拟机迁移的数量过多,造成不能扩展到大规模的问题。为此提出一种节能的虚拟机管理方式——分布式管理,分布式管理分为本地管理和全局管理,本地管理负责数据中心的各个节点,通过设置最低限制与最高限制决定虚拟机的迁移量,全部管理负责将虚拟机迁移至最小能耗的节点上。

【关键词】云计算 节能 虚拟机 本地管理 实时迁移

计算虚拟化是创造一个虚拟的网络系统。如一个硬件平台、一个操作系统、一个存储设备或者一个网络资源。虚拟化是IT企业总体趋势的一部分。IT企业总体趋势还包括自动计算、在IT环境将能够管理自己基于知觉活动的一个场景。随着虚拟化技术的快速发展,大多数数据中心都采用了云计算理念来设计新一代的数据中心框架。这项技术所带来的好处包括,提高资源利用率,降低运营成本和简化服务器管理。服务器整合和虚拟机实时迁移也可以用来实现负载均衡和节能。虚拟化是已广泛应用于现代数据中心的云计算来实现服务器节能行动的创新。服务器整合实现了能源利用效率,使操作系统的多个实例同时运行在一台机器。随着虚拟化,它可能通过虚拟机实时迁移来稳固服务器负载程度。然而,虚拟机迁移又带来额外的能源消耗问题。

1 相关知识

1.1 基础设施服务(IaaS)

当前有许多云服务提供不同的软件服务,在底层可以提供客户访问服务商控制的整体虚拟机,客户想要运行软件,只能以系统客户配上虚拟机在高层级才能在线运行,不要需要客户去操作;但是高层级的软件无法保证计算机的保密性,因为服务本身操作的是客户本身的数据。

如图1所示,以Eucalyptus为例,系统包含一个或多个运行客户虚拟机的镜像节点,最为典型的是Xen,而Eucalyptus拥有一系列的操作方式来管理这些。

从客户角度看,Eucalyptus是一个服务接口,是一个可执行、可管理的服务接口,虚拟机镜像VMI运行VM,而CM负载VMI。

1.2 攻击模型

云服务商的系统管理员拥有控制后台的权限,可以实施多种攻击来访问客户虚拟机内存。IaaS不会允许某人拥有全部权限,而且也部署了严格的安全措施,严格访问权限策略,保护硬件的物理安全。可以认为服务商能够阻止对机械物理访问的攻击,但系统管理员还是需要将内部机器的访问权限用来管理机器运行的软件。因此TCCP必须做到以下两点:

(1)确保虚拟机在安全保护的情况下运行;

(2)在任何时候,拥有权限的系统管理员远程登录运行虚拟机的机器,都不能访问虚拟机的内存。

1.3 可信赖计算

可信赖计算(TCC)提出了利用一系列的软硬件技术来构建可信赖平台,而且给出了可信赖平台模块(TPM)集成的设计标准。TPM支持私钥(EK)并将此作为身份识别的唯一标准,还支持一些不可修改的加密手段,不同厂商的设备使用不同的公钥识别集成模块。

可信赖平台改进了TPM集成的特点,使他能够远程识别。在启动时,主机计算一个由启动软件序列哈希值组成的测定列表ML、启动软件(BIOS)、启动项、启动软件执行平台等。ML安全载入主机TPM,远程的一方利用当前运行在主机中的平台,平台调用TPM生成包含ML的应答信息,并用TPM的私钥加密,主机将信息反馈给远程方,远程方利用对应的EK公钥解密,这样就完成了对主机的认证。

2 虚拟机实时迁移研究内容

2.1 创新关键技术点

根据本项目,主要采用新一代分布式虚拟化技术以及着重考虑数据存储安全问题,利用基于分布式安全存储技术,建立安全、高效、节能的存储系统必须要在数据的冗余性、实时性上加大力度,但往往数据的安全和可靠性与系统的易用性存在矛盾。而本转化项目通过建立新型的体系结构和新技术,将数据的可靠、安全、节能等等因素综合考虑进去,在基于分布式存储网络的数据免灾服务中,增加了以IDA算法为核心的存储结构体系,颠覆了传统业务中存储方式。本项目所采用的一系列技术做到了国内领先、国际先进。

2.2 创新技术匹配点

基于分布式存储网络的数据免灾服务,是NGDC整个体系结构中第一個试水的项目,在存储体系结构的基础上,增加了数据在线备份功能,实现了由技术到应用的转化,从而验证了此分布式存储体系系统的实际价值。存储的可靠性与效率的矛盾、经济性与冗余效果的矛盾、业务系统与编码计算的资源竞争、数据备份与业务系统的争用、跨网络的存储与IO的不匹配性。

3 云服务平台IaaS

基于存储平台从硬件、系统与管理、产品特性等多个层次支持所提供服务的安全、高效与可靠性。通过在实际运营中不断的改进平台功能和性能, CloudEx 云平台已经成为国内成熟商用的IaaS云服务平台,其先进、安全特性如下:

3.1 弹性伸缩

跨数据中心的虚拟化管理系统将分布在多个数据中心的服务器、存储和网络等资源统一虚拟化为相应的资源池。通过峰值复用、共享存储、带宽复用大大提高了服务器、存储和带宽等资源的利用率。

3.2 快速部署

(1)几分钟即可交付一台可以直接使用的云主机,包括应用布署;

(2)按使用量计费;

(3)不论是计算资源、存储资源还是带宽资源,弹性云计算都支持按需使用、按所需付费。

3.3 本地永久存储

(1)云主机内置本地永久存储硬盘空间;

(2)对云主机的停机、重起操作不会影响你在云主机运行时保存的数据。

3.4 广泛的网络访问

平台由分布在全国的数十个IDC中的服务域(CSZ:Cloud Service Zone)所构成,每个CSZ的网络接入带宽都可以超过10Gbps,整合起来就可以提供海量的网络接入带宽,支持全网范围内的、广泛的网络访问需求。CloudEx 云平台提供高性能的Web接入能力,单台Web服务器支持的并发连接超过20000连接/秒,并且可以随时进行线性扩展,提供应用层面的海量服务接入能力。endprint

3.5 虚拟化资源池管理

CloudEx云平台在开源Xen虚拟化管理技术的基础上,增加智能化、分布式、集中化的业务受理、工单派发、动态设备及网络拓扑发现、自动配置、实时监控、可视化管理的高级功能。

4 实时迁移技术

实时迁移,就是保证1个或者N个虚拟机运行的同时互不干扰,将一台计算机(假设为1号)的数据迁移到另一台计算机(假设为2号)之中,并将计算机恢复运行的技术。利用这种技术,可以实现服务器在线维护、升级及动态负载均衡。

5 虚拟机实时迁移的设计思想

由于实时迁移主要针对集群式服务器所开发出来的,这种环境下主要分内存、网络和存储资源迁移三个阶段。

5.1 内存的迁移

内存的迁移是虚拟机迁移最复杂的区域,一个完整的内存迁移需要进行三个部分来进行:

(1)push阶段。在虚拟机运行的同时,将它的一些内存的页面通过网络拷贝至机器上,为保证内容中的数据一致,被修改的网页需要重新上传。

(2)Stop-and-copy阶段。虚拟机在停止工作时,需要将剩下的页面拷贝到另外一台计算机上,然后在新的计算机上重新运行虚拟机。

(3)Pull阶段。新的虚拟机在运行过程中,如果访问到已拷贝的页面,就会出现页面错误,从而需要将原来机器上的数据重新拷贝过来,再进行运行。

实际上,迁移内存时,没必要进行上述三个阶段,以目前的大部分迁移策略只包含一个或者两个阶段。

Xen采用Push和stop-and-copy阶段结合而成的方案,又称作为预拷贝(Per-copy)的方法。在Push阶段需要将内存以迭代的方式一次一次拷贝进另外一台计算机内,第一次拷贝所有的页,第二次只拷贝那些错误之后被修改过的页,依此类推,在N次拷贝的是N-1次拷贝过程中被修改的页。当错误页的数目达到一定程度时,预拷贝Push阶段就即将结束,进入stop-and-copy阶段,在这一阶段再次把剩下的错误页以运行的状态之下的信息拷贝过去,这种方法是和上个阶段相结合,平衡了停机时间和总迁移时间之间的矛盾,是一种较为理想动态迁移方式。但是对于那种修改比较频繁的页,需要反复重新传送,尤其是修改页较多时,迁移的总性能将会降低。为了保证迁移的效率和总性能的平衡,需要运用算法测定,防止反复传送相同的页。

5.2 网络的迁移

虚拟机这种系统的封装方式意味着虚拟机在迁移时包括了所有的网络设置,包括协议在内以及IP地址也会随之迁移。在局域网中,可以发送ARP的方式将虚拟机的IP地址和另外一台机器的MAC地址相绑定,之后将所有包装好的发送至机器上。

6 云计算虚拟机分布式管理

6.1 分布式管理结构

分布式管理包括本地管理和全局管理两种方式,分布式管理结构如图2所示。

CPU的利用率和服务器的总电量的消耗是有联系的,随着CPU的利用率从闲置的状态升高至负载,服务器电源消耗的量也在成倍升高,CPU的利用率是随着工作负载而变化,所以CPU利用率相当于一个时间函数u(t),一段时间内总能源消耗E可以定义为

,可以清楚的看出能源消耗是随着CPU的利用率而改变的。

本地管理持续监控节点CPU的利用率,并在运行虚拟机监控器的节点获取各个虚拟机的信息,主要目的是根据对资源的需求将虚拟机的大小进行调整,决定某个时候的虚拟机将某些虚拟机从该节点迁移出去。全局管理只有一个节点,收集那些来自本地管理的节点信息,并在最佳之处的节点接收需要迁移的虚拟机。将使用各种不同的管理方法统一到一起管理,分布式管理的主要目的是将任务发布至各个本地管理之中,而全局管理只负责收集信息并进行决策。

为了提高节点CPU的利用率,系统设置一个最低值。当节点的CPU利用率低于设置的最低值时,系统就会先将节点上的虚拟机全部迁移出去之后再关闭所有的节点,以此达到节能的效果。为了提高系统的服务质量,系统还会设置一个高门限值。这是因为CPU的利用率过高时,那么该节点的部分虚拟机将因争夺资源而降低了对客户服务的质量。当节点的CPU利用率大于设置的高门限值时,系统将该节点的一个或者多个虚拟机进行迁移,从而降低CPU的利用率。

6.2 分布式管理对策

集中管理的方式是在管理中对数据中心的虚拟机采用实时优化,它的目的是保证每时每刻的虚拟机配置是最好的。因此,采用统一管理的方法后数据将会产生大量虚拟机迁移,同时也增加了电源消耗。

在分布式管理过程中没有采用实时优化,而是通过分布在节点上的本地管理对CPU利用率进行监控。如果节点的CPU利用率在设置的高门限值和低门限值之间,那么虚拟机就不会发生迁移的状态。如果某个节点异常时,也就是该节点的CPU利用率大于高门限值或者小于低門限值,系统将会做出两种反应:第一,从出现异常处选出虚拟机进行迁移;第二,选取其他节点接收从第一种反应中选出的虚拟机,从下面两个方面进行选择:

(1)虚拟机。一旦虚拟机监控找到异常,本地管理就在出现异常的节点处选择虚拟机进行迁移后消除,通常会有一个或者多个虚拟机出现异常然后被迁移出去。出现异常的节点CPU利用率过高的情况,那么本地管理需要迁移一个或者多个虚拟机。为了减少迁移的次数,本地管理可以将所有虚拟机的目前CPU利用率进行排列,然后选取CPU利用率最大的一个进行迁移。在迁移之后,该节点的CPU利用率还是过高,将会自己迁移CPU利用率排序次之的某个虚拟机直到该虚拟机的异常情况消除为止。

如果在某个节点的CPU出现利用率过低,那情况就会变得简单。本地管理将所有节点上的虚拟机迁移到其他节点上并关闭之前的节点,以达到节能的效果。

(2)节点的选择。当虚拟机选择结束时,全局管理就会选择节点来接收需要迁移的虚拟机。全局管理首先对所有节点进行预判,看接收该虚拟机后是否会出现异常节点的情况。如果没有满足该条件,则不迁移。如果存在满足这样的条件,那么全局管理首先对满足条件的所有节点进行电源消耗评估,既计算这些节点在接收虚拟机之前与之后的电源消耗差,然后从中选出最小电源消耗的节点,并将虚拟机迁移到该节点之上。

7 结束语

计算虚拟化是创造一个虚拟的网络系统。犹如一个硬件平台、一个操作系统或者一个网络资源。随着虚拟化技术的发展,大多数数据中心都采用云计算思想来设计现代化数据中心框架。这项技术的到来,通过虚拟机实时迁移能够实现在负载的情况下节能的效果,使虚拟机在云计算数据平台中得到合理的运用。

参看文献

[1]王政.节能型虚拟机部署和迁移算法研究与实现[D].江苏大学,2015.

[2]石帅.云计算环境下的虚拟机节能调度算法研究[D].哈尔滨工业大学,2014.

[3]王桂平.云环境下面向可信的虚拟机异常检测关键技术研究[D].重庆大学,2015.

作者单位

北京世纪互联宽带数据中心有限公司 北京市 100015endprint

猜你喜欢
虚拟机节能云计算
实验云:理论教学与实验教学深度融合的助推器