本发明涉及云计算基于虚拟化的服务领域,具体地,涉及基于虚拟机一键式打包搬家的服务方法及系统。
背景技术:
为了提升IT系统整体的可用性、安全性和持续性,业务应用的高可用要求越来高,所有在虚拟机中运行的应用程序提供易于使用、经济高效的高可用性。
在保证虚拟机上服务正常运行的同时,虚拟机在不同的物理主机之间进行迁移,其逻辑步骤与传统的离线迁移相似,不同的是,为了保证打包搬家过程中虚拟机服务的可用,搬家过程仅有非常短暂毫秒级的停机时间,用户感觉不到服务的中断。搬家的前面阶段,服务在源主机运行,当搬家进行到一定阶段,目的主机已经具备了运行系统的必须资源,经过一个非常短暂的切换,源主机将控制权转移到目的主机,服务在目的主机上继续运行。对于服务本身而言,由于切换的时间非常短暂,用户感觉不到服务的中断,因而打包搬家过程对用户是透明的。
现有技术存在着不足之处:
1)现有服务应用在原计算服务器发生故障时,产生故障导致业务中断,影响业务使用。
2)传统方式虚拟机迁移的时候,需要将虚拟机暂停一段时间,业务需中断。
3)若迁移到的节点存在资源不足的情况,可能存在迁移失败的风险
技术实现要素:
针对现有技术中的缺陷,本发明的目的是提供一种基于虚拟机一键式打包搬家的服务方法及系统。
根据本发明提供的一种虚拟机一键式打包的内存传送方法,包括如下步骤:
步骤A:在源宿主机主机中,锁定客户机主机内存,并将客户机主机内存中的信息向目标宿主机主机传送;
步骤B:在所述传送过程中,在源宿主机主机中开启一个新的内存分区为客户机主机提供服务,其中,所述新的内存分区仅保存客户机主机内存变更的内容;
步骤C:将所述新的内存分区锁定,并将所述新的内存分区中的信息向目标宿主机主机传送。
优选地,重复执行步骤B和步骤C,使得源宿主机主机与目标宿主机主机之间变更内存的时间差异在设定的时钟周期内,直到客户机主机内存中的信息已向目标宿主机主机完成传送。
根据本发明提供的一种基于虚拟机一键式打包搬家的服务方法,包括如下步骤:
登录步骤:根据登录用户的虚拟机资源申请形成订单;
资源预判步骤:对资源池进行资源预判,在预判资源满足订单时根据订单生成虚拟机实例;
应用部署步骤:通过登录虚拟机实例进行应用部署;
内存迁移步骤:将虚拟机实例从当前计算节点迁移至预判计算节点,对所述预判计算节点进行资源预判,如预判资源满足订单,则向预判计算节点进行内存传送,否则,则表示预判计算节点资源不足,不迁移至预判计算节点,迁移过程中业务不会被中断;
其中,内存传送采用权利要求1所述的虚拟机一键式打包的内存传送方法。
优选地,还包括:
源虚拟机挂起步骤:将源虚拟机实例对应的虚拟机挂起并传送内存状态;
目标虚拟机恢复步骤:恢复目标虚拟机。
根据本发明提供的一种虚拟机一键式打包的内存传送系统,包括源宿主机主机、客户机主机;
在源宿主机主机中,锁定客户机主机内存,并将客户机主机内存中的信息向目标宿主机主机传送;
在所述传送过程中,在源宿主机主机中开启一个新的内存分区为客户机主机提供服务,其中,所述新的内存分区仅保存客户机主机内存变更的内容;
将所述新的内存分区锁定,并将所述新的内存分区中的信息向目标宿主机主机传送。
优选地,使源宿主机主机与目标宿主机主机之间变更内存的时间差异在设定的时钟周期内,直到客户机主机内存中的信息已向目标宿主机主机完成传送。
根据本发明提供的一种基于虚拟机一键式打包搬家的服务系统,包括如下装置:
登录装置:根据登录用户的虚拟机资源申请形成订单;
资源预判装置:对资源池进行资源预判,在预判资源满足订单时根据订单生成虚拟机实例;
应用部署装置:通过登录虚拟机实例进行应用部署;
内存迁移装置:将虚拟机实例从当前计算节点迁移至预判计算节点,对所述预判计算节点进行资源预判,如预判资源满足订单,则向预判计算节点进行内存传送,否则,则表示预判计算节点资源不足,不迁移至预判计算节点,迁移过程中业务不会被中断;
其中,内存传送通过权利要求5所述的虚拟机一键式打包的内存传送系统实现。
优选地,还包括:
源虚拟机挂起装置:将源虚拟机实例对应的虚拟机挂起并传送内存状态;
目标虚拟机恢复装置:恢复目标虚拟机。
与现有技术相比,本发明具有如下的有益效果:
1)虚拟机一键式打包搬家方便灵活,不影响虚机上任何数据及业务
2)搬家迁移过程中业务不会被中断;能够规避传统模式产生业务中断,适用于对服务可用性要求很高的场景;
3)迁移至预判节点,如预判资源失败,不会迁移至新的节点,导致业务中断或故障。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1、图2、图3为内存传送的过程示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
所述基于虚拟机一键式打包搬家的服务方法,包括以下步骤:
步骤1:用户通过登录系统,在系统申请虚拟机资源并形成订单;
步骤2:管理员对资源池进行资源预判,审批通过并成功生成虚拟机实例;
步骤3:用户通过登录虚拟机实例进行应用部署;
步骤4:将虚拟机实例从现有计算节点迁移至其他计算节点,对迁移到计算节点进行资源预判,如预判成功,可迁移至预判节点,如预判资源失败,表示迁移节点资源不足,不可迁移至新的节点,迁移过程中业务不会被中断;
在步骤4过程中,下面来详细描述一下虚拟机一键式打包的内存传送的过程:
步骤A:在源宿主机主机(HOST主机)中,锁定客户机主机(GUEST主机)内存,并将客户机主机内存中的信息向目标宿主机主机传送;
步骤B:在所述传送过程中,在源宿主机主机中开启一个新的内存分区为客户机主机提供服务,其中,所述新的内存分区仅保存客户机内存变更的内容;
步骤C:将所述新的内存分区锁定,并将所述新的内存分区中的信息向目标宿主机主机传送;
其中,重复执行步骤B和步骤C,使得源宿主机主机与目标宿主机主机之间变更内存的时间差异在设定的时钟周期内,直到客户机主机内存中的信息已向目标宿主机主机完成传送。
步骤5:将源虚拟机挂起并传送内存状态
这部分包含3个操作:
1)挂起源虚拟机
2)传送最后的源虚拟机内存变更片段
3)通知存储,将存储挂载至目标服务器
步骤5是打包搬家时间消耗的关键,而关键的关键是实时内存状态的保存。
采取的方式是挂起源虚拟机,再处理内存的方式;所以在打包搬家过程中会发现宕机的时间与虚拟机所消耗的内存量成正比。
而在一键打包过程中,宕机时间不再由所需搬家虚拟机消耗的内存来决定;决定宕机时间的关键点内存大小是一个相对较小的变更内存片段。根据实践,在一键打包操作过程中,ping包监视根据系统负载不同在丢包为2~6之间,完全可以满足一般企业高可用的需求。
步骤6:恢复目标虚拟机
恢复目标虚拟机,使目标虚拟机运行正常且部署的应用\程序运行正常。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。