本发明属于风扇监控技术领域,具体涉及一种应用于交换机的内核态风扇告警方法及装置。
背景技术:
cpld,是complexprogrammablelogicdevice的缩写,复杂可编程逻辑器件。
bmc,是baseboardmanagementcontroller的缩写,基板管理控制器。
交换机运行时,cpu、交换芯片、电源等各部件处于工作状态,会产生大量热量;为了使交换机处于最优的温度下工作,散热策略会根据各部件的温度实时调控风扇转速,对部件进行降温。如果风扇运行出现故障,交换机要捕捉到故障状态,立即做出响应处理。
对于交换机对风扇的监控,带bmc的交换机,由bmc负责管理各个器件的健康状态,而不带bmc的交换机,则cpu端负责监控各器件的健康状态。cpu端监管风扇状态时,常见手段为监控服务轮询获取各风扇的参数,比如温度、电压、在位信号、转速等,当发现参数指标异常时,告警上报管理员。
交换机cpu端的操作系统常为linux,linux分为用户空间和内核空间。交换机开启的监控服务是用户空间的进程,监控服务需要通过风扇驱动拿到风扇运行参数,风扇驱动是内核空间的程序。对于不同的交换机产品,由于硬件设计的不同,风扇驱动提供的接口亦不一样,这就需要风扇的监控服务跟着产品类型不断去修改程序接口,增加了维护成本。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种应用于交换机的内核态风扇告警方法及装置,是非常有必要的。
技术实现要素:
针对现有技术的上述不带bmc的交换机风扇监控cpu端linux系统的用户空间和内核空间分开,从而需要用户空间风扇的监控服务跟着内核空间的产品类型不断去修改程序接口的缺陷,本发明提供一种应用于交换机的内核态风扇告警方法及装置,以解决上述技术问题。
第一方面,本发明提供一种应用于交换机的内核态风扇告警方法,包括步骤:
s1.在交换机cpu端linux操作系统的内核空间设置风扇板驱动层模块和风扇监控驱动层模块,并在风扇监控驱动层模块设置告警策略;
s2.在交换机cpu端linux操作系统的用户空间设置用户空间接口层风扇接口模块;
s3.风扇监控驱动层模块通过风扇板驱动层模块获取风扇状态,并根据风扇状态及告警策略设置风扇报警状态值,并将风扇报警状态值提供给用户空间接口层风扇接口模块;
s4.外部用户功能模块通过用户空间接口层风扇接口模块获取风扇报警状态值,并根据风扇报警状态值修改风扇状态。
进一步地,风扇板驱动层模块包括风扇转速信息接口单元、风扇在位信息接口单元、风扇转速占空比接口单元以及风扇占空比设置修改单元。风扇板驱动层模块提供的四个接口单元供风扇监控驱动模块访问。
进一步地,风扇板驱动层模块采用cpld模块。采用cpld的风扇板驱动层模块是风扇的实际控制层模块,实现了对风扇的控制逻辑,可以读取cpld寄存器获取风扇状态,也可以修改cpld寄存器达到对风扇的控制,cpld为复杂可编程逻辑器件,本发明不限于此,还可采用fpga。
进一步地,所述告警策略包括:风扇在位信息检查、风扇实际转速与配置转速检查。风扇监控驱动模块导入风扇告警策略,并通过访问风扇板驱动层模块提供的接口单元,判断风扇状态。
进一步地,步骤s3具体步骤如下:
s31.风扇监控驱动层模块通过风扇板驱动层模块对风扇在位信息及风扇转速轮询监控;
s32.当扫描到风扇不在位时,设置风扇报警状态值等于风扇在位报警标志位;
当扫描到风扇转速与配置转速不一致时,设置风扇报警状态值等于风扇转速报警标志位;
当未扫描到异常时,设置风扇报警状态值等于风扇正常标志位;
s33.设置用户空间接口层风扇接口模块的接口路径,风扇监控驱动层模块通过接口路径将风扇报警状态值提供给用户空间接口层风扇接口模块。
进一步地,步骤s4具体步骤如下:
s41.外部用户功能模块通过用户空间接口层风扇接口模块的接口路径获取风扇报警状态值;
s42.当风扇报警状态值等于风扇在位报警标志位,判定风扇不在位;
当风扇报警状态值等于风扇转速报警标志位,判定风扇转速异常,同时,外部用户功能模块依次通过用户空间接口层风扇接口模块、风扇监控驱动层模块以及风扇板驱动层模块修改风扇转速。
进一步地,步骤s33具体步骤如下:
s331.在风扇监控驱动层模块设置用户接口层风扇接口模块的接口目录;
s332.在接口目录下设置若干子目录;每个子目录对应一个风扇编号;
s333.在一个风扇编号对应的子目录下设置若干风扇属性文件。
进一步地,步骤s333中的风扇属性文件包括风扇pwm占空比属性文件、风扇报警状态值属性文件以及风扇转速属性文件。
第二方面,本发明提供一种应用于交换机的内核态风扇告警装置,包括:
内核空间功能层设置模块,在交换机cpu端linux操作系统的内核空间设置风扇板驱动层模块和风扇监控驱动层模块,并在风扇监控驱动层模块设置告警策略;
用户空间功能层设置模块,用于在交换机cpu端linux操作系统的用户空间设置用户空间接口层风扇接口模块;
风扇监控驱动层模块功能配置模块,用于配置风扇监控驱动层模块通过风扇板驱动层模块获取风扇状态,并根据风扇状态及告警策略设置风扇报警状态值,并将风扇报警状态值提供给用户空间接口层风扇接口模块;
用户空间接口层风扇接口模块功能配置模块,用于配置外部用户功能模块通过用户空间接口层风扇接口模块获取风扇报警状态值,并根据风扇报警状态值修改风扇状态。
进一步地,风扇监控驱动层模块功能配置模块包括:
轮询监控配置单元,用于配置风扇监控驱动层模块通过风扇板驱动层模块对风扇在位信息及风扇转速轮询监控;
风扇报警状态值第一设置单元,用于当扫描到风扇不在位时,设置风扇报警状态值等于风扇在位报警标志位;
风扇报警状态值第二设置单元,用于当扫描到风扇转速与配置转速不一致时,设置风扇报警状态值等于风扇转速报警标志位;
风扇报警状态值第三设置单元,用于当未扫描到异常时,设置风扇报警状态值等于风扇正常标志位;
接口路径设置单元,用于设置用户空间接口层风扇接口模块的接口路径,风扇监控驱动层模块通过接口路径将风扇报警状态值提供给用户空间接口层风扇接口模块。
进一步地,用户空间接口层风扇接口模块功能配置模块包括:
风扇报警状态值外部获取配置单元,用于配置外部用户功能模块通过用户空间接口层风扇接口模块的接口路径获取风扇报警状态值;
风扇状态第一判断单元,用于当风扇报警状态值等于风扇在位报警标志位,判定风扇不在位;
风扇状态第二判断单元,用于当风扇报警状态值等于风扇转速报警标志位,判定风扇转速异常,同时,外部用户功能模块依次通过用户空间接口层风扇接口模块、风扇监控驱动层模块以及风扇板驱动层模块修改风扇转速。
本发明的有益效果在于,
本发明提供的应用于交换机的内核态风扇告警方法及装置,在内核空间下对风扇参数进行实时监控,把用户空间下的告警策略放到内核空间的风扇监控驱动层模块和风扇驱动层模块中实现,以此减轻外部用户功能模块的逻辑处理;并且,本发明是在原始风扇驱动的基础上,新增一层抽象的风扇监控驱动层模块,向用户空间接口层风扇接口模块提供统一的用户空间接口可查看风扇运行状态,不必跟随产品去修改程序接口,减少了外部用户功能模块的维护成本。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的方法流程示意图一;
图2是本发明的方法流程示意图二;
图3是本发明的各模块结构示意图;
图4为本发明的系统示意图;
图中,1-内核空间功能层设置模块;2-用户空间功能层设置模块;3-风扇监控驱动层模块功能配置模块;3.1-轮询监控配置单元;3.2-风扇报警状态值第一设置单元;3.3-风扇报警状态值第二设置单元;3.4-风扇报警状态值第三设置单元;3.5-接口路径设置单元;4-用户空间接口层风扇接口模块功能配置模块;4.1-风扇报警状态值外部获取配置单元;4.2-风扇状态第一判断单元;4.3-风扇状态第二判断单元。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例1:
如图1和图3所示,本发明提供一种应用于交换机的内核态风扇告警方法,包括步骤:
s1.在交换机cpu端linux操作系统的内核空间设置风扇板驱动层模块和风扇监控驱动层模块,并在风扇监控驱动层模块设置告警策略;风扇板驱动层模块采用cpld模块;风扇板驱动层模块包括风扇转速信息接口单元、风扇在位信息接口单元、风扇转速占空比接口单元以及风扇占空比设置修改单元;
s2.在交换机cpu端linux操作系统的用户空间设置用户空间接口层风扇接口模块;
s3.风扇监控驱动层模块通过风扇板驱动层模块获取风扇状态,并根据风扇状态及告警策略设置风扇报警状态值,并将风扇报警状态值提供给用户空间接口层风扇接口模块;
s4.外部用户功能模块通过用户空间接口层风扇接口模块获取风扇报警状态值,并根据风扇报警状态值修改风扇状态。
实施例2:
如图2和图3所示,本发明提供一种应用于交换机的内核态风扇告警方法,包括步骤:
s1.在交换机cpu端linux操作系统的内核空间设置风扇板驱动层模块和风扇监控驱动层模块,并在风扇监控驱动层模块设置告警策略;风扇板驱动层模块包括风扇转速信息接口单元、风扇在位信息接口单元、风扇转速占空比接口单元以及风扇占空比设置修改单元;告警策略包括:风扇在位信息检查、风扇实际转速与配置转速检查;风扇监控驱动模块导入风扇告警策略,并通过访问风扇板驱动层模块提供的接口单元,判断风扇状态;
s2.在交换机cpu端linux操作系统的用户空间设置用户空间接口层风扇接口模块;
s3.风扇监控驱动层模块通过风扇板驱动层模块获取风扇状态,并根据风扇状态及告警策略设置风扇报警状态值,并将风扇报警状态值提供给用户空间接口层风扇接口模块;具体步骤如下:
s31.风扇监控驱动层模块通过风扇板驱动层模块对风扇在位信息及风扇转速轮询监控;
s32.当扫描到风扇不在位时,设置风扇报警状态值等于风扇在位报警标志位;
当扫描到风扇转速与配置转速不一致时,设置风扇报警状态值等于风扇转速报警标志位;
当未扫描到异常时,设置风扇报警状态值等于风扇正常标志位;
s33.设置用户空间接口层风扇接口模块的接口路径,风扇监控驱动层模块通过接口路径将风扇报警状态值提供给用户空间接口层风扇接口模块;具体步骤如下:
s331.在风扇监控驱动层模块设置用户接口层风扇接口模块的接口目录;
s332.在接口目录下设置若干子目录;每个子目录对应一个风扇编号;
s333.在一个风扇编号对应的子目录下设置若干风扇属性文件;风扇属性文件包括风扇pwm占空比属性文件、风扇报警状态值属性文件以及风扇转速属性文件;
s4.外部用户功能模块通过用户空间接口层风扇接口模块获取风扇报警状态值,并根据风扇报警状态值修改风扇状态;具体步骤如下:
s41.外部用户功能模块通过用户空间接口层风扇接口模块的接口路径获取风扇报警状态值;
s42.当风扇报警状态值等于风扇在位报警标志位,判定风扇不在位;
当风扇报警状态值等于风扇转速报警标志位,判定风扇转速异常,同时,外部用户功能模块依次通过用户空间接口层风扇接口模块、风扇监控驱动层模块以及风扇板驱动层模块修改风扇转速。
上述实施例2中,以应用于128x100g交换机产品为例,128x100g交换机产品共有6个风扇;首先风扇板驱动层模块通过“export_symbol”的方式提供了风扇转速信息接口单元、风扇在位信息接口单元、风扇转速占空比接口单元以及风扇占空比设置修改单元;
然后,风扇监控驱动模块导入告警策略,风扇在位信息检查、风扇实际转速与配置转速检查,通过访问风扇板驱动层模块提供的接口,对风扇在位信息及风扇转速轮询监控;
风扇监控驱动模块注册了“sysfs”,其中,sysfs是一种用户空间和内核空间通信方式,内核对象为接口目录“/sys/fan/”;然后,该接口目录下会根据风扇编号创建子目录x,目录形式为“/sys/fan/x/”;在子目录下提供三个属性文件:风扇pwm占空比属性文件“/sys/fan/x/pwm”、风扇报警状态值属性文件“/sys/fan/x/alarm”、风扇转速属性文件“/sys/fan/x/speed”,这些属性文件就是风扇监控驱动模块提供给户空间接口层风扇接口模块的接口。风扇监控驱动模块会根据告警策略实时修改“alarm”的值;外部用户功能模块可以访问风扇报警状态值属性文件“/sys/fan/x/alarm”,根据alarm的值判定风扇是否出现故障,并做决策处理,如修改该风扇的转速。
本发明通过抽象的风扇监控驱动层模块,提供统一的用户空间接口供用户程序访问,并把风扇告警策略移植到驱动层实现,保证了用户在无风扇监控服务的情况下,依然可以判断风扇运行状态。欲保护点也是设计了一层风扇驱动抽象层,提供统一的用户空间接口供用户程序访问,并把风扇告警策略移植到驱动层实现,保证了用户在无风扇监控服务的情况下,依然可以判断风扇运行状态的方法。
实施例3:
如图4所示,本发明提供一种应用于交换机的内核态风扇告警装置,包括:
内核空间功能层设置模块1,在交换机cpu端linux操作系统的内核空间设置风扇板驱动层模块和风扇监控驱动层模块,并在风扇监控驱动层模块设置告警策略;
用户空间功能层设置模块2,用于在交换机cpu端linux操作系统的用户空间设置用户空间接口层风扇接口模块;
风扇监控驱动层模块功能配置模块3,用于配置风扇监控驱动层模块通过风扇板驱动层模块获取风扇状态,并根据风扇状态及告警策略设置风扇报警状态值,并将风扇报警状态值提供给用户空间接口层风扇接口模块;风扇监控驱动层模块功能配置模块3包括:
轮询监控配置单元3.1,用于配置风扇监控驱动层模块通过风扇板驱动层模块对风扇在位信息及风扇转速轮询监控;
风扇报警状态值第一设置单元3.2,用于当扫描到风扇不在位时,设置风扇报警状态值等于风扇在位报警标志位;
风扇报警状态值第二设置单元3.3,用于当扫描到风扇转速与配置转速不一致时,设置风扇报警状态值等于风扇转速报警标志位;
风扇报警状态值第三设置单元3.4,用于当未扫描到异常时,设置风扇报警状态值等于风扇正常标志位;
接口路径设置单元3.5,用于设置用户空间接口层风扇接口模块的接口路径,风扇监控驱动层模块通过接口路径将风扇报警状态值提供给用户空间接口层风扇接口模块;
用户空间接口层风扇接口模块功能配置模块4,用于配置外部用户功能模块通过用户空间接口层风扇接口模块获取风扇报警状态值,并根据风扇报警状态值修改风扇状态;用户空间接口层风扇接口模块功能配置模块4包括:
风扇报警状态值外部获取配置单元4.1,用于配置外部用户功能模块通过用户空间接口层风扇接口模块的接口路径获取风扇报警状态值;
风扇状态第一判断单元4.2,用于当风扇报警状态值等于风扇在位报警标志位,判定风扇不在位;
风扇状态第二判断单元4.3,用于当风扇报警状态值等于风扇转速报警标志位,判定风扇转速异常,同时,外部用户功能模块依次通过用户空间接口层风扇接口模块、风扇监控驱动层模块以及风扇板驱动层模块修改风扇转速。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
1.一种应用于交换机的内核态风扇告警方法,其特征在于,包括步骤:
s1.在交换机cpu端linux操作系统的内核空间设置风扇板驱动层模块和风扇监控驱动层模块,并在风扇监控驱动层模块设置告警策略;
s2.在交换机cpu端linux操作系统的用户空间设置用户空间接口层风扇接口模块;
s3.风扇监控驱动层模块通过风扇板驱动层模块获取风扇状态,并根据风扇状态及告警策略设置风扇报警状态值,并将风扇报警状态值提供给用户空间接口层风扇接口模块;
s4.外部用户功能模块通过用户空间接口层风扇接口模块获取风扇报警状态值,并根据风扇报警状态值修改风扇状态。
2.如权利要求1所述的应用于交换机的内核态风扇告警方法,其特征在于,风扇板驱动层模块包括风扇转速信息接口单元、风扇在位信息接口单元、风扇转速占空比接口单元以及风扇占空比设置修改单元。
3.如权利要求1所述的应用于交换机的内核态风扇告警方法,其特征在于,所述告警策略包括:风扇在位信息检查、风扇实际转速与配置转速检查。
4.如权利要求3所述的应用于交换机的内核态风扇告警方法,其特征在于,步骤s3具体步骤如下:
s31.风扇监控驱动层模块通过风扇板驱动层模块对风扇在位信息及风扇转速轮询监控;
s32.当扫描到风扇不在位时,设置风扇报警状态值等于风扇在位报警标志位;
当扫描到风扇转速与配置转速不一致时,设置风扇报警状态值等于风扇转速报警标志位;
当未扫描到异常时,设置风扇报警状态值等于风扇正常标志位;
s33.设置用户空间接口层风扇接口模块的接口路径,风扇监控驱动层模块通过接口路径将风扇报警状态值提供给用户空间接口层风扇接口模块。
5.如权利要求4所述的应用于交换机的内核态风扇告警方法,其特征在于,步骤s4具体步骤如下:
s41.外部用户功能模块通过用户空间接口层风扇接口模块的接口路径获取风扇报警状态值;
s42.当风扇报警状态值等于风扇在位报警标志位,判定风扇不在位;
当风扇报警状态值等于风扇转速报警标志位,判定风扇转速异常,同时,外部用户功能模块依次通过用户空间接口层风扇接口模块、风扇监控驱动层模块以及风扇板驱动层模块修改风扇转速。
6.如权利要求4所述的应用于交换机的内核态风扇告警方法,其特征在于,步骤s33具体步骤如下:
s331.在风扇监控驱动层模块设置用户接口层风扇接口模块的接口目录;
s332.在接口目录下设置若干子目录;每个子目录对应一个风扇编号;
s333.在一个风扇编号对应的子目录下设置若干风扇属性文件。
7.如权利要求6所述的应用于交换机的内核态风扇告警方法,其特征在于,步骤s333中的风扇属性文件包括风扇pwm占空比属性文件、风扇报警状态值属性文件以及风扇转速属性文件。
8.一种应用于交换机的内核态风扇告警装置,其特征在于,包括:
内核空间功能层设置模块(1),在交换机cpu端linux操作系统的内核空间设置风扇板驱动层模块和风扇监控驱动层模块,并在风扇监控驱动层模块设置告警策略;
用户空间功能层设置模块(2),用于在交换机cpu端linux操作系统的用户空间设置用户空间接口层风扇接口模块;
风扇监控驱动层模块功能配置模块(3),用于配置风扇监控驱动层模块通过风扇板驱动层模块获取风扇状态,并根据风扇状态及告警策略设置风扇报警状态值,并将风扇报警状态值提供给用户空间接口层风扇接口模块;
用户空间接口层风扇接口模块功能配置模块(4),用于配置外部用户功能模块通过用户空间接口层风扇接口模块获取风扇报警状态值,并根据风扇报警状态值修改风扇状态。
9.如权利要求8所述的应用于交换机的内核态风扇告警装置,其特征在于,风扇监控驱动层模块功能配置模块(3)包括:
轮询监控配置单元(3.1),用于配置风扇监控驱动层模块通过风扇板驱动层模块对风扇在位信息及风扇转速轮询监控;
风扇报警状态值第一设置单元(3.2),用于当扫描到风扇不在位时,设置风扇报警状态值等于风扇在位报警标志位;
风扇报警状态值第二设置单元(3.3),用于当扫描到风扇转速与配置转速不一致时,设置风扇报警状态值等于风扇转速报警标志位;
风扇报警状态值第三设置单元(3.4),用于当未扫描到异常时,设置风扇报警状态值等于风扇正常标志位;
接口路径设置单元(3.5),用于设置用户空间接口层风扇接口模块的接口路径,风扇监控驱动层模块通过接口路径将风扇报警状态值提供给用户空间接口层风扇接口模块。
10.如权利要求9所述的应用于交换机的内核态风扇告警装置,其特征在于,用户空间接口层风扇接口模块功能配置模块(4)包括:
风扇报警状态值外部获取配置单元(4.1),用于配置外部用户功能模块通过用户空间接口层风扇接口模块的接口路径获取风扇报警状态值;
风扇状态第一判断单元(4.2),用于当风扇报警状态值等于风扇在位报警标志位,判定风扇不在位;
风扇状态第二判断单元(4.3),用于当风扇报警状态值等于风扇转速报警标志位,判定风扇转速异常,同时,外部用户功能模块依次通过用户空间接口层风扇接口模块、风扇监控驱动层模块以及风扇板驱动层模块修改风扇转速。
技术总结