CN105138408A - 一种基于OpenStack的虚拟机迁移方法和装置 - Google Patents

一种基于OpenStack的虚拟机迁移方法和装置 Download PDF

Info

Publication number
CN105138408A
CN105138408A CN201510629242.1A CN201510629242A CN105138408A CN 105138408 A CN105138408 A CN 105138408A CN 201510629242 A CN201510629242 A CN 201510629242A CN 105138408 A CN105138408 A CN 105138408A
Authority
CN
China
Prior art keywords
virtual machine
machine
virtual
physical machine
migration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510629242.1A
Other languages
English (en)
Other versions
CN105138408B (zh
Inventor
张延枫
殷武烁
焦浩霖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201510629242.1A priority Critical patent/CN105138408B/zh
Publication of CN105138408A publication Critical patent/CN105138408A/zh
Application granted granted Critical
Publication of CN105138408B publication Critical patent/CN105138408B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明实施例提供一种基于OpenStack的虚拟机迁移方法和装置,其中方法包括:根据各虚拟机的CPU利用率、内存利用率和磁盘利用率得到各虚拟机第一综合利用率,将第一综合利用率大于预设第一阈值的第一虚拟机加入迁移队列,当迁移队列不为空时,确定各未加入队列的第二虚拟机相对应的第一物理机,根据第二虚拟机的CPU利用率、内存利用率和磁盘利用率得到各第一物理机的第二综合利用率,将第一物理机中所有第二综合利用率不大于预设第二阈值的第二物理机中权值最小的虚拟机作为目的虚拟机,将迁移队列中位于队头的第一虚拟机迁移至该目的虚拟机,以同时考虑了CPU利用率、内存利用率和磁盘利用率的综合利用率为资源分配的指标,使物理机具有更高的资源利用率。

Description

一种基于OpenStack的虚拟机迁移方法和装置
技术领域
本发明涉及资源调度技术领域,特别是涉及一种基于OpenStack的虚拟机迁移方法和装置。
背景技术
目前,随着云计算的广泛使用,让整个云数据中心的资源得到充分均衡地利用,已经成为云计算环境中资源高度方面最重根据问题之一。OpenStack属于云计算领域最为主流的开源IaaS云平台,现在已经成为IT企业研究的开源产品,它将底层庞大的硬件资源封闭抽象成云服务机群,为用户提供各种公共资源,如计算、存储、网络、操作系统、计费使用等。但是OpenStack在资源迁移方面有很多不足,其仅考虑物理机的内存利用率,将内存利用率大小作为当前资源分配的重要指标,并不符合最大化利用资源的目标。
发明内容
有鉴于此,本发明实施例提供一种基于OpenStack的虚拟机迁移方法和装置,以解决现有技术中OpenStack仅考虑物理机的内存利用率,将内存利用率大小作为当前资源分配的重要指标,并不符合最大化利用资源的目标的问题。
为实现上述目的,本发明实施例提供如下技术方案:
一种基于OpenStack的虚拟机迁移方法,包括:根据所有虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率,并将所有所述第一综合利用率大于预设第一阈值的第一虚拟机加入迁移队列;
当检测到所述迁移队列不为空时,确定所有未加入所述迁移队列的第二虚拟机相对应的第一物理机,根据所述第二虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设物理机调度策略计算得到各所述第一物理机的第二综合利用率,确定所述第一物理机中所有所述第二综合利用率不大于预设第二阈值的第二物理机;
根据预设代价函数计算各所述第二物理机中所有虚拟机的权值,将各所述第二物理机中所有虚拟机中权值最小的虚拟机作为目的虚拟机,将所述迁移队列中位于队头的第一虚拟机迁移至所述目的虚拟机。
其中,当检测到所述迁移队列为空时,判断是否接收到虚拟机建立请求;
若接收到,则根据所有所述虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设物理机调度策略计算得到各所述物理机的第二综合利用率,确定所有所述第二综合利用率不大于预设第二阈值的第三物理机;
在任一所述第三物理机中建立虚拟机。
其中,所述确定所有所述第二综合利用率不大于预设第二阈值的第三物理机后还包括:
判断是否存在所述第三物理机;
若不存在,则返回建立错误信息,操作结束。
其中,所述根据所有虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率包括:
每隔预设时间间隔获取所有虚拟机的CPU利用率、内存利用率和磁盘利用率;
根据所有所述虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率。
其中,所述根据所有虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率包括:
接收虚拟机迁移请求,获取所有虚拟机的CPU利用率、内存利用率和磁盘利用率;
根据所有所述虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率。
其中,所述确定所述第一物理机中所有所述第二综合利用率不大于预设第二阈值的第二物理机后还包括:
判断是否存在所述第二物理机;
若不存在,则返回迁移错误信息,操作结束。
一种基于OpenStack的虚拟机迁移装置,包括:第一计算模块、第二计算模块和迁移模块;其中,
所述第一计算模块,用于根据所有虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率,并将所有所述综合利用率大于预设第一阈值的第一虚拟机加入迁移队列;
所述第二计算模块,用于当检测到所述迁移队列不为空时,确定所有未加入队列的第二虚拟机相对应的第一物理机,根据所述第二虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设物理机调度策略计算得到各所述第一物理机的第二综合利用率,确定所述第一物理机中所有所述第二综合利用率不大于预设第二阈值的第二物理机;
所述迁移模块,用于根据预设代价函数计算各所述第二物理机中所有虚拟机的权值,将各所述第二物理机中所有虚拟机中权值最小的虚拟机作为目的虚拟机,将所述迁移队列中位于队头的第一虚拟机迁移至所述目的虚拟机。
其中,所述虚拟机迁移装置,还包括:
建立模块,用于当检测到所述迁移队列为空时,判断是否接收到虚拟机建立请求;
若接收到,则根据所有所述虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设物理机调度策略计算得到各所述物理机的第二综合利用率,确定所有所述第二综合利用率不大于预设第二阈值的第三物理机;
在任一所述第三物理机中建立虚拟机。
其中,所述建立模块包括第一判断单元,用于判断是否存在所述第三物理机;若不存在,则返回建立错误信息,操作结束。
其中,所述第二计算模块包括第二判断单元,用于判断是否存在所述第二物理机;若不存在,则返回迁移错误信息,操作结束。
基于上述技术方案,本发明实施例提供的种基于OpenStack的虚拟机迁移方法和装置,根据所有所述虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率,并将所有所述综合利用率大于预设第一阈值的第一虚拟机加入迁移队列;当检测到所述迁移队列不为空时,确定所有未加入队列的第二虚拟机相对应的第一物理机,根据所述第二虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设物理机调度策略计算得到各所述第一物理机的第二综合利用率,确定所述第一物理机中所有所述第二综合利用率不大于预设第二阈值的第二物理机;根据预设代价函数计算各所述第二物理机中所有虚拟机的权值,将各所述第二物理机中所有虚拟机中权值最小的虚拟机作为目的虚拟机,将所述迁移队列中位于队头的第一虚拟机迁移至所述目的虚拟机。根据虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率,以该第一综合利用率为依据,挑选出需要进行迁移的第一虚拟机,根据未加入队列的第二虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设物理机调度策略计算得到各第一物理机的第二综合利用率,以该第二综合利用率为依据,挑选出适合进行迁移的第二物理机,最后将选出的需要进行迁移的第一虚拟机迁移至选出的适合进行迁移的第二物理机中权值最小的虚拟机中,实现虚拟机迁移,资源的分配,以同时考虑了CPU利用率、内存利用率和磁盘利用率的综合利用率为资源分配的指标,使物理机具有更高的资源利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的基于OpenStack的虚拟机迁移方法的流程图;
图2为本发明实施例提供的基于OpenStack的虚拟机迁移方法中建立虚拟机的方法流程图;
图3为本发明实施例提供的基于OpenStack的虚拟机迁移方法中返回建立错误信息的方法流程图;
图4为本发明实施例提供的基于OpenStack的虚拟机迁移方法中计算得到各虚拟机的第一综合利用率的方法流程图;
图5为本发明实施例提供的基于OpenStack的虚拟机迁移方法中计算得到各虚拟机的第一综合利用率的另一方法流程图;
图6为本发明实施例提供的基于OpenStack的虚拟机迁移方法中返回迁移错误信息的方法流程图;
图7为本发明实施例提供的基于OpenStack的虚拟机迁移装置的系统框图;
图8为本发明实施例提供的基于OpenStack的虚拟机迁移装置的另一系统框图;
图9为本发明实施例提供的基于OpenStack的虚拟机迁移装置中建立模块的结构框图;
图10为本发明实施例提供的基于OpenStack的虚拟机迁移装置中第二计算模块的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的基于OpenStack的虚拟机迁移方法的流程图,以同时考虑了CPU利用率、内存利用率和磁盘利用率的综合利用率为资源分配的指标,使物理机具有更高的资源利用率;参照图1,该基于OpenStack的虚拟机迁移方法可以包括:
步骤S100:根据所有虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率,并将所有所述第一综合利用率大于预设第一阈值的第一虚拟机加入迁移队列;
可选的,可以是每隔预设时间间隔对虚拟机进行一次迁移,也可以是在接收虚拟机迁移请求后对虚拟机进行迁移。
当每隔预设时间间隔对虚拟机进行一次迁移时,每隔预设时间间隔获取所有虚拟机的CPU利用率、内存利用率和磁盘利用率,然后根据所有所述虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率。
当在接收虚拟机迁移请求后对虚拟机进行迁移时,则在接收到虚拟机迁移请求后,获取所有虚拟机的CPU利用率、内存利用率和磁盘利用率,根据所有所述虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率。
可选的,接收的虚拟机迁移请求可以为动态迁移请求,当接收的虚拟机迁移请求可以为动态迁移请求时,对虚拟机进行热迁移。
步骤S110:当检测到所述迁移队列不为空时,确定所有未加入所述迁移队列的第二虚拟机相对应的第一物理机,根据所述第二虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设物理机调度策略计算得到各所述第一物理机的第二综合利用率,确定所述第一物理机中所有所述第二综合利用率不大于预设第二阈值的第二物理机;
若检测到所述迁移队列不为空,则说明存在第一综合利用率大于预设第一阈值的虚拟机,即存在需要进行迁移的虚拟机,因此,当检测到所述迁移队列不为空时,需要确定可以进行迁移的物理机,将该需要进行迁移的虚拟机迁移至该可以进行迁移的物理机中。
相反的,若检测到所述迁移队列为空,则说明不存在第一综合利用率大于预设第一阈值的虚拟机,即不存在需要进行迁移的虚拟机,无需对虚拟机进行迁移操作。
可选的,可以在当检测到所述迁移队列为空时,进行虚拟机的建立操作,判断是否接收到虚拟机建立请求,若接收到,则根据所有所述虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设物理机调度策略计算得到各所述物理机的第二综合利用率,确定所有所述第二综合利用率不大于预设第二阈值的第三物理机,在任一所述第三物理机中建立虚拟机。
可选的,在建立虚拟机的过程中,在确定所有第二综合利用率不大于预设第二阈值的第三物理机后,可以判断是否存在第二综合利用率不大于预设第二阈值的第三物理机,若存在,则在任一所述第三物理机中建立虚拟机,完成虚拟机建立操作,若不存在,则返回建立错误信息,操作结束。
可选的,可以在确定第一物理机中所有第二综合利用率不大于预设第二阈值的第二物理机后,判断是否存在第二综合利用率不大于预设第二阈值的第二物理机,若存在,则进行步骤S120,若不存在,则返回迁移错误信息,操作结束。
步骤S120:根据预设代价函数计算各所述第二物理机中所有虚拟机的权值,将各所述第二物理机中所有虚拟机中权值最小的虚拟机作为目的虚拟机,将所述迁移队列中位于队头的第一虚拟机迁移至所述目的虚拟机。
基于上述技术方案,本发明实施例提供的种基于OpenStack的虚拟机迁移方法,根据所有所述虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率,并将所有所述综合利用率大于预设第一阈值的第一虚拟机加入迁移队列;当检测到所述迁移队列不为空时,确定所有未加入队列的第二虚拟机相对应的第一物理机,根据所述第二虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设物理机调度策略计算得到各所述第一物理机的第二综合利用率,确定所述第一物理机中所有所述第二综合利用率不大于预设第二阈值的第二物理机;根据预设代价函数计算各所述第二物理机中所有虚拟机的权值,将各所述第二物理机中所有虚拟机中权值最小的虚拟机作为目的虚拟机,将所述迁移队列中位于队头的第一虚拟机迁移至所述目的虚拟机。根据虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率,以该第一综合利用率为依据,挑选出需要进行迁移的第一虚拟机,根据未加入队列的第二虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设物理机调度策略计算得到各第一物理机的第二综合利用率,以该第二综合利用率为依据,挑选出适合进行迁移的第二物理机,最后将选出的需要进行迁移的第一虚拟机迁移至选出的适合进行迁移的第二物理机中权值最小的虚拟机中,实现虚拟机迁移,资源的分配,以同时考虑了CPU利用率、内存利用率和磁盘利用率的综合利用率为资源分配的指标,使物理机具有更高的资源利用率。
可选的,图2示出了本发明实施例提供的基于OpenStack的虚拟机迁移方法中建立虚拟机的方法流程图,参照图2,该建立虚拟机的方法可以包括:
步骤S200:当检测到所述迁移队列为空时,判断是否接收到虚拟机建立请求;
当检测到所述迁移队列为空,说明所有虚拟机中不存在第一综合利用率大于预设第一阈值的第一虚拟机,即不存在需要进行迁移的虚拟机,无需对虚拟机进行迁移操作,此时,可通过判断是否接收到虚拟机建立请求来判断是否进行虚拟机的建立操作。
步骤S210:若接收到,则根据所有所述虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设物理机调度策略计算得到各所述物理机的第二综合利用率,确定所有所述第二综合利用率不大于预设第二阈值的第三物理机;
若接收到虚拟机建立请求,则进行虚拟机的建立操作,根据所有虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设物理机调度策略计算得到各物理机的第二综合利用率,确定所有第二综合利用率不大于预设第二阈值的第三物理机,得到可建立虚拟机的物理机。
步骤S220:在任一所述第三物理机中建立虚拟机。
即在所有可建立虚拟机的物理机中的任一物理机中建立虚拟机,完成虚拟机的建立操作。
可选的,图3示出了本发明实施例提供的基于OpenStack的虚拟机迁移方法中返回建立错误信息的方法流程图,参照图3,该返回建立错误信息的方法可以包括:
步骤S300:判断是否存在所述第三物理机;
判断在所有物理机中是否存在第二综合利用率不大于预设第二阈值的第三物理机,通过判定是否存在第三物理机来判断是否存在可建立虚拟机的物理机。
步骤S310:若不存在,则返回建立错误信息,操作结束。
若在所有物理机中不存在第二综合利用率不大于预设第二阈值的第三物理机,则说明书在所有物理机中不存在可建立虚拟机的物理机,返回建立错误信息,告知用户无可建立虚拟机的物理机,操作结束。
若在所有物理机中存在第二综合利用率不大于预设第二阈值的第三物理机,则说明在所有物理机中存在可建立虚拟机的物理机,可在任一所述第三物理机中建立虚拟机,完成虚拟机的建立操作。
可选的,图4示出了本发明实施例提供的基于OpenStack的虚拟机迁移方法中计算得到各虚拟机的第一综合利用率的方法流程图,参照图4,该计算得到各虚拟机的第一综合利用率的方法可以包括:
步骤S400:每隔预设时间间隔获取所有虚拟机的CPU利用率、内存利用率和磁盘利用率;
可以是每隔预设时间间隔对虚拟机进行一次迁移操作,当每隔预设时间间隔对虚拟机进行一次迁移操作时,应该每隔预设时间间隔获取所有虚拟机的CPU利用率、内存利用率和磁盘利用率。
步骤S410:根据所有所述虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率。
在每次获取得到所有虚拟机的CPU利用率、内存利用率和磁盘利用率后,均根据所有虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率。
可选的,图5示出了本发明实施例提供的基于OpenStack的虚拟机迁移方法中计算得到各虚拟机的第一综合利用率的另一方法流程图,参照图5,该计算得到各虚拟机的第一综合利用率的另一方法可以包括:
步骤S500:接收虚拟机迁移请求,获取所有虚拟机的CPU利用率、内存利用率和磁盘利用率;
可以是在接收虚拟机迁移请求后对虚拟机进行迁移操作,当是在接收虚拟机迁移请求后对虚拟机进行迁移操作时,应该在每次接收虚拟机迁移请求后获取所有虚拟机的CPU利用率、内存利用率和磁盘利用率。
步骤S510:根据所有所述虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率。
在每次获取得到所有虚拟机的CPU利用率、内存利用率和磁盘利用率后,均根据所有虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率。
可选的,图6示出了本发明实施例提供的基于OpenStack的虚拟机迁移方法中返回迁移错误信息的方法流程图,参照图6,该返回迁移错误信息的方法可以包括:
步骤S600:判断是否存在所述第二物理机;
判断在所有第一物理机中是否存在第二综合利用率不大于预设第二阈值的第二物理机,通过判定是否存在第二物理机来判断是否存在可进行迁移的物理机。
步骤S610:若不存在,则返回迁移错误信息,操作结束。
若在所有第一物理机中不存在第二综合利用率不大于预设第二阈值的第二物理机,则说明在所有第一物理机中不存在可进行迁移的物理机,返回迁移错误信息,告知用户无可可进行迁移的物理机,操作结束。
本发明实施例提供的基于OpenStack的虚拟机迁移方法,以同时考虑了CPU利用率、内存利用率和磁盘利用率的综合利用率为资源分配的指标,使物理机具有更高的资源利用率。
下面对本发明实施例提供的OpenStack的虚拟机迁移装置进行介绍,下文描述的OpenStack的虚拟机迁移装置与上文描述的OpenStack的虚拟机迁移方法可相互对应参照。
图7为本发明实施例提供的基于OpenStack的虚拟机迁移装置的系统框图,参照图7,该基于OpenStack的虚拟机迁移装置可以包括:第一计算模块100、第二计算模块200和迁移模块300;其中,
第一计算模块100,用于根据所有虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率,并将所有所述综合利用率大于预设第一阈值的第一虚拟机加入迁移队列;
第二计算模块200,用于当检测到所述迁移队列不为空时,确定所有未加入队列的第二虚拟机相对应的第一物理机,根据所述第二虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设物理机调度策略计算得到各所述第一物理机的第二综合利用率,确定所述第一物理机中所有所述第二综合利用率不大于预设第二阈值的第二物理机;
迁移模块300,用于根据预设代价函数计算各所述第二物理机中所有虚拟机的权值,将各所述第二物理机中所有虚拟机中权值最小的虚拟机作为目的虚拟机,将所述迁移队列中位于队头的第一虚拟机迁移至所述目的虚拟机。
可选的,图8示出了本发明实施例提供的基于OpenStack的虚拟机迁移装置的另一系统框图,参照图8,该基于OpenStack的虚拟机迁移装置还可以包括:建立模块400。
建立模块400,用于当检测到所述迁移队列为空时,判断是否接收到虚拟机建立请求;
若接收到,则根据所有所述虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设物理机调度策略计算得到各所述物理机的第二综合利用率,确定所有所述第二综合利用率不大于预设第二阈值的第三物理机;
在任一所述第三物理机中建立虚拟机。
可选的,图9示出了本发明实施例提供的基于OpenStack的虚拟机迁移装置中建立模块400的结构框图,参照图9,该建立模块400可以包括:第一判断单元410,用于判断是否存在所述第三物理机;若不存在,则返回建立错误信息,操作结束。
可选的,图10示出了本发明实施例提供的基于OpenStack的虚拟机迁移装置中第二计算模块200的结构框图,参照图9,该第二计算模块200可以包括:第二判断单元210,用于判断是否存在所述第二物理机;若不存在,则返回迁移错误信息,操作结束。
本发明实施例提供的基于OpenStack的虚拟机迁移装置,以同时考虑了CPU利用率、内存利用率和磁盘利用率的综合利用率为资源分配的指标,使物理机具有更高的资源利用率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种基于OpenStack的虚拟机迁移方法,其特征在于,包括:
根据所有虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率,并将所有所述第一综合利用率大于预设第一阈值的第一虚拟机加入迁移队列;
当检测到所述迁移队列不为空时,确定所有未加入所述迁移队列的第二虚拟机相对应的第一物理机,根据所述第二虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设物理机调度策略计算得到各所述第一物理机的第二综合利用率,确定所述第一物理机中所有所述第二综合利用率不大于预设第二阈值的第二物理机;
根据预设代价函数计算各所述第二物理机中所有虚拟机的权值,将各所述第二物理机中所有虚拟机中权值最小的虚拟机作为目的虚拟机,将所述迁移队列中位于队头的第一虚拟机迁移至所述目的虚拟机。
2.根据权利要求1所述的虚拟机迁移方法,其特征在于,
当检测到所述迁移队列为空时,判断是否接收到虚拟机建立请求;
若接收到,则根据所有所述虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设物理机调度策略计算得到各所述物理机的第二综合利用率,确定所有所述第二综合利用率不大于预设第二阈值的第三物理机;
在任一所述第三物理机中建立虚拟机。
3.根据权利要求2所述的虚拟机迁移方法,其特征在于,所述确定所有所述第二综合利用率不大于预设第二阈值的第三物理机后还包括:
判断是否存在所述第三物理机;
若不存在,则返回建立错误信息,操作结束。
4.根据权利要求1所述的虚拟机迁移方法,其特征在于,所述根据所有虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率包括:
每隔预设时间间隔获取所有虚拟机的CPU利用率、内存利用率和磁盘利用率;
根据所有所述虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率。
5.根据权利要求1所述的虚拟机迁移方法,其特征在于,所述根据所有虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率包括:
接收虚拟机迁移请求,获取所有虚拟机的CPU利用率、内存利用率和磁盘利用率;
根据所有所述虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率。
6.根据权利要求1所述的虚拟机迁移方法,其特征在于,所述确定所述第一物理机中所有所述第二综合利用率不大于预设第二阈值的第二物理机后还包括:
判断是否存在所述第二物理机;
若不存在,则返回迁移错误信息,操作结束。
7.一种基于OpenStack的虚拟机迁移装置,其特征在于,包括:第一计算模块、第二计算模块和迁移模块;其中,
所述第一计算模块,用于根据所有虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设虚拟机调度策略计算得到各虚拟机的第一综合利用率,并将所有所述综合利用率大于预设第一阈值的第一虚拟机加入迁移队列;
所述第二计算模块,用于当检测到所述迁移队列不为空时,确定所有未加入队列的第二虚拟机相对应的第一物理机,根据所述第二虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设物理机调度策略计算得到各所述第一物理机的第二综合利用率,确定所述第一物理机中所有所述第二综合利用率不大于预设第二阈值的第二物理机;
所述迁移模块,用于根据预设代价函数计算各所述第二物理机中所有虚拟机的权值,将各所述第二物理机中所有虚拟机中权值最小的虚拟机作为目的虚拟机,将所述迁移队列中位于队头的第一虚拟机迁移至所述目的虚拟机。
8.根据权利要求7所述的虚拟机迁移装置,其特征在于,还包括:
建立模块,用于当检测到所述迁移队列为空时,判断是否接收到虚拟机建立请求;
若接收到,则根据所有所述虚拟机的CPU利用率、内存利用率和磁盘利用率依据预设物理机调度策略计算得到各所述物理机的第二综合利用率,确定所有所述第二综合利用率不大于预设第二阈值的第三物理机;
在任一所述第三物理机中建立虚拟机。
9.根据权利要求8所述的虚拟机迁移装置,其特征在于,所述建立模块包括第一判断单元,用于判断是否存在所述第三物理机;若不存在,则返回建立错误信息,操作结束。
10.根据权利要求7所述的虚拟机迁移装置,其特征在于,所述第二计算模块包括第二判断单元,用于判断是否存在所述第二物理机;若不存在,则返回迁移错误信息,操作结束。
CN201510629242.1A 2015-09-28 2015-09-28 一种基于OpenStack的虚拟机迁移方法和装置 Active CN105138408B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510629242.1A CN105138408B (zh) 2015-09-28 2015-09-28 一种基于OpenStack的虚拟机迁移方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510629242.1A CN105138408B (zh) 2015-09-28 2015-09-28 一种基于OpenStack的虚拟机迁移方法和装置

Publications (2)

Publication Number Publication Date
CN105138408A true CN105138408A (zh) 2015-12-09
CN105138408B CN105138408B (zh) 2018-10-12

Family

ID=54723764

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510629242.1A Active CN105138408B (zh) 2015-09-28 2015-09-28 一种基于OpenStack的虚拟机迁移方法和装置

Country Status (1)

Country Link
CN (1) CN105138408B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106155793A (zh) * 2016-07-19 2016-11-23 浪潮(北京)电子信息产业有限公司 一种资源调度方法及装置
CN106201693A (zh) * 2016-07-12 2016-12-07 浪潮(北京)电子信息产业有限公司 一种虚拟化环境中的调度方法及系统
CN106201721A (zh) * 2016-07-12 2016-12-07 浪潮(北京)电子信息产业有限公司 一种基于虚拟化技术的内存动态调整方法及系统
CN106502762A (zh) * 2016-10-20 2017-03-15 浪潮电子信息产业股份有限公司 一种基于虚拟化技术的内存自动优化方法
CN108804210A (zh) * 2018-04-23 2018-11-13 北京奇艺世纪科技有限公司 一种云平台的资源配置方法及装置
CN108874535A (zh) * 2018-05-14 2018-11-23 中国平安人寿保险股份有限公司 一种任务调节方法、计算机可读存储介质及终端设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101765225A (zh) * 2008-12-24 2010-06-30 华为技术有限公司 一种虚拟化的集群管理方法和集群节点
CN102333037A (zh) * 2011-10-20 2012-01-25 中兴通讯股份有限公司 虚拟机迁移方法及装置
CN102508718A (zh) * 2011-11-22 2012-06-20 杭州华三通信技术有限公司 一种虚拟机负载均衡方法和装置
US20150039764A1 (en) * 2013-07-31 2015-02-05 Anton Beloglazov System, Method and Computer Program Product for Energy-Efficient and Service Level Agreement (SLA)-Based Management of Data Centers for Cloud Computing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101765225A (zh) * 2008-12-24 2010-06-30 华为技术有限公司 一种虚拟化的集群管理方法和集群节点
CN102333037A (zh) * 2011-10-20 2012-01-25 中兴通讯股份有限公司 虚拟机迁移方法及装置
CN102508718A (zh) * 2011-11-22 2012-06-20 杭州华三通信技术有限公司 一种虚拟机负载均衡方法和装置
US20150039764A1 (en) * 2013-07-31 2015-02-05 Anton Beloglazov System, Method and Computer Program Product for Energy-Efficient and Service Level Agreement (SLA)-Based Management of Data Centers for Cloud Computing

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
程龙: "基于OpenStack的动态资源调度方法的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
郑路路: "基于Open Stack的资源调度算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201693A (zh) * 2016-07-12 2016-12-07 浪潮(北京)电子信息产业有限公司 一种虚拟化环境中的调度方法及系统
CN106201721A (zh) * 2016-07-12 2016-12-07 浪潮(北京)电子信息产业有限公司 一种基于虚拟化技术的内存动态调整方法及系统
CN106201693B (zh) * 2016-07-12 2019-01-25 浪潮(北京)电子信息产业有限公司 一种虚拟化环境中的调度方法及系统
CN106201721B (zh) * 2016-07-12 2019-05-10 浪潮(北京)电子信息产业有限公司 一种基于虚拟化技术的内存动态调整方法及系统
CN106155793A (zh) * 2016-07-19 2016-11-23 浪潮(北京)电子信息产业有限公司 一种资源调度方法及装置
CN106155793B (zh) * 2016-07-19 2019-05-28 浪潮(北京)电子信息产业有限公司 一种资源调度方法及装置
CN106502762A (zh) * 2016-10-20 2017-03-15 浪潮电子信息产业股份有限公司 一种基于虚拟化技术的内存自动优化方法
CN108804210A (zh) * 2018-04-23 2018-11-13 北京奇艺世纪科技有限公司 一种云平台的资源配置方法及装置
CN108804210B (zh) * 2018-04-23 2021-05-25 北京奇艺世纪科技有限公司 一种云平台的资源配置方法及装置
CN108874535A (zh) * 2018-05-14 2018-11-23 中国平安人寿保险股份有限公司 一种任务调节方法、计算机可读存储介质及终端设备
CN108874535B (zh) * 2018-05-14 2022-06-10 中国平安人寿保险股份有限公司 一种任务调节方法、计算机可读存储介质及终端设备

Also Published As

Publication number Publication date
CN105138408B (zh) 2018-10-12

Similar Documents

Publication Publication Date Title
CN105138408A (zh) 一种基于OpenStack的虚拟机迁移方法和装置
CN104375897B (zh) 基于最小相对负载不均衡度的云计算资源调度方法
CN107239336B (zh) 一种实现任务调度的方法及装置
CN102111337B (zh) 任务调度方法和系统
CN102185779B (zh) 与综合配置能力成比例的数据中心资源负载均衡的方法及装置
CN107992353B (zh) 一种基于最小迁移量的容器动态迁移方法及系统
CN104038540A (zh) 一种应用代理服务器自动选择方法及系统
TWI755415B (zh) 雲端環境下應用集群資源分配的方法、裝置和系統
CN103514046A (zh) 一种虚拟机放置方法及集群管理服务器
CN107220108B (zh) 一种实现云数据中心负载均衡的方法和系统
CN104363282B (zh) 一种云计算资源调度方法及装置
CN103441918A (zh) 一种自组织集群服务器系统及其自组织方法
CN105607948A (zh) 一种基于sla的虚拟机迁移预测方法
CN105389206A (zh) 一种云计算数据中心虚拟机资源快速配置方法
CN106506670A (zh) 一种云平台虚拟资源高速调度方法与系统
CN104461673B (zh) 一种虚拟机迁移判定方法及装置
CN103699433A (zh) 一种于Hadoop平台中动态调整任务数目的方法及系统
CN105426241A (zh) 一种基于云计算数据中心的统一资源调度节能方法
CN102110014A (zh) 虚拟机负载均衡处理的方法
WO2019105379A1 (zh) 资源管理的方法、装置、电子设备及存储介质
CN109491788A (zh) 一种虚拟化平台负载均衡实现方法及装置
CN108519919A (zh) 一种在虚拟化集群环境下实现服务器资源动态调度的方法
CN103918239A (zh) 负载均衡方法、装置、系统及计算机可读介质
CN106059940B (zh) 一种流量控制方法及装置
CN103902384A (zh) 为虚拟机分配物理机的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant