一种基于sdn的云数据中心多虚拟机迁移调度计划方法_2

文档序号:9846627阅读:来源:国知局
目的物 理主机相同的所有虚拟机的内存总和;Cl1表示迀移所用链路带宽的容量大小,α表示CPU大 小影响因子的权重,β表示内存影响因子的权重,γ表示迀移可用链路带宽的权重,α+β+ γ = 1,βΕ[0,1],γ已[0,1]。(1、0、γ的具体取值可以根据业务需要进行调节。
[0032]根据本发明优选的,所述步骤(4)中,OpenFlow控制器将步骤(3)中生成的虚拟机 集群迀移方案策略下发到各底层交换机,所述虚拟机集群迀移方案策略包括选择的路径、 每条路径分配的带宽大小;同时,SDN全局控制器通知VDCs(虚拟数据中心)控制器准备开始 虚拟机的迀移。
[0033]根据本发明优选的,所述步骤(5)之前执行以下操作:Server Manager提前为分配 虚拟机迀移所需的各种底层物理资源,所述各种底层物理资源包括物理主机、CPU、内存、物 理链路。
[0034] 根据本发明优选的,所述步骤(3)中,具体步骤包括:
[0035] 3-1)初始化算法输入变量:迀移开始时刻t-Ο,迀移方案Order- 0,V-{所有 待迀移的虚拟机};
[0036] 3-2)判断V是否为空,如果不是,执彳丁3-3);如果是,输出Order,结束步骤(3),执"f丁 步骤(4);
[0037] 3-3)创建t时刻满足迀移条件,所述迀移条件是指:剩余链路带宽是否满足迀移最 低带宽要求,目的物理主机剩余CPU、内存大小是否满足迀移所需CPU、内存要求,能够进行 迀移的虚拟机集合Vt:遍历V,对于iev,只要i满足迀移条件且能够进行迀移的,就将i添加 到集合Vt中;
[0038] 3-4)确定t时刻能够同时迀移的虚拟机集合G(t):
[0039] 3-5)判断Vt中是否还有元素,如果是,初始化优先级综合确定因子Q-0,执行3-6);如果不是,执行3-8);
[0040] 3-6)遍历Vt,对于Vj e Vt,根据式(I)计算Q(Vj) ' Q_max-Q(Vj),如果Q-Q_max,对Q 重新赋值:Q-Q_max,迀移的虚拟机vm-V;如果不是,Q值不变;
[0041] 3-7)步骤3-6)遍历结束后,将3-6)遍历操作挑选出的待迀移虚拟机vm添加到t时 刻能够同时迀移的虚拟机集合G(t)中:G( t)-G(t) U {vm};
[0042] 更新底层网络状态信息:在算法上释放之前迀移的带宽,更新剩余待迀虚拟机在t 时刻迀移的可行性,为本轮选中的虚拟机安排迀移带宽。
[0043] 更新t时刻可迀移的虚拟机集合Vt,返回步骤3-5)。
[0044] 3-8)更新迁移计划Order :0rder-Order U {<t,G(t)>}。
[0045] 3-9)更新总的虚拟机迀移集合V:V-V/G(t)。
[0046] 3-10)更新迀移开始时刻t-t+inter(w),返回步骤3-2)。
[0047] inter(w)是Order中两个相邻迀移虚拟机结束迀移时刻之间的时间差。
[0048]本发明的有益效果为:
[0049] 1、本发明综合考虑了待迀移虚拟机的CPU大小、内存、可用链路带宽,宿主机CPU计 算能力,同属一个VDC的虚拟机之间内部通信流量等各种影响因子,根据综合影响因子确定 待迀虚拟机的优先级,确保满足迀移条件的虚拟机可以同时迀移。
[0050] 2、本发明采用SDN的新型架构,使得控制器可以实时自动的感知底层网络的状态 变化,为虚拟机的迀移提供全局最优路径,提高的迀移链路带宽的利用率。
[0051] 3、本发明可以同时降低虚拟机集群的总体迀移时间,同时有效减少由于迀移导致 的虚拟数据中心和每个虚拟机的平均宕机时间,从而提升云计算应用的服务质量水平,提 升数据中心的性能。
[0052] 4、传统迀移策略在同时迀移虚拟机确定虚拟机的优先级时,仅仅考虑单一影响因 子作为优先级确定因素。本发明采取多种影响因子的有机结合作为优先级确定因素,而且 可以根据对虚拟机迀移时各种影响因子不同权重的调节,适用于各种不同的应用场景,相 对于传统迀移策略,本方法的使用范围更广,可扩展性更好。
【附图说明】
[0053]图1为本发明基于SDN的云数据中心多虚拟机迀移调度计划系统框图。
[0054]图2为本发明基于SDN的云数据中心多虚拟机迀移调度计划流程图。
[0055] 图3为Sequencer模块内综合优先级算法运行流程图。
【具体实施方式】
[0056] 下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。
[0057] 实施例
[0058] 一种基于SDN的云数据中心多虚拟机迀移调度计划方法,该方法在基于SDN的云数 据中心多虚拟机迀移调度计划系统运行,所述基于SDN的云数据中心多虚拟机迀移调度计 划系统包括SDN全局控制器、Sequencer模块、VDC控制器、交换机、虚拟机,所述SDN全局控制 器包括Sequencer module、Server Manager、OpenFlow controlIerNNetwork Info数据库、 VDCs Info数据库;所述Server Manager主要负责实例化虚拟机或者虚拟交换机,并且实时 获取并监控物理节点的应用状态;所述OpenFlow controlIer负责与汇聚层和边缘层交换 机(支持OpenFlow协议)直接通信,下发迀移流量转发策略,控制迀移网络流量转发; Network Info数据库主要存储网络的拓扑信息、底层网络的状态和Sequencer module产生 的多虚拟机迀移方案策略;VDCs Info数据库主要存储VDC网络的拓扑信息,虚拟节点的状 态。整个global orchestrator中的核心部分是Sequencer module,多虚拟机迀移方案策略 产生算法嵌入在该模块当中。所述基于SDN的云数据中心多虚拟机迀移调度计划系统框图 如图1所示,图1中箭头表示不同模块之间的交互与连接,具体步骤包括:
[0059] (I)SDN全局控制器接收服务运营商SP提交的虚拟机集群迀移请求;所述虚拟机集 群迀移请求包括_>#¥' Vi表示待迀移的虚拟机,~表示待迀移的虚拟机所在 的源端主机,表示待迀移的虚拟机的目的主机,氧^表示待迀移的虚拟机的最小迀移带 宽;
[0060] (2)SDN全局控制器收集底层网络信息;
[0061] (3)将步骤(2)收集到的底层网络信息输入至Sequencer (迀移排序)模块, Sequencer模块生成优化后的虚拟机集群迀移方案策略;
[0062] (4)SDN全局控制器将生成的优化后的虚拟机集群迀移方案和迀移流量转发策略 发给VDC控制器和各底层交换机;
[0063] (5)根据优化后的虚拟机集群迀移方案策略,VDC控制器开启并管理虚拟机集群迀 移;
[0064] (6)同一虚拟数据中心VDC中,虚拟机之间用于内部通信的虚拟链路重新映射到相 应物理链路上;
[0065] (7)重新启用虚拟机,虚拟数据中心VDC恢复服务。本发明基于SDN的云数据中心多 虚拟机迀移调度计划流程图如图2所示。
[0066]所述步骤(2)中,所述步骤(2)中,所述底层网络信息包括底层物理网络信息、虚拟 网络信息,G(Ns,Ss,Ls)表示所述底层物理网络信息,N S表示物理节点,SS表示物理交换机,Ls 表示物理链路的集合;G(NV,SV,LV)表示所述虚拟网络信息,N v表示虚拟机,Sv表示虚拟交换 机,Lv表示虚拟链路的集合;
[0067]将所述底层物理网络信息存储在Network Info(网络信息)数据库,将所述虚拟网 络信息存储在VDCs Info (虚拟数据中心信息)数据库中。
[0068]所述步骤(3)中,Sequencer模块根据提出的虚拟机迀移优先级综合确定因子Q (Vi)不断的迭代计算,求出最优的多虚拟机迀移调度方案Order;虚拟机迀移优先级综合确 定因子Q(V1)的计算公式如式(I)所示:
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1