计算节点故障处理方法和计算机可读存储介质技术

技术编号:31235894 阅读:11 留言:0更新日期:2021-12-08 10:18
本发明专利技术公开了一种计算节点故障处理方法和计算机可读存储介质。上述方法具体地:若符合故障处理条件,则执行步骤X:关闭本计算节点上运行的虚拟机,所述故障处理条件包括在预设时长内没有接收到管理节点发送的心跳检测信号。该计算节点故障处理方法由计算节点执行,计算节点自行判断本节点是否出现故障,若判断出本节点故障则自行关闭本节点上运行的虚拟机,以使虚拟机能够在其他计算节点上重新启动。动。动。

【技术实现步骤摘要】
计算节点故障处理方法和计算机可读存储介质


[0001]本专利技术涉及虚拟化
,尤其涉及一种计算节点故障处理方法和计算机可读存储介质。

技术介绍

[0002]随着计算机技术的飞速发展,越来越多公司开始关注如何降低能耗和提高资源利用率,在此背景下,云计算这一计算模式就应运而生。云计算将所有的计算机抽象成特定的计算资源,然后将这些计算资源提供给用户,而不是像以前那样直接提供一台或多台计算机给用户。如此一来,用户可以根据自己的需要来申请计算资源,避免不必要的资源浪费,提高资源利用率。
[0003]为了节省设备成本,进一步提高资源利用率,云计算构建者会采用虚拟化技术,在单台物理计算机上虚拟出多台虚拟计算机(即虚拟机),以供多个用户分别使用,这台物理计算机称之为计算节点。多台这样的物理计算机就构成了一个虚拟化集群。虚拟化集群对多台物理计算机进行统一管理。
[0004]虚拟化集群通常包括一个管理节点和多个计算节点,管理节点会监控各个计算节点的健康状态。管理节点通过心跳包来对各个计算节点进行故障检测,若管理节点在预设时长内没有收到计算节点发送的心跳包,则会认为该计算节点发生了故障。为了提高虚拟化集群的业务连续性,使虚拟机出现故障时能够及时地恢复其运行的业务,管理节点在检测到计算节点故障之后,就会发送指令给故障计算节点让其关闭其上运行的所有虚拟机,然后在集群中的其他计算节点上重新启动那些虚拟机从而恢复这些虚拟机业务。这样一来,虚拟机故障的情况对于客户来说就会感受不到,从而保证业务的连续性。但是,计算节点故障时,有可能无法响应管理节点的指令,也就无法将虚拟机关闭。原计算节点未关闭虚拟机,其他计算节点就无法启动这些虚拟机;若强制启动,则会损坏虚拟机数据。

技术实现思路

