一种云平台的虚拟机故障疏散方法、系统及计算机可读介质技术方案

技术编号:23557899 阅读:25 留言:0更新日期:2020-03-25 03:36
本发明专利技术公开了一种云平台的虚拟机故障疏散方法、系统及计算机可读介质,其通过获取待疏散虚拟机的节点地址,获取与待疏散虚拟机关联的宿主机节点地址;发送宿主机状态查询消息给宿主机,接收宿主机上报的状态消息;宿主机状态正常时,发送删除虚拟机关联消息给所述宿主机,否则,执行虚拟机重建操作;接收宿主机上传的虚拟机关联删除成功消息,执行虚拟机重建操作,从而解决虚拟机异地重建因原宿主机正常而发生虚拟机脑裂导致业务无法正常进行。

A method, system and computer readable medium for virtual machine fault evacuation on cloud platform

【技术实现步骤摘要】
一种云平台的虚拟机故障疏散方法、系统及计算机可读介质
本专利技术属于云平台领域,具体涉及一种云平台的虚拟机故障疏散方法、系统及计算机可读介质。
技术介绍
目前云平台的虚拟机疏散流程执行必要的条件是待疏散虚拟机的宿主机状态异常,并且使用共享存储(本地镜像启动虚拟机,evacuate后会重建系统盘),满足一般的HA故障场景触发虚拟机重建等场景,以openstack为基础的应用场景为示例,原生openstack/Nova中api.py代码模块文件中定义了evacuate方法,其通过调用RestfulAPI入口,将instance(虚拟机的实例)通过实例化对象调用变量的方式,将虚拟机所在宿主机变量传递给get_by_compute方法,从而实现对宿主机的服务状态进行检查,进而返回得到一个Service对象,如果计算服务状态为UP,直接抛错“Instancecomputeservicestateexpectedtobedown,butitwasup”,虚拟机疏散流程结束,虚拟机疏散失败。但是由于云计算IAAS层上虚拟机故障场景繁多,可使用措施有:迁移,evacuate。当计算节点服务正常下,虚拟机由于某些原因导致在IAAS层上状态异常,那么迁移操作无法进行虚拟机恢复操作。而如果对迁移流程的原生代码进行扩展会对openstack开源社区代码流程进行破坏,对生态会有影响迁移操作只有在计算节点服务正常和虚拟机处于active,stop,pause状态进行操作,所以迁移操作的初衷是虚拟机是正常的情况下,主机资源不足等,可以通过迁移操作实现主机资源的平均分配及充分利用。如果对迁移操作针对于此场景进行扩展,有悖于openstack社区对迁移API接口的设计和开发。evacuate流程本身开发思想就是针对于主机异常,导致虚拟机异常,需要异地重建,由于openstack/Novaevacuate疏散流程中,虚拟机异地重建之后,由于宿主机的计算服务已经异常,无法从Hypervisor底层执行删除虚拟机信息的操作,等待宿主机服务正常时,会调用start接口,接口包括初始化节点操作,通过python语言方法调用的方式,调用init_host方法,该方法在初始化点中会进行清理残留虚拟机信息,磁盘文件等操作。此时之上残留的虚拟机会被删除,确保虚拟机不会出现脑裂的情况。虚拟机所在的宿主机计算服务处于正常状态,如果进行疏散流程,异地重建。那么会在源和目的宿主机上存在两台相同的虚拟机,虚拟机会出现脑裂导致业务无法正常进行。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提供了一种云平台的虚拟机故障疏散方法、系统及计算机可读介质,其通过获取待疏散虚拟机的节点地址,获取与待疏散虚拟机关联的宿主机节点地址;发送宿主机状态查询消息给宿主机,接收宿主机上报的状态消息;宿主机状态正常时,发送删除虚拟机关联消息给所述宿主机,否则,执行虚拟机重建操作;接收宿主机上传的虚拟机关联删除成功消息,执行虚拟机重建操作,从而解决虚拟机异地重建因原宿主机正常而发生虚拟机脑裂导致业务无法正常进行。为实现上述目的,按照本专利技术的一个方面,提供了一种云平台的虚拟机故障疏散方法,包括如下步骤:获取待疏散虚拟机的节点地址,获取与待疏散虚拟机关联的宿主机节点地址;发送宿主机状态查询消息给宿主机,接收宿主机上报的状态消息;宿主机状态正常时,发送删除虚拟机关联消息给所述宿主机;否则,执行虚拟机重建操作;接收宿主机上传的虚拟机关联删除成功消息,执行虚拟机重建操作。作为本专利技术的进一步改进,获取待疏散虚拟机的节点地址具体为:通过定时查询虚拟机的状态获取,或通过待疏散虚拟机上报的故障消息获取。作为本专利技术的进一步改进,通过开发新的RPC消息实现删除虚拟机关联消息的发送,开发新的RPC消息的具体过程为:创建RPC客户端;通过客户端将待实现功能的操作名称发送给RPC服务端;服务端调用待实现功能的操作名称以执行操作。作为本专利技术的进一步改进,宿主机接收删除虚拟机本地信息后,执行删除虚拟机本地信息的操作,该操作具体为:预设删除次数阈值,在宿主机的hypervisor底层执行删除待疏散虚拟机本地信息操作,执行删除操作次数超过预设的删除次数阈值时,hypervisor底层未删除待疏散虚拟机信息,则上报虚拟机删除异常消息;hypervisor底层成功删除待疏散虚拟机信息后,释放待疏散虚拟机在宿主机上申请的资源,同时上报虚拟机关联删除成功消息。作为本专利技术的进一步改进,虚拟机重建操作具体为:调用openstack中的rebuild_instance接口,使用待疏散虚拟机的信息在NOVA计算服务nova-scheduler组件过滤出来的宿主机上创建虚拟机。为实现上述目的,按照本专利技术的另一个方面,提供了一种云平台的虚拟机故障疏散系统,该系统包括疏散信息获取模块和虚拟机重建模块,疏散信息获取模块用于获取待疏散虚拟机的节点地址,获取与待疏散虚拟机关联的宿主机节点地址;疏散信息获取模块还用于发送宿主机状态查询消息给宿主机;虚拟机重建模块用于接收所述宿主机上报的状态消息,宿主机状态正常时,发送删除虚拟机关联消息给宿主机,否则,执行虚拟机重建操作;虚拟机重建模块还用于接收宿主机上传的虚拟机关联删除成功消息,执行虚拟机重建操作。作为本专利技术的进一步改进,疏散信息获取模块获取待疏散虚拟机的节点地址具体为:通过定时查询虚拟机的状态获取,或通过待疏散虚拟机上报的故障消息获取。作为本专利技术的进一步改进,虚拟机重建模块还用于开发新的RPC消息实现删除虚拟机关联消息的发送,开发新的RPC消息的具体过程为:创建RPC客户端;通过客户端将待实现功能的操作名称发送给RPC服务端;服务端调用待实现功能的操作名称以执行操作。作为本专利技术的进一步改进,虚拟机重建模块执行虚拟机重建操作具体为:调用openstack中的rebuild_instance接口,使用待疏散虚拟机的信息在NOVA计算服务nova-scheduler组件过滤出来的宿主机上创建虚拟机。为实现上述目的,按照本专利技术的另一个方面,提供了一种计算机可读介质,其存储有可由终端设备执行的计算机程序,当上述程序在终端设备上运行时,使得上述终端设备执行上述方法的步骤。总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,具有以下有益效果:本专利技术的一种云平台的虚拟机故障疏散方法、系统及计算机可读介质,其通过获取待疏散虚拟机的节点地址,获取与待疏散虚拟机关联的宿主机节点地址;发送宿主机状态查询消息给宿主机,接收宿主机上报的状态消息;宿主机状态正常时,发送删除虚拟机关联消息给所述宿主机,否则,执行虚拟机重建操作;接收宿主机上传的虚拟机关联删除成功消息,执行虚拟机重建操作,从而解决虚拟机异地重建因原宿主机正常而发生虚拟机脑裂导致业务无法正常进行,从而丰富了处理虚拟机故障的机制,针对于计算节点服务正常,而业务虚拟机故障的场景,可以较为平滑的完成虚拟机异地重建,恢复虚拟机业务。本文档来自技高网
...

