一种虚拟机迁移的管理方法和系统的制作方法

文档序号:6354357阅读:132来源:国知局
专利名称:一种虚拟机迁移的管理方法和系统的制作方法
技术领域
本发明涉及计算机应用领域,尤其涉及一种虚拟机迁移的管理方法和系统。
背景技术
当前,云计算已经由概念阶段转向落地,各大厂商纷纷结合自身现有产品提出各 自的解决方案。云计算不仅仅能够提供资源的按需分配,也能够支持节能减排,不但能够提升资 源利用率,又能减少运营成本。因此在云计算操作系统中如何对合理使用资源成为亟待解 决的问题。

发明内容
本发明提供一种虚拟机迁移的管理方法和系统,以解决如何最大化的利用资源的 问题。为解决上述技术问题,本发明提供了如下技术方案一种虚拟机迁移的管理方法,包括获取每台物理机当前时刻的负载;从负载小于预先设置的负载下限值的物理机中选择至少一台物理机作为源物理 机;从负载小于预先设置的负载上限值的物理机中选择至少一台物理机作为目标物理机;发起将所述源物理机上正在运行的全部虚拟机向所述目标物理机迁移的流程。优选的,所述方法还具有如下特点所述发起将所述源物理机上正在运行的全部 虚拟机向所述目标物理机迁移的流程之后,还包括关闭所述源物理机。优选的,所述方法还具有如下特点所述发起将所述源物理机上正在运行的全部 虚拟机向所述目标物理机迁移的流程,包括根据预先获取的每台目标物理机上运行一虚拟机所带来的负载成本,确定在发起 虚拟机迁移流程时目标物理机的负载为所述当前时刻的负载时向每台目标物理机能够迁 移的虚拟机的个数;根据所述向每台目标物理机能够迁移的物理机的个数,发起将所述源物理机上正 在运行的全部虚拟机向所述目标物理机迁移的流程。优选的,所述方法还具有如下特点从负载小于预先设置的负载上限值的物理机 中选择至少一台物理机作为目标物理机,包括获取至少两天在当前发起虚拟机迁移流程后的时间段内每个负载小于预先设置 的负载上限值的物理机的负载历史值;根据所述负载历史值,预测当前所述正在运行的虚拟机的个数小于所述个数上限 值的物理机在所述时间段的负载大小,得到负载估计值;从所述正在运行的虚拟机的个数小于所述个数上限值的物理机中,选择所述负载估计值小于预先设置的负载阈值的物理机为目标物理机。 优选的,所述方法还具有如下特点所述发起将所述源物理机上正在运行的全部 虚拟机向所述目标物理机迁移的流程,包括根据预先获取的每台目标物理机上运行一虚拟机所带来的负载成本,确定在发起 虚拟机迁移流程时目标物理机的负载为所述负载估计值时向每台目标物理机能够迁移的 虚拟机的个数;根据所述向每台目标物理机能够迁移的物理机的个数,发起将所述源物理机上正 在运行的全部虚拟机向所述目标物理机迁移的流程。一种虚拟机迁移的管理系统,包括获取装置,用于获取每台物理机当前时刻的负载;第一选择装置,用于从负载小于预先设置的负载下限值的物理机中选择至少一台 物理机作为源物理机;第二选择装置,用于从负载小于预先设置的负载上限值的物理机中选择至少一台 物理机作为目标物理机;处理装置,用于发起将所述源物理机上正在运行的全部虚拟机向所述目标物理机 迁移的流程。优选的,所述系统还具有如下特点所述系统还包括控制装置,用于关闭所述源物理机。优选的,所述系统还具有如下特点所述处理装置包括确定模块,用于根据预先获取的每台目标物理机上运行一虚拟机所带来的负载成 本,确定在发起虚拟机迁移流程时目标物理机的负载为所述当前时刻的负载时向每台目标 物理机能够迁移的虚拟机的个数;处理模块,用于根据所述向每台目标物理机能够迁移的物理机的个数,发起将所 述源物理机上正在运行的全部虚拟机向所述目标物理机迁移的流程。优选的,所述系统还具有如下特点所述第二选择装置包括获取模块,用于获取至少两天在当前发起虚拟机迁移流程后的时间段内每个负载 小于预先设置的负载上限值的物理机的负载历史值;预测模块,用于根据所述负载历史值,预测当前所述正在运行的虚拟机的个数小 于所述个数上限值的物理机在所述当前时间段内的负载大小,得到负载估计值;选择模块,用于从所述正在运行的虚拟机的个数小于所述个数上限值的物理机 中,选择所述负载估计值小于预先设置的负载阈值的物理机为目标物理机。优选的,所述系统还具有如下特点所述处理装置包括确定模块,用于根据预先获取的每台目标物理机上运行一虚拟机所带来的负载成 本,确定在发起虚拟机迁移流程时目标物理机的负载为所述负载估计值时向每台目标物理 机能够迁移的虚拟机的个数;处理模块,用于根据所述向每台目标物理机能够迁移的物理机的个数,发起将所 述源物理机上正在运行的全部虚拟机向所述目标物理机迁移的流程。本发明提供的一个或多个实施例,根据之前收集到的大量负载信息,截取相同时 间段内的数据进行分析,预测当天相应时间段的负载信息,再根据该预测得到的负载信息,管理系统中的资源流转,能够为资源的开启与关闭提供决策支持,提高了资源利用率。达到最大化的利用资源。


