一种虚拟机迁移的方法转让专利

申请号 : CN201711415858.4

文献号 : CN109960564B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 马炳洋

申请人 : 上海盛霄云计算技术有限公司

摘要 :

本发明涉及一种虚拟机迁移的方法,包括:将所有前端发送过来的迁移任务按时间顺序正序排序并保存在数据库表A中,迁移任务状态设置为“等待”状态;根据迁移的源IP和目的IP检索数据库表A,并判断当前源IP或者目的IP是否属于正在迁移中的IP;如果属于迁移中的IP,那么新的迁移任务将不会被下发给虚拟层命令执行代理处理;如果判断否,则执行进一步操作。本发明有效管理虚拟机迁移过程,缩短虚拟机的迁移时间,使得物理资源得到高效合理的利用。

权利要求 :

1.一种虚拟机迁移的方法,其特征在于包括:

将所有前端发送过来的迁移任务按时间顺序正序排序并保存在数据库表A中,所述迁移任务状态设置为“等待”状态;

根据迁移的源IP和目的IP检索所述数据库表A,并判断所述源IP或者所述目的IP是否属于正在迁移中的IP;

判定属于迁移中的IP,新的迁移任务不会被下发给虚拟层命令执行代理处理;

判定否,则执行操作:

判断迁移的源机器和目的机器当前的操作数值是否大于0;

判定不大于0,返回操作;

判定大于0,源机器数值和目标机器数值各减去1,

继续判定所述目标机器数值是否小于1,判定所述目标机器数值小于1,则所述迁移任务也将排在任务队列里,不会下发给所述虚拟层命令执行代理处理;所述目标机器数值不小于1,所述目标机器数值减去1,下发任务给所述虚拟层命令执行代理处理。

2.根据权利要求1所述的虚拟机迁移的方法,其特征在于所述迁移任务的超时处理为:按设定时间轮询所述迁移任务;(当前时间‑迁移开始时间)/1000>=所述迁移任务的迁移时长,判定所述迁移任务已经超时;否则继续轮询。

3.根据权利要求2所述的虚拟机迁移的方法,其特征在于所述轮询确认所述迁移任务已经超时,中央控制器向虚拟层命令执行代理发送一个当前迁移任务状态的查询,判定所述当前迁移任务还在处理,所述中央控制器返回;否则所述中央控制器发送一个终止命令给所述虚拟层命令执行代理,所述虚拟层命令执行代理终止所述当前迁移任务,所述中央控制器进行相应的回滚操作,结束当前迁移任务,并置为失败处理。

说明书 :

一种虚拟机迁移的方法

技术领域

[0001] 本发明涉及一种虚拟机管理的方法,尤其涉及一种虚拟机迁移的方法。

背景技术

[0002] 虚拟机技术是常用的计算机存储技术,但是由于物理机后续进行升级的需要,那么必须先将已经存在物理机上的虚拟机进行迁移到其他机器上,然后对相应的物理机器进行升级。
[0003] 同时因为虚拟机迁移属于耗时操作(系统磁盘数据量越大耗时越长),现有操作都是以CC(Central Controller,中央控制器)控制下发单台物理机,但AE(Agent Executor,虚拟层命令执行代理)只能处理一台虚拟机迁移任务,其他前端发送来的迁移任务一直等待在任务队列中,且前端显示处于迁移中。

发明内容

[0004] 针对上述问题,本发明提出一种虚拟机迁移的方法,包括:将所有前端发送过来的迁移任务按时间顺序正序排序并保存在数据库表A中,迁移任务状态设置为“等待”状态;根据迁移的源IP和目的IP检索数据库表A,并判断当前源IP每个IP(Internet Protocol,Internet协议)或者目的IP是否属于正在迁移中的IP;如果属于迁移中的IP,那么新的迁移任务将不会被下发给AE处理;如果判断否,则执行如下操作:
[0005] 判断迁移的源机器和目的机器当前的操作数值是否大于0;如果不大于0,则认为资源不足,返回操作;
[0006] 如果大于0,那么源机器数值和目标机器数值各减去1,再判断目标机器数值是否小于1,如果目标机器数值小于1,则迁移任务也将排在任务队列里,不会下发给AE处理;如果目标机器数值不小于1,目标机器数值减去1,然后下发任务给AE处理;
[0007] 迁移任务可以超时处理:按设定时间轮询迁移任务;如果(当前时间‑迁移开始时间)/1000>=迁移任务的迁移时长,那么迁移任务已经超时;否则继续轮询。
[0008] 轮询确认迁移任务已经超时,CC向AE发送一个当前迁移任务状态的查询,如果当前迁移任务还在处理,那么CC返回;否则CC发送一个终止命令给AE,AE终止当前迁移任务,CC进行相应的回滚操作,结束当前迁移任务,并置为失败处理。
[0009] 本发明技术方案实现的有益效果:
[0010] 有效管理虚拟机迁移过程,缩短虚拟机的迁移时间,使得物理资源得到高效合理的利用。

附图说明

[0011] 图1是本发明一种虚拟机迁移的方法的流程图。

具体实施方式

[0012] 下面结合附图和具体实施例,进一步阐述本发明,本发明实施例仅用以说明本发明的技术方案而非限制本发明的保护范围。
[0013] 如图1,本发明提出一种虚拟机迁移的方法,包括:将所有前端发送过来的迁移任务按时间顺序正序排序并保存在数据库表A中,迁移任务状态设置为“等待”状态;根据迁移的源IP和目的IP检索数据库表A,并判断当前源IP或者目的IP是否属于正在迁移中的IP;如果属于迁移中的IP,那么新的迁移任务将不会被下发给AE处理;如果判断否,则执行如下操作:
[0014] 判断迁移的源机器和目的机器当前的操作数值是否大于0;如果不大于0,则认为资源不足,返回操作;
[0015] 如果大于0,那么源机器数值和目标机器数值各减去1,再判断目标机器数值是否小于1,如果目标机器数值小于1,则迁移任务也将排在任务队列里,不会下发给AE处理;如果目标机器数值不小于1,目标机器数值减去1,然后下发任务给AE处理;
[0016] 迁移任务可以超时处理:按设定时间轮询迁移任务;如果(当前时间‑迁移开始时间)/1000>=迁移任务的迁移时长,那么迁移任务已经超时;否则继续轮询。
[0017] 轮询确认迁移任务已经超时,CC向AE发送一个当前迁移任务状态的查询,如果当前迁移任务还在处理,那么CC返回;否则CC发送一个终止命令给AE,AE终止当前迁移任务,CC进行相应的回滚操作,结束当前迁移任务,并置为失败处理。