一种在多个数据中心之间迁移多个关联虚拟机的方法

文档序号:9219815阅读:548来源:国知局
一种在多个数据中心之间迁移多个关联虚拟机的方法
【技术领域】
[0001] 本发明属于云计算技术领域,具体涉及一种在多个数据中心之间迀移多个关联虚 拟机的方法。
【背景技术】
[0002] 随着互联网的发展,连接到互联网的用户和企业的数量越来越大,因此,互联网的 结构修改起来非常困难,而且网络的安全性能降低和核心路由扩展受到了严重的影响,从 而使阻碍了互联网新技术的发展,并导致互联网的"僵化"。为了解决这个问题,相关的研宄 人员提出了云计算这个概念。云计算服务提供商通过网络虚拟化技术,将物理计算资源和 网络资源划分为虚拟资源,使得这些资源能够实现共享,从而将物理网络划分为虚拟网络。 随着技术的发展,相关的研宄人员提出了虚拟数据中心(VDC)的概念。
[0003] 随着数据中心能耗的增大和用户需求的增多,节能和提高资源利用率逐渐变成了 研宄的热点。同时,为了解决由网络负载过载造成的违反服务水平协议(SLAs)的问题,研 宄人员提出了虚拟机的迀移技术。迀移技术的出现,使得研宄人员能够使用相应的迀移 策略来达到相应的迀移目的。例如,由于云计算服务提供商与用户签订了服务水平协议 (SLAs),如果服务水平协议(SLAs)被违反,云计算服务提供商就需要向用户支付违约金。 为了降低这种情况的发生概率,云计算服务提供商就会通过迀移虚拟机来保持相应的服务 质量(QoS),从而降低相应的损失。在另外一些场景,云计算服务提供商会通过备份和迀移 虚拟机来提高系统的容错性。与此同时,云计算服务提供商也可以通过迀移合并虚拟机来 节约能量和提高资源利用率。由于其广泛的应用场景,虚拟机迀移技术越来越受到研宄人 员的关注。
[0004]自从虚拟机迀移技术提出以来,研宄人员对虚拟机迀移的研宄主要分为两类。一 类是研宄虚拟机迀移后的运行资源分配算法,即重新映射迀移请求,另一类是研宄虚拟机 的迀移实现过程。对于虚拟机的迀移实现过程的研宄,研宄人员主要提出了两种迀移机 制,一种是离线迀移策略(offlinemigrationstrategy),另一种是在线/生存迀移策略 (online/livemigrationstrategy)。在离线迀移策略中,虚拟机先停止运行,然后迀移虚 拟机的记忆和处理器状态,最后在目的服务器上重启虚拟机。在在线/生存迀移策略中,在 线/生存迀移策略又可以分为两种迀移策略。一种是预复制迀移策略(pre-copymigration strategy),另一种是后复制迀移策略(post-copymigrationstrategy)。由于,在这两种 在线/生存迀移策略的迀移过程中,原始虚拟机在大部分的迀移时间都能保持正常运行, 所以研宄人员将这种特性称为在线/生存迀移策略的生存性。由于在线/生存迀移策略的 生存性,在线/生存迀移策略已经被广泛的运用到了虚拟机的迀移过程中。
[0005] 在目前,已经有很多关于虚拟机迀移方法的研宄,例如Multi-objectiveVirtual MachineMigration算法。其主要思想是给定了一个关于优势资源公平性的定义,即,一个 受服务器端的限制的最大最小公平模型。然后,在考虑应用程序的依赖性的情况下,进一步 建模多虚拟机迀移为一个最优化问题,以减少迀移造成网络交通。通过结合两个基本的虚 拟机迀移的算法,推导出了一个联合公式来最大限度地提高物理机的资源利用率,同时减 少由迀移造成的整个网络负载。虽然上述方法能够实现多个虚拟机的迀移,但是它进行迀 移的目的是最大限度地提高物理机的资源利用率,同时减少整个网络负载,而不是针对降 低虚拟机的重新映射成本和降低迀移阻塞率提出的。
[0006] 针对虚拟机迀移方法的研宄,相关研宄人员还提出了MultipleVMsMigration SchedulingAlgorithm,其主要思想是在考虑虚拟机之间的依赖性,底层网络拓扑结构和 虚拟机的带宽需求的情况下,进行调度虚拟机之间的不同迀移顺序和分配不同的迀移带 宽,并测试了虚拟机之间的不同迀移顺序和分配不同的迀移带宽对总的迀移时间和停机时 间的影响。虽然上述方法是多个关联的虚拟机在重新映射成功的之后,对其迀移过程进行 调度的算法,所以这个算法虽然考虑了虚拟机之间的关联性,但是并不是对需要迀移的虚 拟机进行重新映射的算法。

【发明内容】

[0007] 本发明的目的是,提出一种已知底层基础设施(底层网络)和在线的VDC迀移请 求前提条件下,找出一种在考虑这个VDC迀移请求中每个虚拟机的链路连接情况和满足相 关约束条件下以消耗最少的服务器资源,带宽资源和减小VDC迀移请求的阻塞率为目标, 将VDC迀移请求进行迀移的方法。该方法综合考虑了VDC迀移请求的特殊性,除了对常见 的带宽资源需求和服务器资源需求做出了优化的配置外,还针对VDC迀移请求在通信时延 方面的严格要求提出了相应的解决策略。
[0008] 本发明所要解决的问题:在考虑VDC迀移请求中每个虚拟机的链路连接情况和满 足相关约束条件下,将底层网络的服务器资源和带宽资源分配给动态到来的每个VDC迀移 请求,使得提高VDC迀移请求的成功率和底层网络的资源利用率的同时总的重新映射花销 最小。
[0009] 本发明具体采用如下技术方案:
[0010] 一种在多个数据中心之间迀移多个关联虚拟机的方法,其流程如图1所示,具体 包括以下步骤:
[0011] 步骤A?迀移请求的在线处理;
[0012] 定义ExpiredVDC为一个离去的VDC请求集合;在本发明中假设每个VDC迀移请 求按照泊松过程到达;在本发明中定义这个迀移请求的一个到达队列为ArrivedVDC,在这 个ArrivedVDC中,每个VDC迀移请求依次被重新映射和迀移,S卩,当处理一个迀移请求时, 先将该VDC迀移请求重新映射,然后为该VDC迀移请求中的每个虚拟机找到迀移路径并分 配迀移带宽,最后通过迀移路径并行迀移整个VDC迀移请求;当前VDC迀移请求被处理完成 后,再处理下一个VDC迀移请求;
[0013] 步骤B.重新映射VDC迀移请求的第一个虚拟机VM1;
[0014] 本步骤是一个重新映射单个VDC迀移请求的过程;定义Con(VMD= |Adj(VMD|为 当前VDC中第i个虚拟机VMi的度数;当第一个虚拟机每次映射到一个不同的底层服务器, 就会延伸出一种重新映射方案;所以在最理想的情况下,底层网络有多少台服务器,就会有 多少种重新映射方案Mp,其中,m纟是本次重新映射方案Mp的映射代价, 指当前VDC中所有虚拟机的重新映射记录集合,ikff指当前VDC所有链路的重新映射集 合;然后,在这些映射方案中找出映射成本最小的重新映射方案作为最终的映射方案M;
[0015] 步骤C.重新映射VDC迀移请求的全部虚拟机;
[0016] 本步骤是重新映射单个VDC迀移请求的一个子过程,其中,Mp是第一个虚拟机每次 映射到一个不同的底层节点,就会延伸出来的一个完整的映射方案;只要映射不失败,每调 用一次步骤C,就会产生一个映射方案;在1中,包括本方案的映射代价M#,本步骤的节点 映射集合M丨和本步骤的链路映射集合 < 三部分;
[0017] 步骤D?实施VDC迀移请求
[0018] 本步骤是一个VDC迀移请求重新映射完成之后,为这个VDC迀移请求中的每个虚 拟机寻找迀移路径和分配迀移带宽的过程,在这个步骤中,根据当前VDC迀移请求中的每 个虚拟机的原始映射,重新映射的记录和迀移带宽需求寻找迀移路径,然后根据每个虚拟 机的迀移带宽需求和原始脏数据量计算整个VDC迀移请求的迀移时间和停机时间。
[0019] 本发明的有益效果是:
[0020] (1)适用范围广;传统的迀移算法大多是针对单虚拟机迀移请求。本方法能适用 于整个VDC迀移请求,而VDC迀移请求中有多个关联的虚拟机,这个多个关联的虚拟机既可 以是一个虚拟机,也可以是2个以上的相关联的虚拟机,因此与传统的迀移算法相比,本方 法的适用范围更广;
[0021] ⑵重新映射成本低;由于本发明提出VDC-M算法,当第一个虚拟机每次映射到一 个不同的底层服务器,就会延伸出一种重新映射方案,所以在最理想的情况下,底层网络有 多少台服务器,就会有多少种重新映射方案,然后,在这些映射方案中找出映射成本最小的 重新映射方案作为最终的映射方案,这样找到的重新映射方案的成本也就更低;
[0022] (3)迀移阻塞率小;由于,本发明提出的算法,所有重新映射方案的数量(成功的 加失败的)等于底层网络服务器的数量,所以,重新映射成功的可能性也就越大,阻塞率也 就越小;
[0023] (4)迀移时间和停机时间短;由于在本发明中,将整个VDC迀移请求重新映射成功 之后,再为每个虚拟机寻找迀移路径,直到所有虚拟机的迀移路径都找到之后,在统一的使 用并行迀移策略迀移所有的虚拟机,这样就比一个一个的迀虚拟机的停机时间和迀移时间 要短。
【附图说明】
[0024] 图1为本发明提供的在多个数据中心之间迀移多个关联虚拟机的方法流程示意 图。
【具体实施方式】
[0025] 本【具体实施方式】提供一种在多个数据中心之间迀移多个关联虚拟机的方法,其流 程如图1所示,包括步骤A迀移请求的在线处理、步骤B重新映射VDC迀移请求的第一个虚 拟机VMi、步骤C重新映射VDC迀移请求的所有虚拟机、步骤D实施VDC迀移请求,具体如下 所述:
[0026] 步骤A.迀移请求的在线处理;
[0027] 定义ExpiredVDC为一个离去的VDC请求集合;在本发明中假设每个VDC迀移请 求按照泊松过程到达;在本发明中定义这个迀移请求的一个到达队列为ArrivedVDC,在这 个ArrivedVDC中,每个VDC迀移请求依次被重新映射和迀移,S卩,当处理一个迀移请求时, 先将该VDC迀移请求重新映射,然后为该VDC迀移请求中的每个虚拟机找到迀移路径并分 配迀移带宽,最后通过迀移路径并行迀移整个VDC迀移请求;当前VDC迀移请求被处理完成 后,再处理下一个VDC迀移请求;在本发明中定义VDCbl。作为一个由于底层网络资源不足而 被阻塞的VDC迀移请求集合,下面为本发
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1