图1为本发明实施例一提供的虚拟机迁移的管理方法的流程示意图;图2为本发明实施例二提供的虚拟机迁移的管理方法的流程示意图;图3为本发明提供的虚拟机迁移的管理系统实施例的结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对 本发明作进一步的详细描述。需要说明的是,在不冲突的情况下,本申请中的实施例及实施 例中的特征可以相互任意组合。需要说明的是,本发明所提供的技术方案对于由多个物理机组成的服务平台的应 用场景均适用,如集群系统和云计算操作系统等。实施例一图1为本发明实施例一提供的虚拟机迁移的管理方法的流程示意图。其中所述实 施例一所述方法具体包括步骤101、获取每台物理机当前时刻的负载;例如,系统中包括5台物理机,依次编号为1 5。此处以百分比的方式记录负载, 在当前时刻的负载为20%,35%,40%,30%和75%。步骤102、从负载小于预先设置的负载下限值的物理机中选择至少一台物理机作 为源物理机;从负载小于预先设置的负载上限值的物理机中选择至少一台物理机作为目标 物理机;其中所述负载上限值大于负载下限值,该负载下限值是用来判断物理机的负载是 否轻的标准,该负载上限值是用来判断物理机的负载是否会超负荷的标准。在本例中,可以设置负载上限值为25%,负载下限值为70%。根据上述负载上限值和负载下限值,可以选出负载为20%的物理机1为源物理 机,而负载为35%的物理机2、负载为40%的物理机3以及负载为30%的物理机4均满足 目标物理机的负载条件,可以从中选择一台或多台作为目标物理机,例如,选择一台时,可 以选择负载最小的物理机4作为目标物理机,选择两台时,可以选择负载为35%的物理机2 和负载为30%的物理机4作为目标物理机。当然,如果负载小于负载上限值的物理机有多个时,也可以选择多个物理机作为 源物理机,但是需保证全部物理机的负载总和不应过高,以免造成目标物理机负载超负荷。步骤103、发起将所述源物理机上正在运行的全部虚拟机向所述目标物理机迁移 的流程。如果目标物理机的个数为一台时,可以将源物理机上正在运行的全部虚拟机直接 迁移到目标物理机;如果目标物理机的个数为多台时,可以随机将源物理机上正在运行的全部虚拟机 迁移到多台目标物理机上;也可以优先将虚拟机迁移到目标物理机中负载低的物理机上。例如,物理机1正在运行的虚拟机为3个,可以向负载为35%的物理机2迁移1个虚拟机,向负载为30%的物理机4迁移2个虚拟机。当然,还可以根据预先获取的每台目标物理机 上运行一虚拟机所带来的负载成本来发起虚拟机迁移的流程。本实施例中,可以理解为在 发起虚拟机迁移流程时目标物理机的负载为所述当前时刻的负载时向每台目标物理机能 够迁移的虚拟机的个数。例如,物理机2和物理机4上运行一虚拟机所带来的负载成本不 同,假定依次为5%和10%,则在物理机1正在运行的虚拟机为3个时,根据目标物理机当 前的负载,确定向每个目标物理机迁移的虚拟机的个数,向负载为35 %的物理机2迁移2个 虚拟机,向负载为30%的物理机4迁移1个虚拟机,以充分发挥目标物理机的工作性能。其中每台物理机上运行一虚拟机所带来的负载成本来可以通过长时间的统计得 到。当然,可选的,为了节省能源,可以在虚拟机迁移完成后关闭所述源物理机,其中 该关闭动作可以是人工处理,也可以是设备完成。本发明实施例一提供的方法,通过将负载轻的物理机上正在运行的全部虚拟机迁 移到其他物理机上,实现了物理机上资源的最大化使用。需要说明的是,在选择源物理机和目标物理机时可以直接根据每台物理机上正在 运行的虚拟机个数来选择,即正在运行的虚拟机个数小于个数下限值的物理机可以作为源 物理机,正在运行的虚拟机个数小于个数上限值的物理机可以作为目标物理机。实施例二图2为本发明实施例二提供的虚拟机迁移的管理方法的流程示意图。图2所示方 法实施例具体包括步骤201、获取每台物理机当前时刻的负载;例如,系统中包括5台物理机,依次编号为1 5。此处以百分比的方式记录负载, 在当前时刻的负载为20%,35%,40%,30%和75%。步骤202、从负载小于预先设置的负载下限值的物理机中选择至少一台物理机作 为源物理机;在本例中,以负载上限值为25%以及负载下限值为70%为例进行说明。此例中, 选出负载为20%的物理机1为源物理机。步骤203、从负载的历史数据中,获取所述负载小于预先设置的负载上限值的物理 机在虚拟机迁移完成后的时间段内的负载历史值;本例中,需要获取负载为35%的物理机2、负载为40%的物理机3以及负载为 30%的物理机4的负载历史值,且该负载历史值对应的时间段应该与本次虚拟机迁移之后 的时间段。例如,虚拟机迁移完成后所处的时间段为10 12点,则获取负载历史数据中物理 机2 4在10 12点的负载历史值。步骤204、获取至少两天在当前发起虚拟机迁移流程后的时间段内每个负载小于 预先设置的负载上限值的物理机的负载历史值;其中预测负载值的方式包括方式一获取负载历史数据中至少两天此时段的平均负载值,再对至少两天的平 均负载值取平均得到负载估计值;
方式二 获取负载历史数据中至少两天此时段的平均负载值,为每个平均负载值 设置对应的权重,使用该平均负载值和其对应的权重,计算负载估计值。方式三获取负载历史数据中至少两天此时段的平均负载值,并根据得到平均负 载值绘制图形,如果负载历史数据中记录该物理机2的负载值每天在10 12都在某一负 载值上下浮动,且浮动的范围较小,则将该负载值作为负载估计值;如果负载历史数据中记 录该物理机2的负载值每天在10 12都会发生上升或下降,且变化的幅度基本相同,例 如,上升的幅度为20%,则根据该幅度进行预测即可。假定本例中,物理机2的负载估计值为40 %,物理机3的负载估计值为35 %,物理 机4的负载估计值为55%。

