本发明属于存储集群检测检查技术领域,具体涉及一种基于免线缆的集群健康状态检测方法。
背景技术:
fru,是fieldreplaceunit的简称,现场可更换单元。
通常情况下,存储产品通过scaleout横向扩展组网方式,来扩展存储集群控制器节点的个数,以提高存储集群的可靠性。高可靠性存储产品能够允许存储集群在多个控制器节点同时失效的情况下,保持业务不中断。即常说的“四坏三”、“八坏七”。为了保证存储集群能够及时的识别到某个或者某些控制器节点异常,集群所有节点间会有健康状态检测机制。通过健康状态检测机,集群在监测到某个或者某些控制器节点存在异常时,会及时的将异常节点的业务转移到正常节点上运行,保证整个集群业务的不中断。
健康状态检测需要每一个控制器节点到集群其它节点都有物理连接,现有的连接方式通常有两种:
共用集群节点间的scaleout横向扩展组网:该方式下,为了保证健康状态检测的可靠性,一般会预留5%-20%、最高优先级的链路带宽能力,从而降低了整个集群的业务能力。
专用的网络通道:该方式下,会极大的提高集群组网的复杂性,如四节点集群需要六条连线,八节点集群需要二十八条连线。
另外,现有健康状态检测机制,是以控制器为单位的,对于环境温度,接口卡状态等公共检测数据会存在冗余搜集现象。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种基于免线缆的集群健康状态检测方法,是非常有必要的。
技术实现要素:
针对现有技术的上述现有存储集群健康状态检测方式中,横向扩展组网方式占用集群存储业务链路,降低业务处理能力;以及专用健康状态检查网络通道增加集群组网复杂性的缺陷,本发明提供一种基于免线缆的集群健康状态检测方法,以解决上述技术问题。
本发明提供一种基于免线缆的集群健康状态检测方法,包括如下步骤:
s1.在存储集群内每个存储节点设置无线通信模块;
s2.每个存储节点内主控制器获取并统计各子控制器健康状态检测数据及公共健康状态检测数据,得到本存储节点的健康状态检测数据;所述公共健康状态检测数据包括公共fru模块运行状态;
s3.存储集群内各存储节点间主控制器通过无线通信模块,周期性互发各存储节点的健康状态检测数据;
s4.根据各存储节点的健康状态检测数据统计存储集群内控制器故障、控制器异常以及公共fru模块运行状态异常;
将故障控制器移除存储集群,直至该故障控制器恢复再重新接入存储集群;
降低异常控制器业务压力,直至该异常控制器恢复正常;
降低运行状态异常的公共fru模块所在存储节点的业务压力,直至该存储节点的公共fru模块运行状态恢复正常。
进一步地,步骤s1具体步骤如下:
s11.设计若干基于usb接口的无线通信模块;
s12.将无线通信模块设置在每个存储节点外壳的耳挂处;
s13.每个无线通信模块通过usb接口与对应存储节点的主控制器连接。
进一步地,步骤s2具体步骤如下:
s21.同一存储节点内各子控制器之间通过内部心跳连接,互发各子控制器自身的健康状态检测数据;
s22.同一存储节点内主控制器通过内部心跳连接,获取各子控制器健康状态检测数据及公共健康状态检测数据,得到本存储节点的健康状态检测数据。
进一步地,存储节点的健康状态检测数据包括存储节点内所有控制器的cpu及内存使用率,存储节点内所有控制器的cpu核温度、主板温度及环境温度值;
公共fru模块包括风扇、电源、硬盘、备电以及接口卡。
进一步地,步骤s4具体步骤如下:
s41.根据各存储节点的健康状态检测数据及预设的控制器故障判定策略,统计存储集群内故障控制器,并将故障控制器从存储集群移除,由正常控制器接替故障控制器业务,直至该故障控制器恢复再重新接入存储集群;
s42.根据各存储节点的健康状态检测数据及预设的控制器异常繁忙判定策略,统计存储集群内异常繁忙控制器,并降低异常繁忙控制器的业务压力,直至该异常繁忙控制器恢复正常;
s43.根据各存储节点的健康状态检测数据及预设的控制器异常高温判定策略,统计存储集群内异常高温控制器,并降低异常高温控制器的业务压力,直至该异常高温控制器恢复正常;
s44.根据各存储节点的健康状态检测数据及预设的存储节点公共fru模块异常策略,统计存储集群内公共fru模块运行状态异常的存储节点,并降低该存储节点的业务压力,直至该存储节点的公共fru模块运行状态恢复正常。
进一步地,步骤s41具体步骤如下:
s411.根据各存储节点的健康状态检测数据统计存储集群处于严重告警级别的控制器;
s412.判断当前周期严重告警级别的控制器是否在设定周期数内均为严重告警级别;
若是,标记该严重告警级别控制器为故障控制器,进入步骤s413;
若否,进入步骤s42;
s413.将故障控制器从存储集群移除,并设置正常控制器接替故障控制器业务;
s414.判断是否有故障控制器恢复;
若是,将恢复控制器重新接入存储集群,设置为试运行控制器;
若否,进入步骤s42;
s415.判断试运行控制器是否设定周期数内持续运行状态正常;
若是,判定试运行控制器接入存储集群成功,设置试运行控制器恢复为正常控制器,重新开始处理存储业务,进入步骤s42;
若否,返回步骤s414。
进一步地,步骤s413中,将故障控制器从存储集群移除,设置正常控制器接替故障控制器业务,再设置存储集群上报控制器异常报警;
步骤s415中,若试运行控制器设定周期数内持续运行状态正常,判定试运行控制器接入存储集群成功,设置试运行控制器恢复为正常控制器,重新开始处理存储业务,再设置存储集群上部控制器异常告警恢复。
进一步地,步骤s42具体步骤如下:
s421.根据各存储节点的健康状态检测数据统计集群内各控制器的cpu或内存使用率;
s422.判断是否存在cpu或内存使用率超过阈值上限的控制器,且正常控制器的cpu或内存使用率均低于阈值下限并持续设定周期数;
若是,标记cpu或内存使用率超过阈值上限的控制器为异常繁忙控制器,进入步骤s423;
若否,进入步骤s43;
s423.降低异常繁忙控制器的业务压力至正常控制器业务的设定比例;
s424.判断是否异常繁忙控制器的cpu或内存使用率恢复至低于阈值下限并持续设定周期数;
若是,取消该异常繁忙控制器的繁忙状态,所有控制器均恢复业务均衡,进入步骤s43;
若否,返回步骤s424。
进一步地,步骤s43具体步骤如下:
s431.根据各存储节点的健康状态检测数据统计存储集群内各控制器的温度值;
s432.判断是否存在关键温度点故障的控制器,或者是否存在温度值高于正常控制器平均温度,且两者温度差值大于温度差上限的控制器;
若是,标记该控制器为温度异常控制器;
若否,进入步骤s44;
s433.降低温度异常控制器的业务压力值正常控制器业务的设定比例;
s434.判断温度异常控制器与正常控制器的温度差值是否低于温度差下限,并持续设定周期数;
若是,取消该温度异常控制器的异常状态,所有控制器均恢复业务均衡,进入步骤s44;
若否,返回步骤s434。
进一步地,步骤s44具体步骤如下:
s441.根据各存储节点的健康状态检测数据统计存储集群中公共fru模块异常的存储节点;
s442.判断当前公共fru模块异常的存储节点是否异常并持续设定周期数;
若是,标记该存储节点为fru异常节点,进入步骤s443;
若否,返回步骤s2;
s443.降低fru异常节点的业务压力至正常存储节点业务的设定比例;
s444.判断fru异常节点故障是否恢复并持续设定周期数;
若是,取消该fru异常节点的异常状态,所有存储节点恢复业务均衡。
本发明的有益效果在于,
本发明提供的基于免线缆的集群健康状态检测方法,存储节点间通过无线连接方式,专用的无线通道连接,免去线缆连接,不会占用集群间的链路带宽,提升整个存储集群的通信能力,同时提升存储集群健康状态检测的可靠性,便于存储集群部署,降低成本;实现全面的以存储节点为单位的健康状态检测,有效降低冗余数据的搜集;根据存储集群各个控制器的健康状态信息,合理分配业务压力,提升整个存储集群的可靠性。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的方法流程示意图一;
图2是本发明的方法流程示意图二。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例1:
如图1所示,本发明提供一种基于免线缆的集群健康状态检测方法,包括如下步骤:
s1.在存储集群内每个存储节点设置无线通信模块;
s2.每个存储节点内主控制器获取并统计各子控制器健康状态检测数据及公共健康状态检测数据,得到本存储节点的健康状态检测数据;所述公共健康状态检测数据包括公共fru模块运行状态;
s3.存储集群内各存储节点间主控制器通过无线通信模块,周期性互发各存储节点的健康状态检测数据;
s4.根据各存储节点的健康状态检测数据统计存储集群内控制器故障、控制器异常以及公共fru模块运行状态异常;
将故障控制器移除存储集群,直至该故障控制器恢复再重新接入存储集群;
降低异常控制器业务压力,直至该异常控制器恢复正常;
降低运行状态异常的公共fru模块所在存储节点的业务压力,直至该存储节点的公共fru模块运行状态恢复正常。
实施例2:
如图2所示,本发明提供一种基于免线缆的集群健康状态检测方法,包括如下步骤:
s1.在存储集群内每个存储节点设置无线通信模块;具体步骤如下:
s11.设计若干基于usb接口的无线通信模块;
s12.将无线通信模块设置在每个存储节点外壳的耳挂处;
s13.每个无线通信模块通过usb接口与对应存储节点的主控制器连接;
s2.每个存储节点内主控制器获取并统计各子控制器健康状态检测数据及公共健康状态检测数据,得到本存储节点的健康状态检测数据;所述公共健康状态检测数据包括公共fru模块运行状态;具体步骤如下:
s21.同一存储节点内各子控制器之间通过内部心跳连接,互发各子控制器自身的健康状态检测数据;
s22.同一存储节点内主控制器通过内部心跳连接,获取各子控制器健康状态检测数据及公共健康状态检测数据,得到本存储节点的健康状态检测数据;
s3.存储集群内各存储节点间主控制器通过无线通信模块,周期性互发各存储节点的健康状态检测数据;
s4.根据各存储节点的健康状态检测数据统计存储集群内控制器故障、控制器异常以及公共fru模块运行状态异常;
将故障控制器移除存储集群,直至该故障控制器恢复再重新接入存储集群;
降低异常控制器业务压力,直至该异常控制器恢复正常;
降低运行状态异常的公共fru模块所在存储节点的业务压力,直至该存储节点的公共fru模块运行状态恢复正常;具体步骤如下:
s41.根据各存储节点的健康状态检测数据及预设的控制器故障判定策略,统计存储集群内故障控制器,并将故障控制器从存储集群移除,由正常控制器接替故障控制器业务,直至该故障控制器恢复再重新接入存储集群;
s42.根据各存储节点的健康状态检测数据及预设的控制器异常繁忙判定策略,统计存储集群内异常繁忙控制器,并降低异常繁忙控制器的业务压力,直至该异常繁忙控制器恢复正常;
s43.根据各存储节点的健康状态检测数据及预设的控制器异常高温判定策略,统计存储集群内异常高温控制器,并降低异常高温控制器的业务压力,直至该异常高温控制器恢复正常;
s44.根据各存储节点的健康状态检测数据及预设的存储节点公共fru模块异常策略,统计存储集群内公共fru模块运行状态异常的存储节点,并降低该存储节点的业务压力,直至该存储节点的公共fru模块运行状态恢复正常。
实施例3:
在某些实施例中,存储节点的健康状态检测数据包括存储节点内所有控制器的cpu及内存使用率,存储节点内所有控制器的cpu核温度、主板温度及环境温度值;公共fru模块包括风扇、电源、硬盘、备电以及接口卡。
在某些实施例中,步骤s41具体步骤如下:
s411.根据各存储节点的健康状态检测数据统计存储集群处于严重告警级别的控制器;
s412.判断当前周期严重告警级别的控制器是否在设定周期数内均为严重告警级别;
若是,标记该严重告警级别控制器为故障控制器,进入步骤s413;
若否,进入步骤s42;
s413.将故障控制器从存储集群移除,并设置正常控制器接替故障控制器业务;同时设置存储集群上报控制器异常报警;
s414.判断是否有故障控制器恢复;
若是,将恢复控制器重新接入存储集群,设置为试运行控制器;
若否,进入步骤s42;
s415.判断试运行控制器是否设定周期数内持续运行状态正常;
若是,判定试运行控制器接入存储集群成功,设置试运行控制器恢复为正常控制器,重新开始处理存储业务,再设置存储集群上部控制器异常告警恢复;进入步骤s42;
若否,返回步骤s414。
在某些实施例中,步骤s42具体步骤如下:
s421.根据各存储节点的健康状态检测数据统计集群内各控制器的cpu或内存使用率;
s422.判断是否存在cpu或内存使用率超过阈值上限的控制器,且正常控制器的cpu或内存使用率均低于阈值下限并持续设定周期数;
若是,标记cpu或内存使用率超过阈值上限的控制器为异常繁忙控制器,进入步骤s423;
若否,进入步骤s43;
s423.降低异常繁忙控制器的业务压力至正常控制器业务的设定比例;
s424.判断是否异常繁忙控制器的cpu或内存使用率恢复至低于阈值下限并持续设定周期数;
若是,取消该异常繁忙控制器的繁忙状态,所有控制器均恢复业务均衡,进入步骤s43;
若否,返回步骤s424。
在某些实施例中,步骤s43具体步骤如下:
s431.根据各存储节点的健康状态检测数据统计存储集群内各控制器的温度值;
s432.判断是否存在关键温度点故障的控制器,或者是否存在温度值高于正常控制器平均温度,且两者温度差值大于温度差上限的控制器;
若是,标记该控制器为温度异常控制器;
若否,进入步骤s44;
s433.降低温度异常控制器的业务压力值正常控制器业务的设定比例;
s434.判断温度异常控制器与正常控制器的温度差值是否低于温度差下限,并持续设定周期数;
若是,取消该温度异常控制器的异常状态,所有控制器均恢复业务均衡,进入步骤s44;
若否,返回步骤s434。
在某些实施例中,步骤s44具体步骤如下:
s441.根据各存储节点的健康状态检测数据统计存储集群中公共fru模块异常的存储节点;
s442.判断当前公共fru模块异常的存储节点是否异常持续设定周期数;
若是,标记该存储节点为fru异常节点,进入步骤s443;
若否,返回步骤s2;
s443.降低fru异常节点的业务压力至正常存储节点业务的设定比例;
s444.判断fru异常节点故障是否恢复并持续设定周期数;
若是,取消该fru异常节点的异常状态,所有存储节点恢复业务均衡。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
1.一种基于免线缆的集群健康状态检测方法,其特征在于,包括如下步骤:
s1.在存储集群内每个存储节点设置无线通信模块;
s2.每个存储节点内主控制器获取并统计各子控制器健康状态检测数据及公共健康状态检测数据,得到本存储节点的健康状态检测数据;所述公共健康状态检测数据包括公共fru模块运行状态;
s3.存储集群内各存储节点间主控制器通过无线通信模块,周期性互发各存储节点的健康状态检测数据;
s4.根据各存储节点的健康状态检测数据统计存储集群内控制器故障、控制器异常以及公共fru模块运行状态异常;
将故障控制器移除存储集群,直至该故障控制器恢复再重新接入存储集群;
降低异常控制器业务压力,直至该异常控制器恢复正常;
降低运行状态异常的公共fru模块所在存储节点的业务压力,直至该存储节点的公共fru模块运行状态恢复正常。
2.如权利要求1所述的基于免线缆的集群健康状态检测方法,其特征在于,步骤s1具体步骤如下:
s11.设计若干基于usb接口的无线通信模块;
s12.将无线通信模块设置在每个存储节点外壳的耳挂处;
s13.每个无线通信模块通过usb接口与对应存储节点的主控制器连接。
3.如权利要求2所述的基于免线缆的集群健康状态检测方法,其特征在于,步骤s2具体步骤如下:
s21.同一存储节点内各子控制器之间通过内部心跳连接,互发各子控制器自身的健康状态检测数据;
s22.同一存储节点内主控制器通过内部心跳连接,获取各子控制器健康状态检测数据及公共健康状态检测数据,得到本存储节点的健康状态检测数据。
4.如权利要求3所述的基于免线缆的集群健康状态检测方法,其特征在于,存储节点的健康状态检测数据包括存储节点内所有控制器的cpu及内存使用率,存储节点内所有控制器的cpu核温度、主板温度及环境温度值;
公共fru模块包括风扇、电源、硬盘、备电以及接口卡。
5.如权利要求4所述的基于免线缆的集群健康状态检测方法,其特征在于,步骤s4具体步骤如下:
s41.根据各存储节点的健康状态检测数据及预设的控制器故障判定策略,统计存储集群内故障控制器,并将故障控制器从存储集群移除,由正常控制器接替故障控制器业务,直至该故障控制器恢复再重新接入存储集群;
s42.根据各存储节点的健康状态检测数据及预设的控制器异常繁忙判定策略,统计存储集群内异常繁忙控制器,并降低异常繁忙控制器的业务压力,直至该异常繁忙控制器恢复正常;
s43.根据各存储节点的健康状态检测数据及预设的控制器异常高温判定策略,统计存储集群内异常高温控制器,并降低异常高温控制器的业务压力,直至该异常高温控制器恢复正常;
s44.根据各存储节点的健康状态检测数据及预设的存储节点公共fru模块异常策略,统计存储集群内公共fru模块运行状态异常的存储节点,并降低该存储节点的业务压力,直至该存储节点的公共fru模块运行状态恢复正常。
6.如权利要求5所述的基于免线缆的集群健康状态检测方法,其特征在于,步骤s41具体步骤如下:
s411.根据各存储节点的健康状态检测数据统计存储集群处于严重告警级别的控制器;
s412.判断当前周期严重告警级别的控制器是否在设定周期数内均为严重告警级别;
若是,标记该严重告警级别控制器为故障控制器,进入步骤s413;
若否,进入步骤s42;
s413.将故障控制器从存储集群移除,并设置正常控制器接替故障控制器业务;
s414.判断是否有故障控制器恢复;
若是,将恢复控制器重新接入存储集群,设置为试运行控制器;
若否,进入步骤s42;
s415.判断试运行控制器是否设定周期数内持续运行状态正常;
若是,判定试运行控制器接入存储集群成功,设置试运行控制器恢复为正常控制器,重新开始处理存储业务,进入步骤s42;
若否,返回步骤s414。
7.如权利要求6所述的基于免线缆的集群健康状态检测方法,其特征在于,步骤s413中,将故障控制器从存储集群移除,设置正常控制器接替故障控制器业务,再设置存储集群上报控制器异常报警;
步骤s415中,若试运行控制器设定周期数内持续运行状态正常,判定试运行控制器接入存储集群成功,设置试运行控制器恢复为正常控制器,重新开始处理存储业务,再设置存储集群上部控制器异常告警恢复。
8.如权利要求5所述的基于免线缆的集群健康状态检测方法,其特征在于,步骤s42具体步骤如下:
s421.根据各存储节点的健康状态检测数据统计集群内各控制器的cpu或内存使用率;
s422.判断是否存在cpu或内存使用率超过阈值上限的控制器,且正常控制器的cpu或内存使用率均低于阈值下限并持续设定周期数;
若是,标记cpu或内存使用率超过阈值上限的控制器为异常繁忙控制器,进入步骤s423;
若否,进入步骤s43;
s423.降低异常繁忙控制器的业务压力至正常控制器业务的设定比例;
s424.判断是否异常繁忙控制器的cpu或内存使用率恢复至低于阈值下限并持续设定周期数;
若是,取消该异常繁忙控制器的繁忙状态,所有控制器均恢复业务均衡,进入步骤s43;
若否,返回步骤s424。
9.如权利要求5所述的基于免线缆的集群健康状态检测方法,其特征在于,步骤s43具体步骤如下:
s431.根据各存储节点的健康状态检测数据统计存储集群内各控制器的温度值;
s432.判断是否存在关键温度点故障的控制器,或者是否存在温度值高于正常控制器平均温度,且两者温度差值大于温度差上限的控制器;
若是,标记该控制器为温度异常控制器;
若否,进入步骤s44;
s433.降低温度异常控制器的业务压力值正常控制器业务的设定比例;
s434.判断温度异常控制器与正常控制器的温度差值是否低于温度差下限,并持续设定周期数;
若是,取消该温度异常控制器的异常状态,所有控制器均恢复业务均衡,进入步骤s44;
若否,返回步骤s434。
10.如权利要求5所述的基于免线缆的集群健康状态检测方法,其特征在于,步骤s44具体步骤如下:
s441.根据各存储节点的健康状态检测数据统计存储集群中公共fru模块异常的存储节点;
s442.判断当前公共fru模块异常的存储节点是否异常并持续设定周期数;
若是,标记该存储节点为fru异常节点,进入步骤s443;
若否,返回步骤s2;
s443.降低fru异常节点的业务压力至正常存储节点业务的设定比例;
s444.判断fru异常节点故障是否恢复并持续设定周期数;
若是,取消该fru异常节点的异常状态,所有存储节点恢复业务均衡。
技术总结