一种基于sdn的云数据中心多虚拟机迁移调度计划方法
【技术领域】
[0001] 本发明涉及一种基于SDN的云数据中心多虚拟机迀移调度计划方法,属于云计算
技术领域。
【背景技术】
[0002] 随着云计算技术的进步,现在越来越多的用户将应用或者服务部署在云端。云服 务提供商通过虚拟化技术向用户提供相应服务。随着新一代互联网业务的兴起,用户部署 应用规模的不断扩大,作为云计算服务最重要的基础底层服务设施云数据中心,数据中心 网络流量呈现迅猛增长的趋势,运行压力越来越大。由于数据中心的建设成本巨大,而且管 理难度和维护复杂,而虚拟机迀移技术的成熟为数据中心的管理和维护提供了十分有效的 技术手段。虚拟机迀移的优点在于可以简化系统维护管理,在数据中心减少运营开销,负载 均衡,防止网络拥塞,减少运行服务宕机时间等方面起到十分有效的作用。
[0003] 虚拟机迀移技术虽然避免了以前在业务运行环境发生变化时,必须长时间中断业 务,重新部署运行环境的缺点,但是,当大规模的虚拟机需要同时迀移时,依然会产生宕机 时间过长、应用服务严重中断的情况。如何制定有效的多虚拟迀移计划,有效地减少总体迀 移时间和宕机时间,对提升用户的服务质量水平,起到良好的促进作用。而软件定义网络 SDN的出现,提供了一种新型的网络交换模型,采用控制层和数据层分离的模式,能够自动 的感知全局底层网络的状态,实现云计算数据中心网络中虚拟机迀移流量的更快转发。
[0004] 目前的虚拟机迀移调度计划研究,一般将迀移可用带宽作为影响迀移的主要和单 一影响因子,主要存在两种迀移方案:1、基于单个虚拟机的迀移。这种技术在所需要迀移的 虚拟机的数目比较少的场景中,经常用到。根据一定的规则,采用贪心策略决定每个虚拟机 迀移的顺序,每次只能迀移一个虚拟机,显然采用这种方式,总体的迀移时间比较长,造成 的虚拟机集群的宕机时间也比较长。2,同时迀移计划。这种迀移方案,相比较于第一种迀移 方案有了一定的提升,但是由于物理链路可用带宽容量的限制,对于迀移到同一个目的主 机上的虚拟机来讲,分配到每个虚拟机的可用带宽很少,与此同时,因为虚拟机还在不断的 产生赃页,需要传输的数据量会越来越大,很容易造成网络的拥塞。因此,如何制定一项合 理的多虚拟机迀移计划,减少总的迀移时间,降低服务宕机时间,提升用户服务质量水平, 还存在着研究的空间。
【发明内容】
[0005] 针对现有技术的不足,本发明提供了一种基于SDN的云数据中心多虚拟机迀移调 度计划方法;
[0006] 本发明综合考虑了待迀移虚拟机的内存、可用链路带宽、宿主机CPU计算能力、同 属一个虚拟数据中心VDC内的虚拟机之间内部通信流量等各种影响因子。本发明提出的基 于SDN的新型虚拟机迀移架构,使得控制器可以实时自动的感知底层网络的状态变化,为虚 拟机的迀移提供全局最优路径,提高的迀移链路带宽的利用率,提升虚拟数据中心VDC的自 动化管理水平。降低了虚拟机集群的总体迀移时间,有效减少了由于迀移导致的虚拟数据 中心和每个虚拟机的平均宕机时间,从而提升了云计算应用的服务质量水平,提升了数据 中心的性能。
[0007] 术语解释
[0008] l、SP:Service Providers的缩写,是指服务运营商。
[0009] 2、VDCs migration request:是指虚拟机集群迀移请求。
[0010] 3、Sequencer module :迀移排序算法模块,计算生成待迀虚拟机的迀移优先级序 列。
[0011] 4、VM:虚拟机。
[0012] 5、VDC:虚拟数据中心。
[0013] 6、SDN;软件定义网络。
[0014] 7、SDN global orchestrator; SDN全局控制器。
[0015] 8、Server Manager:服务器管理器,负责实施监控物理节点的应用状态,为迀移提 前准备物资资源内存、CPU、链路带宽,实例化VM。
[0016] 9、0penFlowcontrol Ier: OpenFlow控制器,通过OpenFlow协议向交换机下发迁移 流量转发策略,控制迀移网络流量转发。
[0017] 10、VDCs ControlIer:虚拟数据中心控制器,负责开启并管理虚拟机集群的迀移, 通过APIs接口为不同的应用服务提供网络性能保证。
[0018] 本发明的技术方案为:
[0019] -种基于SDN的云数据中心多虚拟机迀移调度计划方法,该方法在基于SDN的云数 据中心多虚拟机迀移调度计划系统运行,所述基于SDN的云数据中心多虚拟机迀移调度计 划系统包括SDN全局控制器、Sequencer模块、VDC控制器、交换机、虚拟机,所述SDN全局控制 器包括Sequencer module、Server Manager、0penFlow controlIerNNetwork Info数据库、 VDCs Info数据库;所述Server Manager主要负责实例化虚拟机或者虚拟交换机,并且实时 获取并监控物理节点的应用状态;所述OpenFlow controlIer负责与汇聚层和边缘层交换 机(支持OpenFlow协议)直接通信,下发迀移流量转发策略,控制迀移网络流量转发; Network Inf〇数据库主要存储网络的拓扑信息、底层网络的状态和Sequencer module产生 的多虚拟机迀移方案策略;VDCs Info数据库主要存储VDC网络的拓扑信息,虚拟节点的状 态。整个global orchestrator中的核心部分是Sequencer module,多虚拟机迀移方案策略 产生算法嵌入在该模块当中。连接关系如图1所示,箭头表示相互的交互与连接,具体步骤 包括:
[0020] (I)SDN全局控制器接收服务运营商SP提交的虚拟机集群迀移请求;所述虚拟机集 群迀移请求包括
表示待迀移的虚拟机,心,表示待迀移的虚拟机所在 的源端主机,表示待迀移的虚拟机的目的主机,民γ表示待迀移的虚拟机的最小迀移带 宽;
[0021 ] (2)SDN全局控制器收集底层网络信息;
[0022] (3)将步骤(2)收集到的底层网络信息输入至Sequencer (迀移排序)模块, Sequencer模块生成优化后的虚拟机集群迀移方案策略;
[0023] (4)SDN全局控制器将生成的优化后的虚拟机集群迀移方案和迀移流量转发策略 发给VDC控制器和各底层交换机;
[0024] (5)根据优化后的虚拟机集群迀移方案策略,VDC控制器开启并管理虚拟机集群迀 移;
[0025] (6)同一虚拟数据中心VDC中,虚拟机之间用于内部通信的虚拟链路重新映射到相 应物理链路上;
[0026] (7)重新启用虚拟机,虚拟数据中心VDC恢复服务。
[0027]根据本发明优选的,所述步骤(2)中,所述底层网络信息包括底层物理网络信息、 虚拟网络信息,G(Ns,Ss,Ls)表示所述底层物理网络信息,N S表示物理节点,SS表示物理交换 机,I/表示物理链路的集合;G (Nv,Sv,Lv)表示所述虚拟网络信息,Nv表示虚拟机,S v表示虚拟 交换机,Lv表示虚拟链路的集合;
[0028]将所述底层物理网络信息存储在Network Info(网络信息)数据库,将所述虚拟网 络信息存储在VDCs Info (虚拟数据中心信息)数据库中。
[0029]根据本发明优选的,所述步骤(3)中,Sequencer模块根据提出的虚拟机迀移优先 级综合确定因子Q(Vi)不断的迭代计算,求出最优的多虚拟机迀移调度方案Order;虚拟机 迀移优先级综合确定因子Q(V 1)的计算公式如式(I)所示:
[0031 ] 式(I)中,CPU(Vi)表示待迀移虚拟机Vi的CPU大小,Mem(Vi)表示待迀移虚拟机Vi的 内存,bw表示待迀移虚拟机^的迀移可用链路带宽;ΣWPU(Vj)表示与待迀移虚拟机V1迀移 目的物理主机相同的所有虚拟机的CPU总和,Σ#θπι(^)表示与待迀移虚拟机V 1迀移