步骤205、从所述正在运行的虚拟机的个数小于所述个数上限值的物理机中,选择 所述负载估计值小于预先设置的负载阈值的物理机为目标物理机;本例中,设定该负载阈值为45%,则物理机2和物理机3可以作为目标物理机。步骤206、发起将所述源物理机上正在运行的全部虚拟机向所述目标物理机迁移 的流程。其中本步骤也可以根据预先获取的每台目标物理机上运行一虚拟机所带来的负 载成本来发起虚拟机的迁移流程。当然,可选的,为了节省能源,可以在虚拟机迁移完成后关闭所述源物理机。实施例二提供的方法,通过将负载轻的物理机上正在运行的虚拟机迁移到其他物 理机上,实现了物理机上资源的最大化使用;通过预测物理机的负载后在选择目标物理机, 可以准确选择,避免出现目标物理机的负载在上述时间段瞬间升高导致无法处理迁移过来 的虚拟机的问题,保证了物理机的稳定运行。实施例三实施例三与实施例二的区别在于,所述发起将所述源物理机上正在运行的全部虚 拟机向所述目标物理机迁移的流程,其中该步骤中也是根据预先获取的每台目标物理机上 运行一虚拟机所带来的负载成本进行的,但在本实施例中是确定在每台目标物理机当前时 刻的负载估计值条件下向每台目标物理机能够迁移的虚拟机的个数。具体包括步骤Al、根据预先获取的每台目标物理机上运行一虚拟机所带来的负载成本,确 定在发起虚拟机迁移流程时目标物理机的负载为所述负载估计值时向每台目标物理机能 够迁移的虚拟机的个数;例如,物理机2的负载估计值为40%,物理机3的负载估计值为35%,其中物理机 2和物理机3上运行一虚拟机所带来的负载成本不同,假定依次为5%和10%,如果有3个 虚拟机需要迁移,则出于物理机2和物理机3负载均衡的目的的考虑,可以确定能够向物理 机2迁移2个虚拟机,所带来的负载成本总和为10%,向物理机3迁移1个虚拟机,所带来 的负载成本为10%。步骤A2、根据所述向每台目标物理机能够迁移的物理机的个数,发起将所述源物 理机上正在运行的全部虚拟机向所述目标物理机迁移的流程。实施例三提供的方法,通过将负载轻的物理机上正在运行的虚拟机迁移到其他物 理机上,实现了物理机上资源的最大化使用;通过预测物理机的负载后在选择目标物理机, 可以准确选择,避免出现目标物理机的负载在上述时间段瞬间升高导致无法处理迁移过来的虚拟机的问题,保证了物理机的稳定运行;通过考虑每台目标物理机上运行一虚拟机所 带来的负载成本,可以保证虚拟机迁移后目标物理机的负载均衡,保证物理机稳定运行。针对上述实施例 一至三,需要说明的是,本发明在发起虚拟机迁移流程中,优选 的,根据每台目标物理机上运行一虚拟机所带来的负载成本进行虚拟机迁移操作。图3为本发明提供的虚拟机迁移的管理系统实施例的结构示意图。结合实施例一 至三中的方法,所述系统包括获取装置,用于获取每台物理机当前时刻的负载;第一选择装置,用于从负载小于预先设置的负载下限值的物理机中选择至少一台 物理机作为源物理机;第二选择装置,用于从负载小于预先设置的负载上限值的物理机中选择至少一台 物理机作为目标物理机;处理装置,用于发起将所述源物理机上正在运行的全部虚拟机向所述目标物理机 迁移的流程。其中所述系统还包括控制装置,用于关闭所述源物理机。其中所述处理装置包括确定模块,用于根据预先获取的每台目标物理机上运行一虚拟机所带来的负载成 本,确定在发起虚拟机迁移流程时目标物理机的负载为所述当前时刻的负载时向每台目标 物理机能够迁移的虚拟机的个数;处理模块,用于根据所述向每台目标物理机能够迁移的物理机的个数,发起将所 述源物理机上正在运行的全部虚拟机向所述目标物理机迁移的流程。其中所述第二选择装置包括获取模块,用于获取至少两天在当前发起虚拟机迁移流程后的时间段内每个负载 小于预先设置的负载上限值的物理机的负载历史值;预测模块,用于根据所述负载历史值,预测当前所述正在运行的虚拟机的个数小 于所述个数上限值的物理机在所述时间段内负载大小,得到负载估计值;选择模块,用于从所述正在运行的虚拟机的个数小于所述个数上限值的物理机 中,选择所述负载估计值小于预先设置的负载阈值的物理机为目标物理机。其中所述处理装置包括确定模块,用于根据预先获取的每台目标物理机上运行一虚拟机所带来的负载成 本,确定在发起虚拟机迁移流程时目标物理机的负载为所述负载估计值时向每台目标物理 机能够迁移的虚拟机的个数;处理模块,用于根据所述向每台目标物理机能够迁移的物理机的个数,发起将所 述源物理机上正在运行的全部虚拟机向所述目标物理机迁移的流程。本发明提供的系统实施例,通过将负载轻的物理机上正在运行的虚拟机迁移到其 他物理机上,实现了物理机上资源的最大化使用;通过预测物理机的负载后在选择目标物 理机,可以准确选择,避免出现目标物理机的负载在上述时间段瞬间升高导致无法处理迁 移过来的虚拟机的问题,保证了物理机的稳定运行;通过考虑每台目标物理机上运行一虚 拟机所带来的负载成本,可以保证虚拟机迁移后目标物理机的负载均衡,保证物理机稳定 运行。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程 序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在 相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤 之一或其组合。可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可 以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电 路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现, 它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为 独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机 可读取存储介质可以是只读存储器,磁盘或光盘等。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。
权利要求
1.一种虚拟机迁移的管理方法,其特征在于,包括获取每台物理机当前时刻的负载;从负载小于预先设置的负载下限值的物理机中选择至少一台物理机作为源物理机;从 负载小于预先设置的负载上限值的物理机中选择至少一台物理机作为目标物理机;发起将所述源物理机上正在运行的全部虚拟机向所述目标物理机迁移的流程。
2.根据权利要求1所述的方法,其特征在于,所述发起将所述源物理机上正在运行的 全部虚拟机向所述目标物理机迁移的流程之后,还包括关闭所述源物理机。
3.根据权利要求1或2所述的方法,其特征在于,发起将所述源物理机上正在运行的全 部虚拟机向所述目标物理机迁移的流程,包括根据预先获取的每台目标物理机上运行一虚拟机所带来的负载成本,确定在发起虚拟 机迁移流程时目标物理机的负载为所述当前时刻的负载时向每台目标物理机能够迁移的 虚拟机的个数;根据所述向每台目标物理机能够迁移的物理机的个数,发起将所述源物理机上正在运 行的全部虚拟机向所述目标物理机迁移的流程。
4.根据权利要求1或2所述的方法,其特征在于,从负载小于预先设置的负载上限值的 物理机中选择至少一台物理机作为目标物理机,包括获取至少两天在当前发起虚拟机迁移流程后的时间段内每个负载小于预先设置的负 载上限值的物理机的负载历史值;根据所述负载历史值,预测当前所述正在运行的虚拟机的个数小于所述个数上限值的 物理机在所述时间段的负载大小,得到负载估计值;从所述正在运行的虚拟机的个数小于所述个数上限值的物理机中,选择所述负载估计 值小于预先设置的负载阈值的物理机为目标物理机。
5.根据权利要求4所述的方法,其特征在于,所述发起将所述源物理机上正在运行的 全部虚拟机向所述目标物理机迁移的流程,包括根据预先获取的每台目标物理机上运行一虚拟机所带来的负载成本,确定在发起虚拟 机迁移流程时目标物理机的负载为所述负载估计值时向每台目标物理机能够迁移的虚拟 机的个数;根据所述向每台目标物理机能够迁移的物理机的个数,发起将所述源物理机上正在运 行的全部虚拟机向所述目标物理机迁移的流程。
6.一种虚拟机迁移的管理系统,其特征在于,包括获取装置,用于获取每台物理机当前时刻的负载;第一选择装置,用于从负载小于预先设置的负载下限值的物理机中选择至少一台物理 机作为源物理机;第二选择装置,用于从负载小于预先设置的负载上限值的物理机中选择至少一台物理 机作为目标物理机;处理装置,用于发起将所述源物理机上正在运行的全部虚拟机向所述目标物理机迁移 的流程。
7.根据权利要求6所述的系统,其特征在于,所述系统还包括控制装置,用于关闭所述源物理机。
8.根据权利要求6或7所述的系统,其特征在于,所述处理装置包括确定模块,用于根据预先获取的每台目标物理机上运行一虚拟机所带来的负载成本, 确定在发起虚拟机迁移流程时目标物理机的负载为所述当前时刻的负载时向每台目标物 理机能够迁移的虚拟机的个数;处理模块,用于根据所述向每台目标物理机能够迁移的物理机的个数,发起将所述源 物理机上正在运行的全部虚拟机向所述目标物理机迁移的流程。
9.根据权利要求6或7所述的系统,其特征在于,所述第二选择装置包括获取模块,用于获取至少两天在当前发起虚拟机迁移流程后的时间段内每个负载小于 预先设置的负载上限值的物理机的负载历史值;预测模块,用于根据所述负载历史值,预测当前所述正在运行的虚拟机的个数小于所 述个数上限值的物理机在所述当前时间段内的负载大小,得到负载估计值;选择模块,用于从所述正在运行的虚拟机的个数小于所述个数上限值的物理机中,选 择所述负载估计值小于预先设置的负载阈值的物理机为目标物理机。
10.根据权利要求9所述的系统,其特征在于,所述处理装置包括确定模块,用于根据预先获取的每台目标物理机上运行一虚拟机所带来的负载成本, 确定在发起虚拟机迁移流程时目标物理机的负载为所述负载估计值时向每台目标物理机 能够迁移的虚拟机的个数;处理模块,用于根据所述向每台目标物理机能够迁移的物理机的个数,发起将所述源 物理机上正在运行的全部虚拟机向所述目标物理机迁移的流程。
全文摘要
本发明提供一种虚拟机迁移的管理方法和系统。所述方法,包括从负载小于预先设置的负载下限值的物理机中选择至少一台物理机作为源物理机;从负载小于预先设置的负载上限值的物理机中选择至少一台物理机作为目标物理机;发起将所述源物理机上正在运行的全部虚拟机向所述目标物理机迁移的流程。
文档编号G06F9/48GK102096601SQ201110036208
公开日2011年6月15日 申请日期2011年2月11日 优先权日2011年2月11日
发明者王理想, 郭锋 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1