硬盘诊断方法及装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种硬盘诊断方法及装置。
背景技术
随着计算机技术的发展,数据越来越多,对服务平台的规模要求越来越高。为满足数据存储、读取等业务需求,需要对服务平台不断进行扩容。目前常见的扩容方式为在服务平台中增加新的服务器。
因服务平台的扩容是随时间不断增加,并非是一次性增加,因此,不同批次增加的服务器的类型并不完全相同。具体地,服务器硬件设备、使用场景、型号、品牌等等均可能不同,这就对服务平台的检测功能产生影响,尤其是硬盘的检测及诊断,每台服务器所支持的检测标准不同,前一台服务器支持的检测方法在后一台服务器上未必能够检测成功。
因此,考虑到服务器类型的多样化,服务平台无法使用统一的办法检测所有的硬盘,这使得检测时间加长,检测效率降低,甚至可能出现漏检或误检的情况。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的硬盘诊断方法和相应的装置。
基于本发明的一个方面,本发明提供了一种硬盘诊断方法,应用于由大量服务器组成的服务平台,包括:
解析所述服务平台中的各服务器,确定各服务器的类型;
根据各服务器的类型对服务器进行筛选,将安装有特定硬盘诊断工具的服务器筛选为第一组,将其他服务器筛选为第二组;
触发所述第一组中的各服务器的特定硬盘诊断工具,对其所在的服务器进行硬盘诊断;和/或
为所述第二组中的各服务器安装通用硬盘诊断工具,并在安装结束后触发所述通用硬盘诊断工具,对其所在的服务器进行硬盘诊断。
可选地,所述特定硬盘诊断工具为hpacucli工具,所述通用硬盘诊断工具为MegaCli工具。
可选地,对服务器进行硬盘诊断,包括:对服务器硬盘的磁盘阵列RAID进行诊断。
可选地,对服务器硬盘的磁盘阵列进行诊断,包括下列至少之一:
诊断所述磁盘阵列是否存在;
诊断所述磁盘阵列的状态是否正常;
诊断所述磁盘阵列的缓存是否正常;
诊断所述硬盘的工作状态是否正常。
可选地,所述硬盘诊断方法定时启动。
可选地,硬盘诊断方法还包括:
待诊断结束后,若发现硬盘故障,则发送故障通知至预设通知接收方。
基于本发明的另一个方面,本发明还公开了一种硬盘诊断装置,应用于由大量服务器组成的服务平台,包括:
解析模块,适于解析所述服务平台中的各服务器,确定各服务器的类型;
筛选模块,适于根据各服务器的类型对服务器进行筛选,将安装有特定硬盘诊断工具的服务器筛选为第一组,将其他服务器筛选为第二组;
诊断模块,适于触发所述第一组中的各服务器的特定硬盘诊断工具,对其所在的服务器进行硬盘诊断;和/或
安装模块,适于为所述第二组中的各服务器安装通用硬盘诊断工具;
所述诊断模块还适于在所述安装模块安装结束后触发所述通用硬盘诊断工具,对其所在的服务器进行硬盘诊断。
可选地,所述特定硬盘诊断工具为hpacucli工具,所述通用硬盘诊断工具为MegaCli工具。
可选地,所述诊断模块还适于:对服务器硬盘的磁盘阵列RAID进行诊断。
可选地,所述诊断模块还适于执行下列至少之一:
诊断所述磁盘阵列是否存在;
诊断所述磁盘阵列的状态是否正常;
诊断所述磁盘阵列的缓存是否正常;
诊断所述硬盘的工作状态是否正常。
可选地,硬盘诊断装置还包括:
定时器,适于定时启用所述硬盘诊断装置。
可选地,硬盘诊断装置还包括:
通知模块,适于待诊断结束后,若发现硬盘故障,则发送故障通知至预设通知接收方。
在本发明实施例中,考虑到服务平台中存在大量不同类型的服务器,根据各服务器的类型对服务器进行筛选,将安装有特定硬盘诊断工具的服务器筛选为第一组,将其他服务器筛选为第二组。对于已安装有特定硬盘诊断工具的第一组服务器,直接触发特定硬盘诊断工具,对其所在的服务器进行硬盘诊断。而对于未安装特定硬盘诊断工具的第二组服务器,则为各服务器安装通用硬盘诊断工具,进而触发通用硬盘诊断工具对其所在的服务器进行硬盘诊断。即,在本发明实施例中,对服务器按类型分组,服务平台仅需要两种硬盘诊断工具即可以实现所有硬盘的诊断:对于第一组服务器,已经安装有特定硬盘诊断工具,因此为节省资源,提高诊断效率,直接使用特定硬盘诊断工具对其进行诊断即可;对于第二组服务器,不论服务器的类型,为其安装通用硬盘诊断工具,使得第二组服务器使用统一的办法检测即可,不需要为每种类型的服务器提供不同的检测方法,节省资源,提高检测效率,避免出现漏检或误检的情况。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的硬盘诊断方法的处理流程图;
图2示出了根据本发明一个实施例的硬盘诊断流程的具体实例流程图;
图3示出了根据本发明一个实施例的硬盘诊断装置的一种结构示意图;以及
图4示出了根据本发明一个实施例的硬盘诊断装置的另一种结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为解决上述技术问题,本发明实施例提供了一种硬盘诊断方法,应用于由大量服务器组成的服务平台。需要说明地是,因服务平台随业务的增加不断增加新服务器,旧型服务器因配件不足、升级、品牌或厂商等各种原因会被淘汰,新型服务器与旧型服务器存在差异,因此,该服务平台中的大量服务器中存在不同类型的服务器同存的情况。图1示出了根据本发明一个实施例的硬盘诊断方法的处理流程图。参见图1,该硬盘诊断方法至少包括步骤S102、步骤S104:
步骤S102、解析服务平台中的各服务器,确定各服务器的类型;
步骤S104、根据各服务器的类型对服务器进行筛选,将安装有特定硬盘诊断工具的服务器筛选为第一组,将其他服务器筛选为第二组;
步骤S106、触发第一组中的各服务器的特定硬盘诊断工具,对其所在的服务器进行硬盘诊断;和/或
步骤S108、为第二组中的各服务器安装通用硬盘诊断工具,并在安装结束后触发通用硬盘诊断工具,对其所在的服务器进行硬盘诊断。
其中,步骤S106和步骤S108的执行次序并不形成限定,可以仅执行步骤S106对第一组服务器进行硬盘诊断,也可以仅执行步骤S108对第二组服务器进行硬盘诊断,还可以即执行步骤S106也执行步骤S108,并且,步骤S106和步骤S108即使都需要执行,其执行顺序也是不需要进行限定的,步骤S106可以在步骤S108之前执行,也可以在步骤S108之后执行,还可以同时执行等等。
在本发明实施例中,考虑到服务平台中存在大量不同类型的服务器,根据各服务器的类型对服务器进行筛选,将安装有特定硬盘诊断工具的服务器筛选为第一组,将其他服务器筛选为第二组。对于已安装有特定硬盘诊断工具的第一组服务器,直接触发特定硬盘诊断工具,对其所在的服务器进行硬盘诊断。而对于未安装特定硬盘诊断工具的第二组服务器,则为各服务器安装通用硬盘诊断工具,进而触发通用硬盘诊断工具对其所在的服务器进行硬盘诊断。即,在本发明实施例中,对服务器按类型分组,服务平台仅需要两种硬盘诊断工具即可以实现所有硬盘的诊断:对于第一组服务器,已经安装有特定硬盘诊断工具,因此为节省资源,提高诊断效率,直接使用特定硬盘诊断工具对其进行诊断即可;对于第二组服务器,不论服务器的类型,为其安装通用硬盘诊断工具,使得第二组服务器使用统一的办法检测即可,不需要为每种类型的服务器提供不同的检测方法,节省资源,提高检测效率,避免出现漏检或误检的情况。
在本发明实施例中,可以品牌为例进行分类,第一组服务器为具备特定品牌的服务器,而第二组服务器为非特定品牌的其他服务器。当然,第二组服务器可以是同一品牌的服务器,也可以是不同品牌的服务器。例如,假设第一组服务器为惠普(HP)服务器,而第二组服务器为非惠普服务器,此时第二组服务器可以统一是联想服务器,也可以是联想服务器、微软服务器、戴尔服务器的多种混合。相应的,特定硬盘诊断工具为hpacucli工具,通用硬盘诊断工具为MegaCli工具。品牌(本例中提及的HP、联想等)仅仅是一个分类的例子,在实际应用中,还可以对同一品牌的型号服务器进行分类、或者根据硬盘的类型进行分类,等等,在本发明中并不形成限定。
其中,对服务器进行硬盘诊断,主要是对服务器硬盘的磁盘阵列(RedundantArrays of Independent Disks,RAID)进行诊断。磁盘阵列可理解为独立磁盘构成的具有冗余能力的阵列。而对服务器硬盘的磁盘阵列进行诊断的方式有多种,可以诊断磁盘阵列是否存在、诊断磁盘阵列的状态是否正常、诊断磁盘阵列的缓存是否正常、诊断硬盘的工作状态是否正常等等。
为保证诊断的准确性,本发明实施例中的硬盘诊断方法可以定时启动,定时也可以周期性的,例如每5小时启动一次硬盘诊断方法,也可以是非周期性的,非周期性的可以是随机时间启动,也可以是递减式的时间启动,也可是递进式的时间启动,还可以是其他方式的时间启动,根据具体情况确定。
进一步,在本发明实施例中,待硬盘诊断结束后,若发现硬盘故障,则将发生的故障以故障通知的形式发送至预设通知接收方。预设通知接收方的联系方式可以是电子邮件、即时通信软件、应用内部提示消息、短信等等。用户可以根据自己使用方便设置任意的通知形式。
为将本发明实施例提供的硬盘诊断方法阐述地更清楚更明白,现以几个具体实施例对其进行说明。
实施例一
本实施例以惠普服务器(称为HP服务器)和其他品牌服务器为例,提供了相应的硬盘诊断流程。图2示出了根据本发明一个实施例的硬盘诊断流程的具体实例流程图。参见图2,该流程包括:
步骤S202、判断服务器的品牌,具体地,判断服务器是否是HP服务器,若是,则转至步骤S204,若否,则转至步骤S206。
其中,需要说明地是,HP服务器中预装有特定的硬盘诊断工具:hpacucli工具。其他品牌服务器中未安装有硬盘诊断工具。
步骤S204、使用hpacucli工具诊断HP服务器的硬盘,并转至步骤S212。
步骤S206、判断其他品牌服务器是否已安装通用的MegaCli工具,若否,转至步骤S208,若是,则转至步骤S210。
步骤S208、安装MegaCli工具,并转至步骤S210。
步骤S210、使用MegaCli工具诊断其他品牌服务器的硬盘,并转至步骤S214。
步骤S212、判断是否存在下列至少之一的问题:硬盘是否存在RAID、RAID状态是否正常、RAID缓存是否正常、硬盘工具状态是否正常等等。若是,则转至步骤S214。
步骤S214、发送故障通知邮件至预设邮箱,流程结束。
实施例二
本实施例提供了检测某台DELL服务器的RAID状态,具体的检测步骤如下。
1、执行命令:
/home/shells/disk/MegaCli64-LDInfo-LALL–aAll
2、返回结果:
Adapter 0--Virtual Drive Information:
Virtual Drive:0(Target Id:0)
Name:
RAID Level:Primary-5,Secondary-0,RAID Level Qualifier-3
Size:1.089TB
State:Optimal
Strip Size:64KB
Number Of Drives:3
Span Depth:1
Default Cache Policy:WriteBack,ReadAdaptive,Direct,No Write Cache ifBad BBU
Current Cache Policy:WriteBack,ReadAdaptive,Direct,No Write Cache ifBad BBU
Access Policy:Read/Write
Disk Cache Policy:Disk's Default
Encryption Type:None
Default Power Savings Policy:Controller Defined
Current Power Savings Policy:None
Can spin up in 1minute:Yes
LD has drives that support T10power conditions:Yes
LD's IO profile supports MAX power savings with cached writes:No
Bad Blocks Exist:No
分析说明:
若state的值不是Optimal,而是Degraded则说明raid状态异常。
实施例三
本实施例对于检测实施例二中服务器的硬盘状态:
1、执行命令:
/home/shells/disk/MegaCli64-PDlist–aALL
2、返回结果:
Enclosure Device ID:32
Slot Number:0
Enclosure position:0
Device Id:0
Sequence Number:2
Media Error Count:0
Other Error Count:0
Predictive Failure Count:0
Last Predictive Failure Event Seq Number:0
PD Type:SAS
Raw Size:558.911GB[0x45dd2fb0Sectors]
Non Coerced Size:558.411GB[0x45cd2fb0Sectors]
Coerced Size:558.375GB[0x45cc0000Sectors]
Firmware state:Online,Spun Up
SAS Address(0):0x5000c5007f546195
SAS Address(1):0x0
Connected Port Number:0(path0)
Inquiry Data:SEAGATE ST3600057SS ES666SL9TYWT
FDE Capable:Not Capable
FDE Enable:Disable
Secured:Unsecured
Locked:Unlocked
Needs EKM Attention:No
Foreign State:None
Device Speed:6.0Gb/s
Link Speed:6.0Gb/s
Media Type:Hard Disk Device
Drive Temperature:46C(114.80 F)
Enclosure Device ID:32
Slot Number:1
Enclosure position:0
Device Id:1
Sequence Number:2
Media Error Count:0
Other Error Count:0
Predictive Failure Count:0
Last Predictive Failure Event Seq Number:0
PD Type:SAS
Raw Size:558.911 GB[0x45dd2fb0 Sectors]
Non Coerced Size:558.411 GB[0x45cd2fb0 Sectors]
Coerced Size:558.375 GB[0x45cc0000 Sectors]
Firmware state:Online,Spun Up
SAS Address(0):0x5000c500886f603d
SAS Address(1):0x0
Connected Port Number:1(path0)
Inquiry Data:SEAGATE ST3600057SS ES666SLA21HT
FDE Capable:Not Capable
FDE Enable:Disable
Secured:Unsecured
Locked:Unlocked
Needs EKM Attention:No
Foreign State:None
Device Speed:6.0Gb/s
Link Speed:6.0Gb/s
Media Type:Hard Disk Device
Drive Temperature:47C(116.60 F)
Enclosure Device ID:32
Slot Number:2
Enclosure position:0
Device Id:2
Sequence Number:2
Media Error Count:0
Other Error Count:0
Predictive Failure Count:0
Last Predictive Failure Event Seq Number:0
PD Type:SAS
Raw Size:558.911 GB[0x45dd2fb0 Sectors]
Non Coerced Size:558.411 GB[0x45cd2fb0 Sectors]
Coerced Size:558.375 GB[0x45cc0000 Sectors]
Firmware state:Online,Spun Up
SAS Address(0):0x5000c500594badf9
SAS Address(1):0x0
Connected Port Number:2(path0)
Inquiry Data:SEAGATE ST3600057SS ES656SL4M0HB
FDE Capable:Not Capable
FDE Enable:Disable
Secured:Unsecured
Locked:Unlocked
Needs EKM Attention:No
Foreign State:None
Device Speed:6.0Gb/s
Link Speed:6.0Gb/s
Media Type:Hard Disk Device
Drive Temperature:37C(98.60F)
分析说明:
若此处看到的硬盘数量和上边命令的Number Of Drives:3不符,则说明硬盘有故障,可能某块硬盘未检测到。
或者此处看到的任一块硬盘,状态不是Online,而是Failed或其他信息,则说明该块硬盘损坏。
基于同一发明构思,本发明实施例还提供了一种硬盘诊断装置,应用于由大量服务器组成的服务平台,用于支持上述任意一个优选实施例或其组合所提供的硬盘诊断方法。图3示出了根据本发明一个实施例的硬盘诊断装置的结构示意图。参见图3,该硬盘诊断装置至少包括:
解析模块310,适于解析服务平台中的各服务器,确定各服务器的类型;
筛选模块320,与解析模块310耦合,适于根据各服务器的类型对服务器进行筛选,将安装有特定硬盘诊断工具的服务器筛选为第一组,将其他服务器筛选为第二组;
诊断模块330,与筛选模块320耦合,适于触发第一组中的各服务器的特定硬盘诊断工具,对其所在的服务器进行硬盘诊断;和/或
安装模块340,与筛选模块320耦合,适于为第二组中的各服务器安装通用硬盘诊断工具;
诊断模块330还与安装模块340耦合,适于在安装模块340安装结束后触发通用硬盘诊断工具,对其所在的服务器进行硬盘诊断。
在一个优选的实施例中,第一组服务器为特定品牌的服务器,而第二组服务器为非特定品牌的其他服务器。
在一个优选的实施例中,特定硬盘诊断工具为hpacucli工具,通用硬盘诊断工具为MegaCli工具。
在一个优选的实施例中,诊断模块330还适于:对服务器硬盘的磁盘阵列RAID进行诊断。
在一个优选的实施例中,诊断模块330还适于执行下列至少之一:
诊断磁盘阵列是否存在;
诊断磁盘阵列的状态是否正常;
诊断磁盘阵列的缓存是否正常;
诊断硬盘的工作状态是否正常。
在一个优选的实施例中,参见图4,硬盘诊断装置还包括:
定时器350,与解析模块310耦合,适于定时启用硬盘诊断装置。
硬盘诊断装置,参见图4,硬盘诊断装置还包括:
通知模块360,与诊断模块330耦合,适于待诊断结束后,若发现硬盘故障,则发送故障通知至预设通知接收方。
采用本发明实施例提供的方法及装置能够达到如下有益效果:
在本发明实施例中,考虑到服务平台中存在大量不同类型的服务器,根据各服务器的类型对服务器进行筛选,将安装有特定硬盘诊断工具的服务器筛选为第一组,将其他服务器筛选为第二组。对于已安装有特定硬盘诊断工具的第一组服务器,直接触发特定硬盘诊断工具,对其所在的服务器进行硬盘诊断。而对于未安装特定硬盘诊断工具的第二组服务器,则为各服务器安装通用硬盘诊断工具,进而触发通用硬盘诊断工具对其所在的服务器进行硬盘诊断。即,在本发明实施例中,对服务器按类型分组,服务平台仅需要两种硬盘诊断工具即可以实现所有硬盘的诊断:对于第一组服务器,已经安装有特定硬盘诊断工具,因此为节省资源,提高诊断效率,直接使用特定硬盘诊断工具对其进行诊断即可;对于第二组服务器,不论服务器的类型,为其安装通用硬盘诊断工具,使得第二组服务器使用统一的办法检测即可,不需要为每种类型的服务器提供不同的检测方法,节省资源,提高检测效率,避免出现漏检或误检的情况。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的硬件诊断装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。