CN109062753A - 一种硬盘监控系统以及监控方法 - Google Patents
一种硬盘监控系统以及监控方法 Download PDFInfo
- Publication number
- CN109062753A CN109062753A CN201810559317.7A CN201810559317A CN109062753A CN 109062753 A CN109062753 A CN 109062753A CN 201810559317 A CN201810559317 A CN 201810559317A CN 109062753 A CN109062753 A CN 109062753A
- Authority
- CN
- China
- Prior art keywords
- hard disk
- pcie switch
- drive module
- monitoring
- link
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/325—Display of status information by lamps or LED's
- G06F11/326—Display of status information by lamps or LED's for error or online/offline status
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉一种硬盘监控系统以及监控方法,采用本申请方案,PCIE Switch驱动模块能够在硬盘链路出现异常的时候,向监控模块上报链路异常事件;监控模块在接收到PCIE Switch驱动模块上报的链路异常事件后,会主动获取的硬盘信息进行异常分析,根据异常分析的结果生成异常处理指令,指示PCIE Switch驱动模块根据异常处理指令控制PCIE Switch进行异常处理,不需要为轮询设置较小的时间间隔,不论任何时刻,只要SSD连接PCIE Switch的链路发生异常,都够使得监控模块能够及时获知该异常,并进行异常处理,提高硬盘监控的可靠性,避免造成CPU资源的浪费。
Description
技术领域
本申请涉及硬盘监控技术领域,尤其涉及一种硬盘监控系统以及监控方法。
背景技术
固态硬盘(Solid State Drives,SSD)是使用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元组成。SSD作为当前广泛使用的数据载体,其可靠性也越来越受到重视。对SSD进行监控,并对SSD的信息及状态进行分析,是目前预防、处理SSD故障,保证SSD的可靠性最有效的方法。非易失性存储扩展(Non-Volatile Memory express,NVMe)协议是专门为SSD等高性能存储介质设计的存储协议;外围组件互联表达(peripheralcomponent interconnect express,PCIE)是一种高速串行计算机扩展总线标准。
现有的SSD监控方法一般是监控软件按照预设的轮询时间向NVMe驱动发送输入输出(input/output,I/O)请求以获得指定SSD的状态信息和SMART信息,然后将SSD的状态信息和自动检测分析及报告技术(Self-Monitoring Analysis and ReportingTechnology,SMART)信息返回给监控软件;其中,SSD的状态信息包括:设备类型、设备路径、别名、设备状态、使用寿命估计等;SMART信息是硬盘自检系统保留的硬盘硬件信息,如数据读写技术、可用/已用空间、温度、在线时长、上电次数、临界报警信息、SMART状态等。监控软件会根据获得的SSD的状态信息和SMART信息进行分析,获得监控结果;若SSD的监控结果正常,则监控软件睡眠指定时间;若SSD的监控结果异常,则根据异常的种类对SSD进行修复、报警、禁用或者更换等操作。
但是由于当前SSD监控方法是采用监控软件轮询,轮询的时间间隔不易确定;若轮询间隔小,会造成中央处理器(Central Processing Unit,CPU)资源的浪费;若间隔大,会造成SSD异常处理不及时,硬盘监控的可靠性差。
发明内容
本申请实施例提供一种硬盘监控系统以及监控方法,能够在不造成CPU资源浪费的前提下,使得监控模块能够及时获知该异常,进行异常处理,提高硬盘监控的可靠性。
第一方面,提供一种硬盘监控系统,该系统包括:监控模块、非易失性存储扩展NVMe驱动模块、外围组件互联扩展交换PCIE Switch驱动模块、PCIE Switch;
其中,所述PCIE Switch用于和所述硬盘连接,在与所述硬盘连接的链路出现异常后发生中断,并向所述PCIE Switch驱动模块上报异常信息;接收并执行所述PCIE Switch驱动模块发送的控制指令;
所述PCIE Switch驱动模块,用于在接收所述PCIE Switch发送的异常信息后生成链路异常事件,并将所述链路异常事件上报给所述监控模块;在接收到所述监控模块下发的异常处理指令后,基于所述异常处理指令向所述PCIE Switch发送控制指令,用于指示所述PCIE Switch进行异常处理;
所述监控模块,用于在接收所述PCIE Switch驱动模块上报的链路异常事件后,向所述NVMe驱动模块下发硬盘信息获取请求;接收所述NVMe驱动模块根据所述硬盘信息获取请求反馈的硬盘信息,基于所述硬盘信息进行异常分析,根据异常分析的结果生成异常处理指令,并将所述异常处理指令下发给所述PCIE Switch驱动模块;
所述NVMe驱动模块,用于在接收到所述硬盘信息获取请求后,从所述硬盘读取硬盘信息,并将读取的所述硬盘信息反馈给所述监控模块。
第二方面,提供一种硬盘监控方法,应用于硬盘监控系统中的外围组件互联扩展交换PCIE Switch驱动模块,该方法包括:
接收PCIE Switch在发生中断后发送的异常信息;
根据所述异常信息生成链路异常事件,并将所述链路异常事件上报给监控模块,以便所述监控模块基于所述链路异常事件从所述NVMe驱动模块获取反馈的硬盘信息,并基于所述硬盘信息生成异常处理指令,将异常处理指令下发给所述PCIE Switch驱动模块;
基于所述异常处理指令向所述PCIE Switch发送控制指令,用于指示所述PCIESwitch进行异常处理。
第三方面,提供一种硬盘监控方法,应用于硬盘监控系统中的监控模块,该方法包括:
接收PCIE Switch驱动模块上报的链路异常事件;所述链路异常事件为PCIESwitch驱动模块在接收到PCIE Switch发生中断后发送的异常信息后生成;
向所述NVMe驱动模块下发硬盘信息获取请求;所述硬盘信息获取请求用于指示所述NVMe驱动模块从所述硬盘读取硬盘信息;
接收所述NVMe驱动模块根据所述硬盘信息获取请求反馈的所述硬盘信息;
基于所述硬盘信息进行异常分析,根据异常分析的结果生成异常处理指令,并将所述异常处理指令下发给所述PCIE Switch驱动模块,用于所述PCIE Switch驱动模块基于所述异常处理指令向PCIE Switch发送控制指令,指示所述PCIE Switch进行异常处理。
本申请实施例中,不论任何时候,一旦PCIE Switch连接SSD的链路出现异常,就会触发PCIE Switch发生中断;PCIE Switch在发生中断后向PCIE Switch驱动模块上报异常信息;PCIE Switch驱动模块在接收到PCIE Switch所发送的异常信息后,会生成对应的链路异常事件上报给监控模块。监控模块在接收到PCIE Switch驱动模块上报的链路异常事件后,会向NVMe驱动模块下发硬盘信息获取请求,以获取SSD的硬盘信息,并基于获取的硬盘信息进行异常分析,根据异常分析的结果生成异常处理指令,并将异常处理指令下发给PCIE Switch驱动模块,以使PCIE Switch驱动模块根据异常处理指令向PCIE Switch下发控制指令,控制PCIE Switch进行异常处理,不需要为轮询设置较小的时间间隔,不论任何时刻,只要SSD连接PCIE Switch的链路发生异常,都能够使得监控模块及时获知该异常,并进行异常处理,提高硬盘监控的可靠性,避免造成CPU资源的浪费。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要的附图做简单的介绍。显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种硬盘监控系统的结构示意图;
图2为本申请实施例提供的一种硬盘监控方法的流程图;
图3为本申请实施例提供的将链路异常事件上报给监控模块的方法流程图;
图4为本申请实施例提供的另一种硬盘监控方法的流程图;
图5为本申请实施例提供的另一种硬盘监控方法的流程图;
图6为本申请实施例提供的硬盘监控装置600的结构示意图;
图7为本申请实施例提供的硬盘监控装置700的结构示意图;
图8为本申请实施例提供的一种计算机设备800的结构示意图;
图9为本申请实施例提供的另一种计算机设备900的结构示意图。
具体实施方式
与现有技术通过定时向NVMe驱动发送I/O请求,以实现周期性对SSD的监测不同,在本申请实施例中,PCIE Switch驱动模块能够在硬盘链路出现异常的时候,向监控模块上报链路异常事件;监控模块在接收到PCIE Switch驱动模块上报的链路异常事件后,会主动获取的硬盘信息进行异常分析,根据异常分析的结果生成异常处理指令,指示PCIE Switch驱动模块根据异常处理指令控制PCIE Switch进行异常处理,不需要为轮询设置较小的时间间隔,不论任何时刻,只要SSD连接PCIE Switch的链路发生异常,都够使得监控模块能够及时获知该异常,并进行异常处理,提高硬盘监控的可靠性,避免造成CPU资源的浪费。
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请做进一步详细的说明。
参见图1所示,本申请的一种实施例所提供的硬盘监控系统包括:
监控模块10、非易失性存储扩展NVMe驱动模块20、外围组件互联扩展交换PCIESwitch驱动模块30、PCIE Switch40。
(1)PCIE Switch40:用于和SSD50连接,在与SSD50连接的链路出现异常后发生中断,并向PCIE Switch驱动模30块上报异常信息。
(2)PCIE Switch驱动模块30,用于在接收PCIE Switch40发送的异常信息后生成链路异常事件,并将链路异常事件上报给监控模块10;在接收到监控模块10下发的异常处理指令后,基于异常处理指令向PCIE Switch发送控制指令,用于指示PCIE Switch进行异常处理;
(3)监控模块10,用于在接收PCIE Switch驱动模块30上报的链路异常事件后,向NVMe驱动模块20下发硬盘信息获取请求;接收NVMe驱动模块20根据硬盘信息获取请求反馈的硬盘信息,基于硬盘信息进行异常分析,根据异常分析的结果生成异常处理指令,并将异常处理指令下发给PCIE Switch驱动模块30;
(4)NVMe驱动模块,用于在接收到硬盘信息获取请求后,从硬盘读取硬盘信息,并将读取的硬盘信息反馈给监控模块。
在具体实现的时候,
在上述(1)中,PCIE设备是指将外围设备与CPU连接的接口设备;外围设备为计算机上除CPU以外的其他设备,如SSD、网卡、显卡等;在本申请实施例中,以外围设备为SSD对PCIE的扩展功能加以说明:
一个PCIE设备包括一条PCIE链路(link),一条PCIE链路包括多个数据通道(lane);一条PCIE链路通常只能连接一个SSD。PCIE Switch用于将一条PCIE链路扩展成多条PCIE链路,并对扩展得到的链路进行管理;扩展得到的每条PCIE链路均可以连接一个SSD,以实现存储介质的扩容。PCIE Switch包括一个上游端口和多个下游端口;在实现链路扩展时,上游端口连接原有的PCIE设备,每个下游端口都可以连接一个SSD。在PCIE Switch上包括配置空间寄存器,用于保存对每个下游端口连接的SSD的配置信息。
当PCIE Switch连接任何一个SSD的链路出现异常,如链路down、链路连接状态不稳定等情况时,都会触发PCIE Switch发生中断。PCIE Switch发生中断后,会主动向PCIESwitch驱动模块30发送异常信息。此处,该异常信息会包括如下信息中至少一种:触发PCIESwitch发生中断的异常类型、出现异常的硬盘链路的相关信息、出现异常的硬盘链路对应的下游接口的相关信息。
在上述(2)中,PCIE Switch驱动模块30在接收到PCIE Switch上报的异常信息后,能够将异常信息转化为链路异常事件。此处,链路异常事件和异常信息具有一一对应关系;也即,PCIE Switch驱动模块30在接收到不同的异常信息后,会将之转化为监控模块能够识别的,且与异常信息对应的链路异常事件,并将链路异常事件上报给监控模块10。
具体地,PCIE Switch驱动模块30在向监控模块10上报链路异常事件的时候,首先要建立PCIE Switch驱动模块30与监控模块10之间的网络链路(Netlink)通道。
此处,PCIE Switch驱动模块30在原有内核驱动基础上增加了NetLink事件上报机制,配置了相应的中断处理函数;该中断处理函数用于在PCIE Switch驱动模块30接收到PCIE Switch发送的异常信息后,创建与监控模块10之间的NetLink通道,该Netlink通道定义了PCIE Switch驱动模块30与监控模块10之间进行通信的协议;基于Netlink通道所定义的通信协议,PCIE Switch驱动模块30能够将链路异常事件上报给监控模块10。
在上述(3)中,监控模块10在接收到PCIE Switch驱动模块30上报的链路异常事件后,要确定异常的具体情况。
具体地,监控模块10会向NVMe驱动模块20下发硬盘信息获取请求。该硬盘信息获取请求包括I/O读写指令,或者寄存器读写指令。此处,需要注意的是,由于SSD有多个,因此监控模块10会向NVMe驱动模块20下发硬盘信息获取请求,是指示NVMe驱动模块20向监控模块10反馈所有SSD的硬盘信息。
在上述(4)中,NVMe驱动模块20在接收到监控模块10发送的硬盘信息获取请求后,根据与硬盘信息获取请求对应的信息获取方式,对SSD进行I/O读写操作或者寄存器读写操作以获得SSD的硬盘信息,并将硬盘信息反馈给监控模块10,其中,硬盘信息包括SSD的状态信息和SMART信息。
在上述(3)中,监控模块10在接收到NVMe驱动模块20反馈的SSD的状态信息和SMART信息后,会基于SSD的状态信息和SMART信息进行异常分析。
在基于SSD的状态信息和SMART信息进行异常分析的时候,可以将状态信息和SMART信息中所包括的信息,和该信息对应的阈值进行比对,例如将SSD的当前温度与温度阈值进行比对;若SSD的当前温度超出该温度阈值,则认为SSD的运行存在异常。
监控模块10在进行异常分析后,会根据异常分析的结果生成处理指令,并将异常处理指令下发给PCIE Switch驱动模块30。
在上述(4)中,NVMe驱动模块20在接收到监控模块10下发的硬盘信息获取请求后,会从SSD读取与SSD对应的硬盘信息,并将硬盘信息反馈给监控模块。
此处,造成链路异常的原因可能有如下两种情况中任意一种:
其一,硬盘出现异常,例如温度过高导致的SSD与PCIE Switch之间的链路不稳定。
其二,PCIE Switch与SSD连接的链路出现了故障,例如SSD与PCIE Switch之间连接的导线断开导致的链路down。
在上述(3)中,假若是上述第一种情况,则NVMe驱动模块20在接收到PCIE Switch驱动模块下发的硬盘信息获取请求后,能够读取到出现异常的SSD的硬盘信息,并将该SSD的硬盘信息反馈给监控模块10。
假若是上述第二种情况,监控模块10是无法通过NVMe驱动模块20读取SSD的硬盘信息的,因而监控模块10无法判断异常的类型。此时,NVMe驱动模块20向监控模块10反馈的硬盘信息为空,监控模块10会将为空的硬盘信息作为特殊的硬盘信息进行异常分析,并生成无法读取硬盘信息时对应的异常处理指令。
监控模块在生成异常处理指令后,会将异常处理指令下发给PCIE Switch驱动模块。
在上述(2)中,当给PCIE Switch驱动模块30接收到监控模块10下发的异常处理指令后,会将异常处理指令转化为控制指令,以控制PCIE Switch针对异常的链路或者SSD进行异常处理。
具体地,本申请实施例所提供的PCIE Switch驱动模块30,具体用于通过下述步骤基于异常处理指令向PCIE Switch发送控制指令:
在接收到异常处理指令后,调用输入输出控制(I/O control,IOCTL)函数,将异常处理指令转换为PCIE Switch能够识别的控制指令,并将控制指令发送给PCIE Switch。
在上述(1)中,PCIE Switch在接收到控制指令后,执行该控制指令。
该控制指令用于指示PCIE Switch进行异常处理,该异常处理可以包括以下处理中的一种或者多种:
控制故障硬盘对应的指示灯点亮;故障链路禁用;故障链路复位。
其中,硬盘和指示灯具有一一对应关系。在实际应用中,由SSD所构成的存储阵列包括了多个SSD;当某SSD出现故障的时候,某些故障是需要工作人员进行人工操作才能够将该故障排除的,例如在需要对故障SSD进行更换时,SSD的更换需要人工操作。为了让工作人员能够方便识别出故障SSD,会对故障SSD执行控制与该故障SSD对应的指示灯点亮的处理,工作人员能够根据亮起的指示灯,方便的识别出需要进行更换的故障SSD。
故障链路禁用,一般是在链路状态不稳定的情况下,例如链路时断时序的时候所采取的故障处理方式。
本申请实施例中,不论任何时候,一旦PCIE Switch连接SSD的链路出现异常,就会触发PCIE Switch发生中断;PCIE Switch在发生中断后向PCIE Switch驱动模块上报异常信息;PCIE Switch驱动模块在接收到PCIE Switch所发送的异常信息后,会生成对应的链路异常事件上报给监控模块。监控模块在接收到PCIE Switch驱动模块上报的链路异常事件后,会向NVMe驱动模块下发硬盘信息获取请求,以获取SSD的硬盘信息,并基于获取的硬盘信息进行异常分析,根据异常分析的结果生成异常处理指令,并将异常处理指令下发给PCIE Switch驱动模块,以使PCIE Switch驱动模块根据异常处理指令向PCIE Switch下发控制指令,控制PCIE Switch进行异常处理,不需要为轮询设置较小的时间间隔,不论任何时刻,只要SSD连接PCIE Switch的链路发生异常,都能使得监控模块及时获知该异常,并进行异常处理,提高硬盘监控的可靠性,避免造成CPU资源的浪费。
在本申请另一实施例中,监控模块10还会对SSD进行周期性轮询。
具体地,监控模块10,还用于:周期性向NVMe驱动模块发送硬盘信息获取请求,并接收NVMe驱动模块根据硬盘信息获取请求反馈的硬盘信息;根据硬盘信息进行异常分析;当异常分析的结果为硬盘存在异常后,生成异常处理指令,并将该异常处理指令发送给PCIE Switch驱动模块。
此处,监控模块10周期性向NVMe驱动模块20发送硬盘信息获取请求,和监控模块10接收到PCIE Switch驱动模块上报的链路异常事件后,向NVMe驱动模块下发的硬盘信息获取请求是类似的。NVMe驱动模块在接收到监控模块10周期性发送的硬盘信息获取请求后所执行的操作前述(4)类似,监控模块10根据NVMe驱动模块反馈的硬盘信息进行异常分析的过程也与上述(3)类似,在此不再赘述。
本申请实施例将对SSD的周期性轮询和在接收到PCIE Switch驱动模块上报的链路异常事件后对SSD进行异常检测相结合,能够在不减小轮询的间隔时间的基础上,在SSD的链路出现异常后及时获知该异常并进行及时处理,从而在不浪费CPU资源的前提下,提高硬盘监控的可靠性。
这里需要注意的是,在该实施例中,异常分析的结果较之上述实施例还可能出现无异常的情况,此时,监控模块10不会做后续的处理,而是在本周期轮询所有SSD,并且所有SSD均无异常的情况下会进入休眠,等待下一轮询周期的到来,或者在休眠期见接收到PCIESwitch驱动模块上报链路异常事件后,再次对SSD进行轮询。
基于同一发明构思,本申请实施例中还提供了与硬盘监控系统对应的硬盘监控方法,由于本申请实施例中的方法解决问题的原理与本申请实施例上述硬盘监控系统相似,因此方法的实施可以参见系统的实施,重复之处不再赘述。
参见图2所示,本申请一种实施例提供的硬盘监控方法,应用于硬盘监控系统中的外围组件互联扩展交换PCIE Switch驱动模块,该方法包括:
S201:接收PCIE Switch在发生中断后发送的异常信息;
S202:根据异常信息生成链路异常事件,并将链路异常事件上报给监控模块,以便监控模块基于链路异常事件从NVMe驱动模块获取反馈的硬盘信息,并基于硬盘信息生成异常处理指令,将异常处理指令下发给PCIE Switch驱动模块;
S203:基于异常处理指令向PCIE Switch发送控制指令,用于指示PCIE Switch进行异常处理。
本申请实施例中,不论任何时候,一旦PCIE Switch连接SSD的链路出现异常,就会触发PCIE Switch发生中断;PCIE Switch在发生中断后向PCIE Switch驱动模块上报异常信息;PCIE Switch驱动模块在接收到PCIE Switch所发送的异常信息后,会生成对应的链路异常事件上报给监控模块。监控模块在接收到PCIE Switch驱动模块上报的链路异常事件后,会向NVMe驱动模块下发硬盘信息获取请求,以获取SSD的硬盘信息,并基于获取的硬盘信息进行异常分析,根据异常分析的结果生成异常处理指令,并将异常处理指令下发给PCIE Switch驱动模块,以使PCIE Switch驱动模块根据异常处理指令向PCIE Switch下发控制指令,控制PCIE Switch进行异常处理,不需要为轮询设置较小的时间间隔,不论任何时刻,只要SSD连接PCIE Switch的链路发生异常,都够使得监控模块能够及时获知该异常,并进行异常处理,提高硬盘监控的可靠性,避免造成CPU资源的浪费。
可选地,异常处理包括以下处理中的一种或多种:
控制故障硬盘对应的指示灯点亮、链路禁用以及链路复位。
可选地,参见图3所示,将链路异常事件上报给监控模块,具体包括:
S301:建立PCIE Switch驱动模块与监控模块之间的网络链路Netlink通道;Netlink通道定义了PCIE Switch驱动模块与监控模块之间进行通信的协议;
S302:基于建立的Netlink通道将链路异常事件上报给监控模块。
可选地,述基于异常处理指令向PCIE Switch发送控制指令,具体包括:
在接收到异常处理指令后,调用输入输出控制IOCTL函数,将异常处理指令转换为PCIE Switch能够识别的控制指令,并将控制指令发送给PCIE Switch。
参见图4所示,本申请实施例提供另一种硬盘监控方法,应用于硬盘监控系统中的监控模块,该方法包括:
S401:接收PCIE Switch驱动模块上报的链路异常事件;链路异常事件为PCIESwitch驱动模块在接收到PCIE Switch发生中断后发送的异常信息后生成;
S402:向NVMe驱动模块下发硬盘信息获取请求;硬盘信息获取请求用于NVMe驱动模块从硬盘读取硬盘信息;
S403:接收NVMe驱动模块根据硬盘信息获取请求反馈的硬盘信息;
S404:基于硬盘信息进行异常分析,根据异常分析的结果生成异常处理指令,并将异常处理指令下发给PCIE Switch驱动模块,用于PCIE Switch驱动模块基于异常处理指令向PCIE Switch发送控制指令,指示PCIE Switch进行异常处理。
可选地,参见图5所示,本申请实施例还提供另外一种硬盘监控方法,该方法包括:
S501:周期性向NVMe驱动模块发送硬盘信息获取请求;
S502:接收NVMe驱动模块根据硬盘信息获取请求反馈的硬盘信息;
S503:根据硬盘信息进行异常分析;当异常分析的结果为硬盘存在异常后,生成异常处理指令,并将该异常处理指令发送给PCIE Switch驱动模块。
基于同一发明构思,本申请实施例中还提供了与硬盘监控方法对应的硬盘监控装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述硬盘监控系统相似,因此方法的实施可以参见系统的实施,重复之处不再赘述。
参见图6所示,本申请实施例提供的硬盘监控装置600,应用于硬盘监控系统中的外围组件互联扩展交换PCIE Switch驱动模块,该装置包括:
第一接收模块61,用于接收PCIE Switch在发生中断后发送的异常信息;
上报模块62,用于根据异常信息生成链路异常事件,并将链路异常事件上报给监控模块,以便监控模块基于链路异常事件从NVMe驱动模块获取反馈的硬盘信息,并基于硬盘信息生成异常处理指令,将异常处理指令下发给PCIE Switch驱动模块;
控制模块63,用于基于异常处理指令向PCIE Switch发送控制指令,用于指示PCIESwitch进行异常处理。
可选地,异常处理包括以下处理中的一种或多种:
控制故障硬盘对应的指示灯点亮;故障链路禁用;故障链路复位。
可选地,上报模块62具体用于通过下述步骤将链路异常事件上报给监控模块:
建立PCIE Switch驱动模块与监控模块之间的网络链路Netlink通道;Netlink通道定义了PCIE Switch驱动模块与监控模块之间进行通信的协议;
基于建立的Netlink通道将链路异常事件上报给监控模块。
可选地,控制模块63,具体用于通过下述步骤基于异常处理指令向PCIE Switch发送控制指令:
在接收到异常处理指令后,调用输入输出控制IOCTL函数,将异常处理指令转换为PCIE Switch能够识别的控制指令,并将控制指令发送给PCIE Switch。
参见图7所示,本申请实施例还提供另外一种硬盘监控装置700,应用于硬盘监控系统中的监控模块,该装置包括:
第二接收模块71:接收PCIE Switch驱动模块上报的链路异常事件;链路异常事件为PCIE Switch驱动模块在接收到PCIE Switch发生中断后发送的异常信息后生成;
下发模块72,用于向NVMe驱动模块下发硬盘信息获取请求;硬盘信息获取请求用于指示NVMe驱动模块从硬盘读取硬盘信息;
第三接收模块73,用于接收NVMe驱动模块根据硬盘信息获取请求反馈的硬盘信息;
处理模块74,用于基于硬盘信息进行异常分析,根据异常分析的结果生成异常处理指令,并将异常处理指令下发给PCIE Switch驱动模块,用于PCIE Switch驱动模块基于异常处理指令向PCIE Switch发送控制指令,指示PCIE Switch进行异常处理。
可选地,轮训模块74,用于周期性向NVMe驱动模块发送硬盘信息获取请求;
接收NVMe驱动模块根据硬盘信息获取请求反馈的硬盘信息;
根据硬盘信息进行异常分析;当异常分析的结果为硬盘存在异常后,生成异常处理指令,并将该异常处理指令发送给PCIE Switch驱动模块。
对应于图2中的硬盘监控方法,本申请实施例还提供了一种计算机设备,如图8所示,该设备包括存储器81、处理器82及存储在该存储器81上并可在该处理器82上运行的计算机程序,其中,上述处理器82执行上述计算机程序时实现上述硬盘监控方法的步骤。
具体地,上述存储器81和处理器82能够为通用的存储器和处理器,这里不做具体限定,当处理器82运行存储器81存储的计算机程序时,能够执行上述硬盘监控方法,从而解决采用监控软件轮询,轮询时间间隔小会造成CPU资源的浪费;间隔大会造成SSD异常处理不及时且硬盘监控的可靠性差的问题,进而达到使得监控模块能够及时获知SSD异常,并进行异常处理,提高硬盘监控的可靠性,避免造成CPU资源的浪费的效果。
对应于图2中的硬盘监控方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述硬盘监控方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述硬盘监控方法,从而解决采用监控软件轮询,轮询时间间隔小会造成CPU资源的浪费;间隔大会造成SSD异常处理不及时且硬盘监控的可靠性差的问题,进而达到使得监控模块能够及时获知SSD异常,并进行异常处理,提高硬盘监控的可靠性,避免造成CPU资源的浪费的效果。
对应于图2中的硬盘监控方法,本申请实施例还提供了一种计算机设备,如图9所示,该设备包括存储器91、处理器92及存储在该存储器91上并可在该处理器92上运行的计算机程序,其中,上述处理器92执行上述计算机程序时实现上述硬盘监控方法的步骤。
具体地,上述存储器91和处理器92能够为通用的存储器和处理器,这里不做具体限定,当处理器92运行存储器91存储的计算机程序时,能够执行上述硬盘监控方法,从而解决采用监控软件轮询,轮询时间间隔小会造成CPU资源的浪费;间隔大会造成SSD异常处理不及时且硬盘监控的可靠性差的问题,进而达到使得监控模块能够及时获知SSD异常,并进行异常处理,提高硬盘监控的可靠性,避免造成CPU资源的浪费的效果。
对应于图4中的硬盘监控方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述硬盘监控方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述硬盘监控方法,从而解决采用监控软件轮询,轮询的时间间隔不易确定;若轮询间隔小,会造成CPU资源的浪费;若间隔大,会造成SSD异常处理不及时,硬盘监控的可靠性差的问题,进而达到使得监控模块能够及时获知SSD异常,并进行异常处理,提高硬盘监控的可靠性,避免造成CPU资源的浪费的效果。
本申请实施例所提供的硬盘监控系统以及监控方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种硬盘监控系统,其特征在于,该系统包括:监控模块、非易失性存储扩展NVMe驱动模块、外围组件互联扩展交换PCIE Switch驱动模块、PCIE Switch;
其中,所述PCIE Switch用于和所述硬盘连接,在与所述硬盘连接的链路出现异常后发生中断,并向所述PCIE Switch驱动模块上报异常信息;接收并执行所述PCIE Switch驱动模块发送的控制指令;
所述PCIE Switch驱动模块,用于在接收所述PCIE Switch发送的异常信息后生成链路异常事件,并将所述链路异常事件上报给所述监控模块;在接收到所述监控模块下发的异常处理指令后,基于所述异常处理指令向所述PCIE Switch发送控制指令,用于指示所述PCIE Switch进行异常处理;
所述监控模块,用于在接收所述PCIE Switch驱动模块上报的链路异常事件后,向所述NVMe驱动模块下发硬盘信息获取请求;接收所述NVMe驱动模块根据所述硬盘信息获取请求反馈的硬盘信息,基于所述硬盘信息进行异常分析,根据异常分析的结果生成异常处理指令,并将所述异常处理指令下发给所述PCIE Switch驱动模块;
所述NVMe驱动模块,用于在接收到所述硬盘信息获取请求后,从所述硬盘读取硬盘信息,并将读取的所述硬盘信息反馈给所述监控模块。
2.根据权利要求1所述的系统,其特征在于,所述异常处理包括以下处理中的一种或多种:
控制故障硬盘对应的指示灯点亮;故障链路禁用;故障链路复位。
3.根据权利要求1所述的系统,其特征在于,所述PCIE Switch驱动模块,具体用于通过下述步骤将所述链路异常事件上报给所述监控模块:
建立所述PCIE Switch驱动模块与所述监控模块之间的网络链路Netlink通道;所述Netlink通道定义了所述PCIE Switch驱动模块与所述监控模块之间进行通信的协议;
基于建立的所述Netlink通道将所述链路异常事件上报给所述监控模块。
4.根据权利要求1所述的系统,其特征在于,所述PCIE Switch驱动模块,具体用于根据下述步骤基于所述异常处理指令向所述PCIE Switch发送控制指令:
在接收到所述异常处理指令后,调用输入输出控制IOCTL函数,将所述异常处理指令转换为所述PCIE Switch能够识别的控制指令,并将所述控制指令发送给所述PCIE Switch。
5.根据权利要求1所述的系统,其特征在于,所述监控模块,还用于:
周期性向所述NVMe驱动模块发送所述硬盘信息获取请求,并接收所述NVMe驱动模块根据所述硬盘信息获取请求反馈的硬盘信息;
根据所述硬盘信息进行异常分析;当所述异常分析的结果为硬盘存在异常后,生成异常处理指令,并将该异常处理指令发送给所述PCIE Switch驱动模块。
6.一种硬盘监控方法,应用于硬盘监控系统中的外围组件互联扩展交换PCIE Switch驱动模块,其特征在于,该方法包括:
接收PCIE Switch在发生中断后发送的异常信息;
根据所述异常信息生成链路异常事件,并将所述链路异常事件上报给监控模块,以便所述监控模块基于所述链路异常事件从所述NVMe驱动模块获取反馈的硬盘信息,并基于所述硬盘信息生成异常处理指令,将异常处理指令下发给所述PCIE Switch驱动模块;
基于所述异常处理指令向所述PCIE Switch发送控制指令,用于指示所述PCIE Switch进行异常处理。
7.根据权利要求6所述的方法,其特征在于,所述将所述链路异常事件上报给监控模块,具体包括:
建立所述PCIE Switch驱动模块与所述监控模块之间的网络链路Netlink通道;所述Netlink通道定义了所述PCIE Switch驱动模块与所述监控模块之间进行通信的协议;
基于建立的所述Netlink通道将所述链路异常事件上报给所述监控模块。
8.根据权利要求6所述的方法,其特征在于,所述基于所述异常处理指令向所述PCIESwitch发送控制指令,具体包括:
在接收到所述异常处理指令后,调用输入输出控制IOCTL函数,将所述异常处理指令转换为所述PCIE Switch能够识别的控制指令,并将所述控制指令发送给所述PCIE Switch。
9.一种硬盘监控方法,应用于硬盘监控系统中的监控模块,其特征在于,该方法包括:
接收PCIE Switch驱动模块上报的链路异常事件;所述链路异常事件为PCIE Switch驱动模块在接收到PCIE Switch发生中断后发送的异常信息后生成;
向所述NVMe驱动模块下发硬盘信息获取请求;所述硬盘信息获取请求用于指示所述NVMe驱动模块从所述硬盘读取硬盘信息;
接收所述NVMe驱动模块根据所述硬盘信息获取请求反馈的所述硬盘信息;
基于所述硬盘信息进行异常分析,根据异常分析的结果生成异常处理指令,并将所述异常处理指令下发给所述PCIE Switch驱动模块,用于所述PCIE Switch驱动模块基于所述异常处理指令向PCIE Switch发送控制指令,指示所述PCIE Switch进行异常处理。
10.根据权利要求9所述的方法,其特征在于,该方法还包括:
周期性向所述NVMe驱动模块发送所述硬盘信息获取请求;
接收所述NVMe驱动模块根据所述硬盘信息获取请求反馈的硬盘信息;
根据所述硬盘信息进行异常分析;当所述异常分析的结果为硬盘存在异常后,生成异常处理指令,并将该异常处理指令发送给所述PCIE Switch驱动模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810559317.7A CN109062753A (zh) | 2018-06-01 | 2018-06-01 | 一种硬盘监控系统以及监控方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810559317.7A CN109062753A (zh) | 2018-06-01 | 2018-06-01 | 一种硬盘监控系统以及监控方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109062753A true CN109062753A (zh) | 2018-12-21 |
Family
ID=64819909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810559317.7A Pending CN109062753A (zh) | 2018-06-01 | 2018-06-01 | 一种硬盘监控系统以及监控方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109062753A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992420A (zh) * | 2019-04-08 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种并行pcie-ssd性能优化方法及系统 |
CN110795263A (zh) * | 2019-10-12 | 2020-02-14 | 苏州浪潮智能科技有限公司 | 一种硬盘链路保护方法以及相关装置 |
CN111343041A (zh) * | 2020-01-19 | 2020-06-26 | 苏州浪潮智能科技有限公司 | 一种风扇状态监控方法和装置 |
CN111459768A (zh) * | 2020-02-28 | 2020-07-28 | 新华三信息技术有限公司 | 一种硬盘管理方法、装置、设备及机器可读存储介质 |
CN111581050A (zh) * | 2020-04-13 | 2020-08-25 | 加弘科技咨询(上海)有限公司 | 机箱、机箱监控系统及监控方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170116090A1 (en) * | 2015-10-27 | 2017-04-27 | International Business Machines Corporation | Implementing cable failover in multiple cable pci express io interconnections |
CN107066370A (zh) * | 2017-04-26 | 2017-08-18 | 郑州云海信息技术有限公司 | 一种自动监控并收集故障硬盘日志的工具及方法 |
CN107423180A (zh) * | 2017-07-28 | 2017-12-01 | 郑州云海信息技术有限公司 | 一种固态硬盘及其诊断方法 |
CN107704344A (zh) * | 2017-09-14 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种基于NVMe的双控全闪存系统 |
CN107766213A (zh) * | 2017-09-29 | 2018-03-06 | 郑州云海信息技术有限公司 | 一种实现nvme硬盘点灯的方法及系统 |
-
2018
- 2018-06-01 CN CN201810559317.7A patent/CN109062753A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170116090A1 (en) * | 2015-10-27 | 2017-04-27 | International Business Machines Corporation | Implementing cable failover in multiple cable pci express io interconnections |
CN107066370A (zh) * | 2017-04-26 | 2017-08-18 | 郑州云海信息技术有限公司 | 一种自动监控并收集故障硬盘日志的工具及方法 |
CN107423180A (zh) * | 2017-07-28 | 2017-12-01 | 郑州云海信息技术有限公司 | 一种固态硬盘及其诊断方法 |
CN107704344A (zh) * | 2017-09-14 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种基于NVMe的双控全闪存系统 |
CN107766213A (zh) * | 2017-09-29 | 2018-03-06 | 郑州云海信息技术有限公司 | 一种实现nvme硬盘点灯的方法及系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992420A (zh) * | 2019-04-08 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种并行pcie-ssd性能优化方法及系统 |
CN110795263A (zh) * | 2019-10-12 | 2020-02-14 | 苏州浪潮智能科技有限公司 | 一种硬盘链路保护方法以及相关装置 |
CN110795263B (zh) * | 2019-10-12 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 一种硬盘链路保护方法以及相关装置 |
CN111343041A (zh) * | 2020-01-19 | 2020-06-26 | 苏州浪潮智能科技有限公司 | 一种风扇状态监控方法和装置 |
CN111459768A (zh) * | 2020-02-28 | 2020-07-28 | 新华三信息技术有限公司 | 一种硬盘管理方法、装置、设备及机器可读存储介质 |
CN111581050A (zh) * | 2020-04-13 | 2020-08-25 | 加弘科技咨询(上海)有限公司 | 机箱、机箱监控系统及监控方法 |
CN111581050B (zh) * | 2020-04-13 | 2023-06-27 | 加弘科技咨询(上海)有限公司 | 机箱、机箱监控系统及监控方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109062753A (zh) | 一种硬盘监控系统以及监控方法 | |
US9141491B2 (en) | Highly available server system based on cloud computing | |
CN106603265B (zh) | 管理方法、网络装置以及非暂态计算机可读介质 | |
US10042583B2 (en) | Device management method, device, and device management controller | |
CN104169905A (zh) | 可配置和容错的基板管理控制器安排 | |
CN105095001A (zh) | 分布式环境下虚拟机异常恢复方法 | |
CN103138971A (zh) | 服务器机柜系统 | |
CN102761439A (zh) | Pon接入系统中基于看门狗的异常检测记录装置及方法 | |
CN110427283B (zh) | 一种双余度的燃油管理计算机系统 | |
CN111107572A (zh) | 一种冗余备份方法及装置 | |
CN102546135A (zh) | 主备服务器切换系统及方法 | |
CN109271273A (zh) | 一种通讯异常恢复的方法、异常恢复设备及存储介质 | |
CN100538647C (zh) | 多核处理器的业务流处理方法及多核处理器 | |
CN106776206A (zh) | 监听进程状态的方法、装置及电子设备 | |
CN112099412A (zh) | 一种微控制单元的安全冗余架构 | |
CN104834584A (zh) | 一种监测主机硬件负载的方法和系统 | |
CN116483613B (zh) | 故障内存条的处理方法及装置、电子设备及存储介质 | |
JP7507098B2 (ja) | 分散型マルチノード制御システム及び方法 | |
CN115599617B (zh) | 总线检测方法、装置、服务器及电子设备 | |
CN114201439B (zh) | 服务器信号识别优化方法、系统及存储介质 | |
CN103095739A (zh) | 机柜服务器系统及其节点通信方法 | |
US9385968B2 (en) | Methods and devices for connecting to multiple interfaces | |
CN103326897A (zh) | 一种分布式计算环境通用监测装置与失效检测方法 | |
TW201344403A (zh) | 電源管理方法 | |
CN101741654B (zh) | 操作系统的监控装置与方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181221 |