【技术保护点】
1.一种云平台的虚拟机故障疏散方法,其特征在于,包括如下步骤:/n获取待疏散虚拟机的节点地址,获取与待疏散虚拟机关联的宿主机节点地址;发送宿主机状态查询消息给所述宿主机,接收所述宿主机上报的状态消息;/n所述宿主机状态正常时,发送删除虚拟机关联消息给所述宿主机;否则,执行虚拟机重建操作;/n接收所述宿主机上传的虚拟机关联删除成功消息,执行虚拟机重建操作。/n

【技术特征摘要】
1.一种云平台的虚拟机故障疏散方法,其特征在于,包括如下步骤:
获取待疏散虚拟机的节点地址,获取与待疏散虚拟机关联的宿主机节点地址;发送宿主机状态查询消息给所述宿主机,接收所述宿主机上报的状态消息;
所述宿主机状态正常时,发送删除虚拟机关联消息给所述宿主机;否则,执行虚拟机重建操作;
接收所述宿主机上传的虚拟机关联删除成功消息,执行虚拟机重建操作。


2.根据权利要求1所述的一种云平台的虚拟机故障疏散方法,其特征在于,获取待疏散虚拟机的节点地址具体为:通过定时查询虚拟机的状态获取,或通过待疏散虚拟机上报的故障消息获取。


3.根据权利要求1或2所述的一种云平台的虚拟机故障疏散方法,其特征在于,通过开发新的RPC消息实现所述删除虚拟机关联消息的发送,开发新的RPC消息的具体过程为:创建RPC客户端;通过客户端将待实现功能的操作名称发送给RPC服务端;服务端调用待实现功能的操作名称以执行操作。


4.根据权利要求1或2所述的一种云平台的虚拟机故障疏散方法,其特征在于,所述宿主机接收删除虚拟机本地信息后,执行删除虚拟机本地信息的操作,该操作具体为:预设删除次数阈值,在所述宿主机的hypervisor底层执行删除待疏散虚拟机本地信息操作,执行删除操作次数超过预设的删除次数阈值时,hypervisor底层未删除待疏散虚拟机信息,则上报虚拟机删除异常消息;hypervisor底层成功删除待疏散虚拟机信息后,释放待疏散虚拟机在宿主机上申请的资源,同时上报虚拟机关联删除成功消息。


5.根据权利要求1或2所述的一种云平台的虚拟机故障疏散方法,其特征在于,虚拟机重建操作具体为:调用openstack中的rebuild_instance接口,使用待疏散虚拟机的信息在NOVA计算服务nova-...

【专利技术属性】
技术研发人员:梁华张一帆高泽旭
申请(专利权)人:烽火通信科技股份有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1