[0005]本专利技术所要解决的技术问题是提供一种计算节点故障处理方法以及存储有被执行时可实现上述方法的计算机程序的计算机可读存储介质,该方法能够关闭故障计算节点上运行的虚拟机,以使虚拟机能够在其他计算节点上重新启动。
[0006]为了解决上述技术问题,本专利技术的一种计算节点故障处理方法,若符合故障处理条件,则执行步骤X:关闭本计算节点上运行的虚拟机,所述故障处理条件包括在预设时长内没有接收到管理节点发送的心跳检测信号。
[0007]可选地,所述步骤X具体是从内核中关闭本计算节点上的虚拟机。
[0008]可选地,所述步骤X具体是关闭本计算节点上运行的使用非本地资源的虚拟机。
[0009]可选地,所述步骤X中,不关闭使用本地资源的虚拟机。
[0010]可选地,所述预设时长是心跳检测信号发送时间间隔的三倍。
[0011]可选地,所述故障处理条件具体包括内核在预设时长内没有接收到管理节点发送
的心跳检测信号。
[0012]可选地,该方法是计算节点内核对故障的处理方法。
[0013]一种计算机可读存储介质,其上存储有可执行的计算机程序,其特征是:该计算机程序被执行时实现如上所述的计算节点故障处理方法。
[0014]该计算节点故障处理方法由计算节点执行,计算节点自行判断本节点是否出现故障,若判断出本节点故障则自行关闭本节点上运行的虚拟机,以使虚拟机能够在其他计算节点上重新启动。
附图说明
[0015]图1是一种虚拟化集群的系统结构框图。
具体实施方式
[0016]以下结合具体实施例对本专利技术创造作详细说明。
[0017]如图1所示,虚拟化集群包括管理节点以及通信连接管理节点的三个计算节点1、2、3。计算节点1、2、3上分别运行有虚拟机。管理节点包括处理器和计算机可读存储介质,该计算机可读存储介质存储有可执行的计算机程序,上述处理器执行该计算机程序从而实现管理节点的功能。每个计算节点包括处理器和计算机可读存储介质,该计算机可读存储介质中存储有可执行的计算机程序,计算节点的处理器执行该计算机程序从而实现计算节点的功能。
[0018]实施例一管理节点将自身的IP地址和端口名称发送给各个计算节点1、2、3。各个计算节点1、2、3接收到管理节点的IP地址和端口名称之后,通过netlink通信将管理节点的IP地址和端口名称传递给本计算节点的内核,然后在内核建立与管理节点之间的TCP心跳检测机制,如此则管理节点分别和计算节点1、2、3的内核建立了TCP socket通信通道。管理节点通过上述通信通道分别向计算节点1、2、3内核发送在该计算节点上运行的虚拟机的磁盘路径和检测策略,该检测策略包含了检测方式以及检测反馈方式。管理节点藉此通过计算节点来检测虚拟机是否在预设时长内没有下发I/O请求给虚拟机磁盘。
[0019]以计算节点1为例,计算节点1内核接收到虚拟机11、12、13的磁盘路径和检测策略之后,按照检测策略中的检测方式,分别对各个虚拟机11、12、13的磁盘路径进行检测,从而检测虚拟机11、12、13是否有下发I/O请求给其磁盘,并且按照检测策略中的检测反馈方式,每30s向管理节点发送一次虚拟机检测心跳包以汇报这30s期间的检测结果。假设计算节点1内核在9:00:00时刻启动检测,此时虚拟机11的QEMU进程若卡住了,虽然虚拟机11的QEMU进程仍然存在但虚拟机实际上已经故障了,也就无法再下发I/O请求给虚拟机磁盘。在9:00:00至9:00:30期间,若虚拟机11、12、13都没有下发I/O请求给其磁盘,则计算节点1内核在9:00:00至9:00:30期间没有检测到虚拟机11、12、13下发I/O请求给其磁盘,就在9:00:30时刻生成一个包含有9:00:00至9:00:30期间的检测结果的虚拟机检测心跳包,发送给管理节点。管理节点接收到该虚拟机检测心跳包后,向计算节点1内核发送虚拟机检测回复心跳包以告知对方本管理节点已接收到上述虚拟机检测心跳包,并记录虚拟机11、12、13在9:00:00至9:00:30期间都无I/O请求下发。然后在9:00:30至9:01:00期间,计算节点1内核仍
没有检测到虚拟机11下发I/O请求给磁盘,但检测到虚拟机12、13有下发I/O请求给其磁盘,就在9:01:00时刻生成一个包含有9:00:30至9:01:00期间的检测结果的虚拟机检测心跳包,发送给管理节点。管理节点接收到该虚拟机检测心跳包后,向计算节点1内核发送虚拟机检测回复心跳包,并记录虚拟机11在9:00:30至9:01:00期间无I/O请求下发,虚拟机12、13在9:00:30至9:01:00期间有I/O请求下发。然后在9:01:00至9:01:30期间,计算节点1内核还是没有检测到虚拟机11向磁盘下发I/O请求,但检测到虚拟机12、13有下发I/O请求给其磁盘,就在9:01:30时刻生成一个包含有9:01:00至9:01:30期间的检测结果的虚拟机检测心跳包,发送给管理节点。管理节点接收到该虚拟机检测心跳包后,向计算节点1内核发送虚拟机检测回复心跳包,并记录虚拟机11在9:01:00至9:01:30期间无I/O请求下发,虚拟机12、13在9:01:00至9:01本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种计算节点故障处理方法,若符合故障处理条件,则执行步骤X:关闭本计算节点上运行的虚拟机,其特征是:所述故障处理条件包括在预设时长内没有接收到管理节点发送的心跳检测信号。2.如权利要求1所述的计算节点故障处理方法,其特征是:所述步骤X具体是从内核中关闭本计算节点上的虚拟机。3.如权利要求2所述的计算节点故障处理方法,其特征是:所述步骤X具体是关闭本计算节点上运行的使用非本地资源的虚拟机。4.如权利要求3所述的计算节点故障处理方法,其特征是:所述步骤X中,不关闭使用本地资源的虚拟...

【专利技术属性】
技术研发人员:李义邹理贤刘建平
申请(专利权)人:航天云宏技术贵州有限公司
类型:发明
国别省市:

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

1