CN107577545B - 一种故障磁盘检测与修复方法和装置 - Google Patents

一种故障磁盘检测与修复方法和装置 Download PDF

Info

Publication number
CN107577545B
CN107577545B CN201610525555.7A CN201610525555A CN107577545B CN 107577545 B CN107577545 B CN 107577545B CN 201610525555 A CN201610525555 A CN 201610525555A CN 107577545 B CN107577545 B CN 107577545B
Authority
CN
China
Prior art keywords
disk
fault
information
failed
detection
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.)
Active
Application number
CN201610525555.7A
Other languages
English (en)
Other versions
CN107577545A (zh
Inventor
王世刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201610525555.7A priority Critical patent/CN107577545B/zh
Publication of CN107577545A publication Critical patent/CN107577545A/zh
Application granted granted Critical
Publication of CN107577545B publication Critical patent/CN107577545B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种故障磁盘检测与修复方法和装置,该方法包括:根据系统日志解析出一个或多个故障磁盘设备名称;根据解析出的故障磁盘设备名称对每个故障磁盘进行定位与标识,并分别对每个故障磁盘进行故障检测;针对每个故障磁盘的故障检测结果对每个故障磁盘进行修复。通过本发明的方案,能够对磁盘故障实时监测,快速对故障磁盘进行定位和自动修复,提高了工作效率,并支持多种不同的服务器与存储业务,提高了兼容性。

Description

一种故障磁盘检测与修复方法和装置
技术领域
本发明涉及分布式存储领域,尤其涉及一种故障磁盘检测与修复方法和装置。
背景技术
目前,大规模(超过2万块直连盘)分布式后端存储每天发生磁盘错误的磁盘基本超过10块。但故障磁盘无法及时和准确发现,严重影响线上服务。而且对于国内而言,中型的分布式存储磁盘故障基本处于人工处理的阶段,完全靠人工逐块修复,人力消耗大,修复周期长,导致线上一些数据长期处于缺少数据副本的状态;并且人工修复的方法判断磁盘故障状态及磁盘位置不准,增加了一些不必要的换盘成本;而且人工操作出错概率高,威胁线上服务。大型的分布式存储如百度云,基于定制的服务器,开发了一些基于自监察分析与报告技术SMART技术的底层磁盘工具,可以靠上层的分布式系统自动修复,但是对于不同机型、不同存储服务的全自动修复支持仍不太好。
发明内容
为了解决上述问题,本发明提出了一种故障磁盘检测与修复方法和装置,能够对磁盘故障实时监测,快速对故障磁盘进行定位和自动修复,提高了工作效率,并支持多种不同的服务器与存储业务,提高了兼容性。
为了达到上述目的,本发明提出了一种故障磁盘检测与修复方法,该方法包括:
根据系统日志解析出一个或多个故障磁盘设备名称。
根据解析出的故障磁盘设备名称对每个故障磁盘进行定位与标识,并分别对每个故障磁盘进行故障检测。
针对每个故障磁盘的故障检测结果对每个故障磁盘进行修复。
可选地,根据系统日志解析出一个或多个故障磁盘设备名称包括:
通过每个磁盘设备上预先部署的代理AGENT对系统日志进行扫描;获取系统日志中记载的每个磁盘设备的信息。
将每个磁盘设备的信息与预先配置的磁盘错误关键字列表中的磁盘错误关键字相比较。
获取与磁盘错误关键字相匹配的一个或多个磁盘故障信息。
对系统日志进行解析,获取与该一个或多个磁盘故障信息分别对应的故障磁盘设备名称。
可选地,该方法还包括:当磁盘发生故障时,故障磁盘所在的故障磁盘设备实时向预设的数据库服务器发送故障磁盘设备的状态与操作报告;预设的数据库服务器根据该状态与操作报告生成磁盘故障信息;并将该磁盘故障信息记录在系统日志中。
可选地,状态与操作报告中包括以下一种或多种:故障发生时间、故障磁盘设备名称、故障磁盘序列号SN和故障磁盘类型。
可选地,磁盘故障信息包括:与故障发生时间、故障磁盘设备名称、故障磁盘SN和故障磁盘类型中的一种或多种信息相关的磁盘故障描述。
可选地,对系统日志进行解析,获取与该一个或多个磁盘故障信息分别对应的故障磁盘设备名称包括:对系统日志中包含的故障磁盘设备名称与磁盘故障信息的对应关系进行解析,根据解析出的对应关系获取与一个或多个磁盘故障信息分别对应的故障磁盘设备名称。
可选地,根据解析出的故障磁盘设备名称对每个故障磁盘进行定位与标识包括:
通过第一预设工具获取所有磁盘设备信息,并通过第二预设工具集查询所有磁盘设备中不同机框驱动下的磁盘信息列表。
将获取的磁盘设备信息和磁盘信息列表与挂载点信息进行比对,获取与每个故障磁盘设备名称对应的每个磁盘所在的机框内槽位的信息。
从每个磁盘所在的机框内槽位的信息中获取与故障磁盘SN对应的机框内槽位的信息。
将获取的与故障磁盘SN对应的机框内槽位的信息作为故障磁盘的位置信息。
在获取故障磁盘的位置信息后,通过点亮故障磁盘的磁盘灯对故障磁盘进行标识。
可选地,第一预设工具包括:小型计算机系统接口通用驱动SG驱动中的lsscsi工具。
可选地,第二预设工具包括:SG驱动中的sg_utils工具。
可选地,该方法还包括:将获取的每个磁盘所在的机框内槽位的信息转换为可展示的位置信息。
可选地,该位置信息包括以下一种或多种:故障磁盘设备名称、面板号、排号和列号。
可选地,对每个故障磁盘进行故障检测包括:
采用第三预设工具对每个故障磁盘进行状态检测,判断每个故障磁盘是否存在FALL状态;其中,FALL状态是指:磁盘物理上出现损坏,需要更换磁盘的状态。
检测系统日志中记载的磁盘关键字中是否存在标识故障磁盘出现物理故障的关键字。以及,
对每个故障磁盘进行读写速度测试。
可选地,第三预设工具包括:自监察分析与报告技术SMART工具。
可选地,针对每个故障磁盘的故障检测结果对每个故障磁盘进行修复包括:
当检测出当前故障磁盘存在FALL状态,和/或检测出标识当前故障磁盘出现物理故障的关键字时,发出更换磁盘的提示信息。
当检测出当前故障磁盘发生读写故障,并且未检测出当前故障磁盘存在FALL状态和标识当前故障磁盘出现物理故障的关键字时,判定当前故障磁盘处于GOOD状态,并对当前故障磁盘进行格式化;其中,GOOD状态是指:磁盘物理上未出现损坏,对磁盘格式化后磁盘能够再次被使用的状态。
可选地,该方法还包括:在对每个故障磁盘进行定位与标识之后,在对每个故障磁盘进行故障检测之前,对每个故障磁盘所在的故障磁盘设备进行数据安全离线操作。
可选地,该方法还包括:
针对不同的分布式存储业务,通过磁盘设备的预留接口,对磁盘设备上的数据或数据副本进行数据安全离线操作以及重新上线操作;其中,预留接口提供不同的分布式存储业务的函数逻辑。
为了达到上述目的,本发明还提出了一种故障磁盘检测与修复装置,该装置包括:解析模块、定位模块、故障检测模块和修复模块。
解析模块,用于根据系统日志解析出一个或多个故障磁盘设备名称。
定位模块,用于根据解析出的故障磁盘设备名称对每个故障磁盘进行定位与标识。
故障检测模块,用于分别对每个故障磁盘进行故障检测。
修复模块,用于针对每个故障磁盘的故障检测结果对每个故障磁盘进行修复。
可选地,解析模块根据系统日志解析出一个或多个故障磁盘设备名称包括:
通过每个磁盘设备上预先部署的代理AGENT对系统日志进行扫描;获取系统日志中记载的每个磁盘设备的信息。
将每个磁盘设备的信息与预先配置的磁盘错误关键字列表中的磁盘错误关键字相比较。
获取与磁盘错误关键字相匹配的一个或多个磁盘故障信息。
对系统日志进行解析,获取与一个或多个磁盘故障信息分别对应的故障磁盘设备名称。
可选地,该装置还包括:发送模块和生成模块。
发送模块,用于当磁盘发生故障时,实时向生成模块发送故障磁盘设备的状态与操作报告。
生成模块,用于根据状态与操作报告生成磁盘故障信息;并将该磁盘故障信息记录在系统日志中。
可选地,状态与操作报告中包括以下一种或多种:故障发生时间、所述故障磁盘设备名称、所述故障磁盘序列号SN和故障磁盘类型。
可选地,磁盘故障信息包括:与故障发生时间、故障磁盘设备名称、故障磁盘SN和故障磁盘类型中的一种或多种信息相关的磁盘故障描述。
可选地,解析模块对系统日志进行解析,获取与一个或多个磁盘故障信息分别对应的故障磁盘SN包括:对系统日志中包含的故障磁盘设备名称与磁盘故障信息的对应关系进行解析,根据解析出的对应关系获取与一个或多个磁盘故障信息分别对应的故障磁盘设备名称。
可选地,定位模块根据解析出的故障磁盘设备名称对每个故障磁盘进行定位与标识包括:
通过第一预设工具获取所有磁盘设备信息,并通过第二预设工具查询所有磁盘设备中不同机框驱动下的磁盘信息列表。
将获取的磁盘设备信息和磁盘信息列表与挂载点信息进行比对,获取与每个故障磁盘设备名称对应的每个磁盘所在的机框内槽位的信息。
从每个磁盘所在的机框内槽位的信息中获取与故障磁盘SN对应的机框内槽位的信息。
将获取的与故障磁盘SN对应的机框内槽位的信息作为故障磁盘的位置信息。
在获取故障磁盘的位置信息后,通过点亮故障磁盘的磁盘灯对故障磁盘进行标识。
可选地,第一预设工具包括:小型计算机系统接口通用驱动SG驱动中的lsscsi工具。
可选地,第二预设工具包括:SG驱动中的sg_utils工具集。
可选地,该装置还包括:转换模块;转换模块,用于将获取的每个磁盘所在的机框内槽位的信息转换为可展示的位置信息。
可选地,该位置信息包括以下一种或多种:故障磁盘设备名称、面板号、排号和列号。
可选地,故障检测模块对每个故障磁盘进行故障检测包括:
采用第三预设工具对每个故障磁盘进行状态检测,判断每个故障磁盘是否存在FALL状态;其中,FALL状态是指:磁盘物理上出现损坏,需要更换磁盘的状态。
检测系统日志中记载的磁盘关键字中是否存在标识故障磁盘出现物理故障的关键字。以及,
对每个故障磁盘进行读写速度测试。
可选地,第三预设工具包括:自监察分析与报告技术SMART工具。
可选地,修复模块针对每个故障磁盘的故障检测结果对每个故障磁盘进行修复包括:
当检测出当前故障磁盘存在FALL状态,和/或检测出标识当前故障磁盘出现物理故障的关键字时,发出更换磁盘的提示信息;
当检测出当前故障磁盘发生读写故障,并且未检测出当前故障磁盘存在FALL状态和标识当前故障磁盘出现物理故障的关键字时,判定当前故障磁盘处于GOOD状态,并对当前故障磁盘进行格式化;其中,GOOD状态是指:磁盘物理上未出现损坏,对磁盘格式化后该磁盘能够再次被使用的状态。
可选地,该装置还包括:操作模块;操作模块,用于在定位模块对每个故障磁盘进行定位与标识之后,在故障检测模块对每个故障磁盘进行故障检测之前,对每个故障磁盘所在的故障磁盘设备进行数据安全离线操作。
可选地,操作模块还用于:
针对不同的分布式存储业务,通过磁盘设备的预留接口,对磁盘设备上的数据或数据副本进行所述数据安全离线操作以及重新上线操作;其中所述预留接口提供所述不同的分布式存储业务的函数逻辑。
与现有技术相比,本发明包括:根据系统日志解析出一个或多个故障磁盘设备名称;根据解析出的故障磁盘设备名称对每个故障磁盘进行定位与标识,并分别对每个故障磁盘进行故障检测;针对每个故障磁盘的故障检测结果对每个故障磁盘进行修复。通过本发明的方案,能够对磁盘故障实时监测,快速对故障磁盘进行定位和自动修复,提高了工作效率,并支持多种不同的服务器与存储业务,提高了兼容性。
附图说明
下面对本发明实施例中的附图进行说明,实施例中的附图是用于对本发明的进一步理解,与说明书一起用于解释本发明,并不构成对本发明保护范围的限制。
图1为本发明实施例的故障磁盘检测与修复方法流程图;
图2为本发明实施例的故障磁盘检测与修复方法简单示意图;
图3为本发明实施例的故障磁盘检测与修复装置组成框图。
具体实施方式
为了便于本领域技术人员的理解,下面结合附图对本发明作进一步的描述,并不能用来限制本发明的保护范围。
为了达到上述目的,本发明提出了一种故障磁盘检测与修复方法,如图1所示,该方法包括步骤S101-S103:
S101、根据系统日志解析出一个或多个故障磁盘设备名称。
可选地,该方法还包括:当磁盘发生故障时,故障磁盘所在的故障磁盘设备实时向预设的数据库服务器发送故障磁盘设备的状态与操作报告;预设的数据库服务器根据该状态与操作报告生成磁盘故障信息;并将该磁盘故障信息记录在系统日志中。
可选地,状态与操作报告中包括以下一种或多种:故障发生时间、所述故障磁盘设备名称、所述故障磁盘序列号SN和故障磁盘类型。
可选地,磁盘故障信息包括:与故障发生时间、故障磁盘设备名称、故障磁盘SN和故障磁盘类型中的一种或多种信息相关的磁盘故障描述。
在本发明实施例中,从磁盘出现故障开始,服务器,即本发明实施例方案中的故障磁盘设备(发生故障的磁盘所在的设备)进行的每一个操作及当前状态都会向一个预设的数据库服务器进行详细汇报,即本发明实施例方案中的状态与操作报告,该状态与操作报告中可以详细记录故障发生的时间、故障磁盘设备名称、故障磁盘SN、故障磁盘类型以及磁盘故障信息等多种信息中的一种或多种,在本发明实施例中,主要应用故障磁盘设备名称,因此,在状态与操作报告中必须记录故障磁盘设备名称,预设的数据库服务器基于这些数据可以生成磁盘故障信息并记录在系统日志中,磁盘故障信息中可以记录有发生故障的磁盘以及该磁盘所在设备的状态信息,以及相关的磁盘故障情况或原因的描述。这里预设的数据库服务器可以是一个独立于各个服务器的单独的数据库服务器,也可以是分布于各个服务器上的功能性数据库服务器。
在本发明实施例中,通过将磁盘故障信息记录在系统日志上,可以方便地对所有服务器上的磁盘故障进行统一监控。
另外,基于上述方案,便可以直接对系统日志进行解析,以获知哪个磁盘设备以及哪个磁盘发生了怎样的故障。具体可以通过以下方案获取发生故障磁盘设备的序列号。
可选地,根据系统日志解析出一个或多个故障磁盘设备名称包括步骤S1011-S1014:
S1011、通过每个磁盘设备上预先部署的代理AGENT对系统日志进行实时扫描;获取系统日志中记载的每个磁盘设备的信息。其中,该磁盘设备的信息中可能包含磁盘故障信息。
在本发明实施例中,预先对每个服务器端(即本发明方案中的磁盘设备)都部署了AGENT,移动AGENT是一种软件对象,它能携带执行代码、数据和运行状态,在复杂的网络中自治的、有目的迁移,并能响应外部事件,在迁移过程中能保持状态的一致性。移动AGENT就是一个能在异构网络中自主地从一台主机迁移到另一台主机,并可与其它AGENT或资源交互的程序。移动AGENT技术是分布式技术和AGENT技术相结合的产物,它除了具有智能AGENT的最基本特性:自主能力、社交能力、适应能力和一致主动性,还具有移动能力、可靠性和安全性。移动AGENT不同于基于过程的远程过程调用协议RPC,也不同于面向对象的对象引用,其独特的对象传递思想和卓越的特性给分布式计算乃至开发系统带来了巨大的革新。移动Agent技术在实际中得到了广泛的应用,主要应用于电子商务、分布式信息检索、无线通信服务、入侵检测和网络管理等方面。
在本发明实施例中,通过预先部署的AGENT对系统日志进行实时扫描;从而可以及时获取系统日志中记载的磁盘故障信息,缩短了磁盘故障修复周期,提高了工作效率。另外在其它实施例中,还可以采用周期扫描的方法,该扫描周期可以根据需要自行定义,在此不作限制。
另外需要说明的是,如果通过单次扫描或偶尔几次扫描在系统日志中发现磁盘故障信息,同样可以采用本发明实施例的后续方案进行故障磁盘检测与修复。
S1012、将每个磁盘设备的信息与预先配置的磁盘错误关键字列表中的磁盘错误关键字相比较。
在本发明实施例中,预先设置了磁盘错误关键字列表,该列表中包含一个或多个标识磁盘各种故障信息的关键字。
S1013、获取与磁盘错误关键字相匹配的一个或多个磁盘故障信息。
在本发明实施例中,通过将获得的系统日志中的每个磁盘设备的信息与上述的磁盘错误关键字进行比对以后,通过比对结果便可以得知磁盘设备的信息中是否包含磁盘故障信息。具体为:如果每个磁盘设备的信息中有与磁盘错误关键字相匹配的至少一条信息,就确定该磁盘设备的信息包含磁盘故障信息,并将该相匹配的信息确定为磁盘故障信息;反之,如果每个磁盘设备的信息中没有任何与磁盘错误关键字相匹配的信息,就确定该磁盘设备的信息不包含磁盘故障信息,则返回步骤S1011。这里,相匹配是指信息完全相同或者相似度大于或等于预设的相似阈值,例如90%、95%。
S1014、对系统日志进行解析,获取与该一个或多个磁盘故障信息分别对应的故障磁盘设备名称。
在本发明实施例中,通过步骤S1013确定出一个或多个磁盘故障信息后,便可以根据该磁盘故障信息获得与该磁盘故障信息对应的故障磁盘。
可选地,对系统日志进行解析,获取与该一个或多个磁盘故障信息分别对应的故障磁盘设备名称包括:对系统日志中包含的故障磁盘设备名称与磁盘故障信息的对应关系进行解析,根据解析出的对应关系获取与一个或多个磁盘故障信息分别对应的故障磁盘设备名称。
在本发明实施例中,由于每一个磁盘故障信息是基于包含故障发生时间、故障磁盘设备名称、故障磁盘SN以及故障磁盘类型的状态与操作报告生成的,因此,只要对系统日志中包含的磁盘故障信息进行解析,获取当前磁盘故障信息与故障磁盘设备名称的对应关系,便可以获得当前磁盘故障信息对应的故障磁盘设备名称。
S102、根据解析出的故障磁盘设备名称对每个故障磁盘进行定位与标识,并分别对每个故障磁盘进行故障检测。
在本发明实施例中,通过步骤S101获取发生故障的磁盘所在设备的故障磁盘设备名称以后,便可以根据该故障磁盘设备名称找到与该磁盘故障信息相对应的故障磁盘,方案如下所述。
可选地,根据解析出的故障磁盘设备名称对每个故障磁盘进行定位与标识包括步骤S1021-S1025:
S1021、通过第一预设工具获取所有磁盘设备信息,并通过第二预设工具查询所有磁盘设备中不同机框驱动下的磁盘信息列表。
可选地,第一预设工具包括:小型计算机系统接口通用驱动SG驱动中的lsscsi工具。
可选地,第二预设工具包括:SG驱动中的sg_utils工具集。
在本发明实施例中,SG驱动即The Linux SCSI Generic(SG)Driver,SCSI(SmallComputer System Interface小型计算机系统接口)通用驱动,是SCSI设备管理最重要的手段。我们使用驱动中的lsscsi工具获取所有设备信息,通过sg_utils工具集查询不同enclosure(机框驱动)下的磁盘信息列表,两者结合挂载点信息便可以比对出磁盘位置。当然,在其它实施例中如果有其他更合适的处理工具还可以选择其他工具,不限于SG驱动中的lsscsi工具和sg_utils工具集。
S1022、将获取的磁盘设备信息和磁盘信息列表与挂载点信息进行比对,获取与每个故障磁盘设备名称对应的每个磁盘所在的机框内槽位的信息。
在本发明实施例中,由于步骤S101中已经根据系统日志解析出一个或多个故障磁盘设备名称,因此,通过磁盘设备信息和磁盘信息列表与挂载点信息逐项进行比对以后,便可以获得的每个故障磁盘设备相对应的磁盘,以及每个磁盘相对应的机框内的槽位信息,由于一个磁盘设备具有唯一的磁盘设备SN,因此,通过该比对结果便可以获得上述的故障磁盘设备名称所对应的每个磁盘,以及这些磁盘所在的机框内槽位的信息。
S1023、从每个磁盘所在的机框内槽位的信息中获取与故障磁盘SN对应的机框内槽位的信息。
在本发明实施例中,由于磁盘故障信息是基于包含故障发生时间、故障磁盘设备名称、故障磁盘SN以及故障磁盘类型的状态与操作报告生成的,因此,对系统日志中包含的磁盘故障信息进行解析,同样可以获取当前磁盘故障信息与故障磁盘SN的对应关系,通过该对应关系便可以获得当前磁盘故障信息对应的故障磁盘SN。
在获得发生故障的磁盘所具有的故障磁盘SN后,根据步骤S1022获得的故障磁盘设备名称所对应的每个磁盘,以及这些磁盘所在的机框内槽位的信息便可以获得该故障磁盘SN对应的机框内槽位的信息。
S1024、将获取的与故障磁盘SN对应的机框内槽位的信息作为故障磁盘的位置信息。
在本发明实施例中,故障磁盘SN对应的机框内槽位的信息即该故障磁盘SN对应的故障磁盘的位置信息,至此,便完成了对每个故障磁盘的定位。
S1025、在获取故障磁盘的位置信息后,通过点亮故障磁盘的磁盘灯对故障磁盘进行标识。
在本发明实施例中,在完成了对每个故障磁盘的定位,即确定故障磁盘的位置信息以后,还设计了对该故障磁盘的标识方案,以将该故障磁盘与其他非故障磁盘加以区分,并使得相关人员能够快速找到该故障磁盘。在本发明实施例中,该标识方法可以是点亮故障磁盘的磁盘灯,在其它实施例中还可以采用其他的标识方案,对具体标识方法不做限制。
可选地,该方法还包括:将获取的每个磁盘所在的机框内槽位的信息转换为可展示的位置信息。
可选地,该位置信息包括以下一种或多种:磁盘设备SN、面板号、排号和列号。
在本发明实施例中,为了使相关人员进一步明确已经定位后的故障磁盘的位置,可以将每个磁盘所在的机框内槽位的信息转换为可展示的位置信息,例如,生成一个可视的位置列表,该列表可以以对话框的形式显示在人机界面上,当一个故障磁盘被定位后,就生成该位置列表显示在人机界面上。这里,该位置信息可以包括:磁盘设备SN、面板号、排号和列号中的一种或多种,例如后面板第三排第二列。在其它实施例中,为了使位置信息更清楚,或者根据不同的应用场景,位置信息中还可以包括其他信息,不限于上述的磁盘设备SN、面板号、排号和列号。
在本发明实施例中,由于当前没有有效的故障磁盘定位与标识方案,并且相关技术,如SG驱动,不加封装无法与实际的磁盘设备名称相关联,而业界能够使用自动化工具进行磁盘定位标识的也只是基于定制服务器,对于非定制的SCSI机器以及盘符漂移和掉盘的情况支持性很差。通过本发明实施例的方案,解决了上述问题,本发明实施例方案能够支持更多的机型,支持不同机框驱动和磁盘排列方式,即使在故障磁盘出现Diskfloa(磁盘盘符漂移,例如一开始磁盘设备名为/dev/sdb,故障后变为/dev/sdal)和掉盘的情况下,依然可以通过信息比对获取磁盘的准确位置,方便自动化报修。例如,基于SG驱动,支持量子、浪潮、华为、英业达、UIT、曙光等厂商不同机型的磁盘位置识别与标识,即使磁盘出现Diskfloat或者掉盘,也能通过比对磁盘挂载、设备信息来定位和标识。
在本发明实施例中,通过上述步骤对故障磁盘进行定位以后,便可以针对每个故障磁盘进行故障检测了。在此之前,需要先对包含故障磁盘的服务器,即故障磁盘设备进行离线处理。
可选地,该方法还包括:在对每个故障磁盘进行定位与标识之后,在对每个故障磁盘进行故障检测之前,对每个故障磁盘所在的故障磁盘设备进行数据安全离线操作。
可选地,该方法还包括:
针对不同的分布式存储业务,通过磁盘设备的预留接口,对磁盘设备上的数据或数据副本进行数据安全离线操作以及重新上线操作;其中,预留接口提供不同的分布式存储业务的函数逻辑。
在本发明实施例中,为了方便不同分布式存储业务的离线和上线操作,设计了预留接口,该预留接口为软接口,即在通用的离线或上线程序脚本上设置了相关的关键字,在针对不同的分布式存储业务进行离线或上线操作时可以仅更改相关的关键字即可。或者,分别预先定制不同分布式存储业务的离线或上线运行脚本,当执行相关的分布式存储业务时,调取相关的定制运行脚本。例如,基于金山云PHENIX(金山云KV分布式存储系统)存储系统与KFS(金山云分布式文件存储系统)存储系统的定制运行脚本(或定制逻辑)。
在本发明实施例中,由于目前的故障磁盘监控和检测方案支持的服务器、硬盘、文件系统有限,扩展性差。并且底层工具如自监察分析与报告技术SMART工具并不能直接使用,需要进行封装,并且需要综合其他可以判断磁盘故障的状态进行一系列逻辑判断,而且目前业界对底层工具的封装适用范围狭窄,对云盘服务器,XFS文件系统支持较差。通过本发明实施例的上述方案,解决了这些问题,本发明实施例方案能够使得故障盘检测时有更好的扩展性,支持范围更广。
可选地,对每个故障磁盘进行故障检测包括方式一至方式三:
方式一、采用第三预设工具对每个故障磁盘进行状态检测,判断每个故障磁盘是否存在FALL状态;其中,FALL状态是指:磁盘物理上出现损坏,需要更换磁盘的状态。
可选地,第三预设工具包括:SMART工具。
在本发明实施例中,SMART(Self-Monitoring,Analysis,and ReportingTechnology)即自监察分析与报告技术,大部分现代存储设备内建了基于该技术的监控、记录、分析自身健康状态的支持组件。SMART是LINUX本身自带的非常重要的硬件监控与检测技术。
方式二、检测系统日志中记载的磁盘关键字中是否存在标识故障磁盘出现物理故障的关键字。
方式三、对每个故障磁盘进行读写速度测试。
在本发明实施例中,由于上述三个方式是分别针对故障磁盘的不同方面的故障检测,因此,方式一至方式三不分先后顺序,并且可以同时执行,可选地,为了避免在磁盘发生物理损坏的情况下仍对磁盘进行读写测试,推荐优先执行方式一和方式二,以提高故障检测效率。
S103、针对每个故障磁盘的故障检测结果对每个故障磁盘进行修复。
在本发明实施例中,通过步骤S102对故障磁盘进行定位和检测后,便可以根据监测结果对故障磁盘进行有针对性地修复了。
可选地,针对每个故障磁盘的故障检测结果对每个故障磁盘进行修复包括:
当检测出当前故障磁盘存在FALL状态,和/或检测出标识当前故障磁盘出现物理故障的关键字时,发出更换磁盘的提示信息。
当检测出当前故障磁盘发生读写故障,并且未检测出当前故障磁盘存在FALL状态和标识当前故障磁盘出现物理故障的关键字时,判定当前故障磁盘处于GOOD状态,并对当前故障磁盘进行格式化;其中,GOOD状态是指:磁盘物理上未出现损坏,对磁盘格式化后磁盘能够再次被使用的状态。
在本发明实施例中,对故障磁盘的修复策略主要分为两个部分,即,对出现物理损坏的磁盘进行更换,对未出现物理算话的磁盘进行格式化,如果磁盘未检测出物理损坏,也未检测出读写故障,则判定该故障磁盘报错失败,忽略对该磁盘,并且不实施度该磁盘的修复过程。
在本发明实施例中,由于磁盘修复流程不可见,故障数据不可查。为了实现磁盘检测和修复过程的可视化或透明化,将磁盘修复整个过程的状态数据与流程向预设的数据库汇报,该预设数据库根据汇报的状态数据与流程生成故障检测与修复曲线,并显示在人机界面上,使相关人员可以直观地了解磁盘检测和修复过程,并且便于相关人员的统计分析。并且,为了方便对不同磁盘或磁盘设备的了解,设置查询接口,该查询接口支持查询和展示,相关人员可以根据该查询接口查询当前存在的任意一个磁盘或磁盘设备的检测与修复过程,或者通过该查询接口查询任意一项相关数据,以及相关曲线。
如图2所示,下面通过实施例简单说明本发明实施例方案的流程,包括步骤S111-S121:
S111、磁盘工具对磁盘实时监控与检测。例如,每10秒检测一次系统日志。本发明实施例方案中的磁盘错误关键字可以匹配多种日常日志,能发现绝大部分磁盘错误。
S112、检测到故障磁盘进入下盘流程,首先获取本地配置,如NAMESERVER(命令服务器)信息。
S113、获取令牌TOKEN。TOKEN控制用于限制每天下盘纵次数。
S114、采用轻量级工具(下盘/上盘DROP/ADD工具)下盘(DROP)。可在服务器节点(如数据服务器DATASERVER)直接执行,与控制节点(如命令服务器NAMESERVER)通信,进行管理操作。
S115、解挂文件系统(UMOUNT盘)。
S116、磁盘工具检查磁盘是否物理损坏。磁盘工具运行后会给出GOOD或FALL状态检测结果,GOOD是指物理无损坏,磁盘格式化后可直接使用;FALL是指物理上出现损坏,需要换盘。
S117、如果磁盘损坏,则发出工单(自动发单,关联资产与保修系统应用程序接口),走换盘流程(获取磁盘定位信息)。
S118、换盘后,磁盘工具捕获插盘信号,进入上盘流程,即进入步骤S119。
S119、如果磁盘无损坏,进入上盘流程,检测并获取相应的配置信息,如获取盘符对应的盘号,这里通过缺失盘对比获取盘号,如果多块盘缺失则可以通过人工处理。另外,如果DATASERVER已不存活,则不执行ADD流程。
S120、将磁盘格式化。
S121、采用轻量级工具上盘(ADD)。
S122、修复过程完成。
基于上述的处理流程,进行大量的容错处理,自动进行状态转换,直至重新完成数据的上盘。
至此,已经介绍完了本发明实施例方案的全部基本特征,需要说明的是,上述内容仅是本发明的一个实施例,在其他实施例中,还可以采用其他的实施方式,任何与本发明实施例相同或相似的实施方式,以及本发明实施例的基本特征的任意组合都在本发明实施例的保护范围之内。
为了达到上述目的,本发明还提出了一种故障磁盘检测与修复装置01,如图3所示,该装置包括:解析模块02、定位模块03、故障检测模块04和修复模块05。
解析模块02,用于根据系统日志解析出一个或多个故障磁盘设备名称。
可选地,该装置还包括:发送模块06和生成模块07。
发送模块06,用于当磁盘发生故障时,实时向生成模块发送故障磁盘设备的状态与操作报告。
生成模块07,用于根据状态与操作报告生成磁盘故障信息;并将该磁盘故障信息记录在系统日志中。
可选地,状态与操作报告中包括以下一种或多种:故障发生时间、所述故障磁盘设备名称、所述故障磁盘序列号SN和故障磁盘类型。
可选地,磁盘故障信息包括:与故障发生时间、故障磁盘设备名称、故障磁盘SN和故障磁盘类型中的一种或多种信息相关的磁盘故障描述。
在本发明实施例中,从磁盘出现故障开始,服务器,即本发明实施例方案中的故障磁盘设备(发生故障的磁盘所在的设备)进行的每一个操作及当前状态都会通过发送模块06向生成模块07进行详细汇报,即本发明实施例方案中的状态与操作报告,该状态与操作报告中可以详细记录故障发生的时间、故障磁盘设备名称、故障磁盘SN、故障磁盘类型以及磁盘故障信息等多种信息中的一种或多种,在本发明实施例中,主要应用故障磁盘设备名称,因此,在状态与操作报告中必须记录故障磁盘设备名称,生成模块07基于这些数据可以生成磁盘故障信息并记录在系统日志中,磁盘故障信息中可以记录有发生故障的磁盘以及该磁盘所在设备的状态信息,以及相关的磁盘故障情况或原因的描述。这里生成模块07可以是一个独立于各个服务器的单独的数据库服务器,也可以是分布于各个服务器上的功能性数据库服务器。
在本发明实施例中,通过将磁盘故障信息记录在系统日志上,可以方便地对所有服务器上的磁盘故障进行统一监控。
另外,基于上述方案,便可以直接对系统日志进行解析,以获知哪个磁盘设备以及哪个磁盘发生了怎样的故障。具体可以通过解析模块02获取发生故障磁盘设备的序列号。
可选地,解析模块02根据系统日志解析出一个或多个故障磁盘设备名称包括步骤S201-S204:
S201、通过每个磁盘设备上预先部署的代理AGENT对系统日志进行实时扫描;获取系统日志中记载的每个磁盘设备的信息。其中,所述磁盘设备的信息中可能包含磁盘故障信息。
在本发明实施例中,预先对每个服务器端(即本发明方案中的磁盘设备)都部署了AGENT,移动AGENT是一种软件对象,它能携带执行代码、数据和运行状态,在复杂的网络中自治的、有目的迁移,并能响应外部事件,在迁移过程中能保持状态的一致性。移动AGENT就是一个能在异构网络中自主地从一台主机迁移到另一台主机,并可与其它AGENT或资源交互的程序。移动AGENT技术是分布式技术和AGENT技术相结合的产物,它除了具有智能AGENT的最基本特性:自主能力、社交能力、适应能力和一致主动性,还具有移动能力、可靠性和安全性。移动AGENT不同于基于过程的远程过程调用协议RPC,也不同于面向对象的对象引用,其独特的对象传递思想和卓越的特性给分布式计算乃至开发系统带来了巨大的革新。移动Agent技术在实际中得到了广泛的应用,主要应用于电子商务、分布式信息检索、无线通信服务、入侵检测和网络管理等方面。
在本发明实施例中,通过预先部署的AGENT对系统日志进行实时扫描;从而可以及时获取系统日志中记载的磁盘故障信息,缩短了磁盘故障修复周期,提高了工作效率。
S202、将每个磁盘设备的信息与预先配置的磁盘错误关键字列表中的磁盘错误关键字相比较。
在本发明实施例中,预先设置了磁盘错误关键字列表,该列表中包含一个或多个标识磁盘各种故障信息的关键字。
S203、获取与磁盘错误关键字相匹配的一个或多个磁盘故障信息。
在本发明实施例中,通过将获得的系统日志中的每个磁盘设备的信息与上述的磁盘错误关键字进行比对以后,通过比对结果便可以得知磁盘设备的信息中是否包含磁盘故障信息。具体为:如果每个磁盘设备的信息中有与磁盘错误关键字相匹配的至少一条信息,就确定该磁盘设备的信息包含磁盘故障信息,并将该相匹配的信息确定为磁盘故障信息;反之,如果每个磁盘设备的信息中没有任何与磁盘错误关键字相匹配的信息,就确定该磁盘设备的信息不包含磁盘故障信息,则返回步骤S201。这里,相匹配是指信息完全相同或者相似度大于或等于预设的相似阈值,例如90%、95%。
S204、对系统日志进行解析,获取与一个或多个磁盘故障信息分别对应的故障磁盘设备名称。
在本发明实施例中,通过步骤S203确定出一个或多个磁盘故障信息后,便可以根据该磁盘故障信息获得与该磁盘故障信息对应的故障磁盘。
可选地,解析模块02对系统日志进行解析,获取与一个或多个磁盘故障信息分别对应的故障磁盘SN包括:对系统日志中包含的故障磁盘设备名称与磁盘故障信息的对应关系进行解析,根据解析出的对应关系获取与一个或多个磁盘故障信息分别对应的故障磁盘设备名称。
在本发明实施例中,由于每一个磁盘故障信息是基于包含故障发生时间、故障磁盘设备名称、故障磁盘SN以及故障磁盘类型的状态与操作报告生成的,因此,只要对系统日志中包含的磁盘故障信息进行解析,获取当前磁盘故障信息与故障磁盘设备名称的对应关系,便可以获得当前磁盘故障信息对应的故障磁盘设备名称。
定位模块03,用于根据解析出的故障磁盘设备名称对每个故障磁盘进行定位与标识。
在本发明实施例中,通过解析模块02获取发生故障的磁盘所在设备的故障磁盘设备名称以后,定位模块03便可以根据该故障磁盘设备名称找到与该磁盘故障信息相对应的故障磁盘,方案如下所述。
可选地,定位模块03根据解析出的故障磁盘设备名称对每个故障磁盘进行定位与标识包括步骤S301-S305:
S301、通过第一预设工具获取所有磁盘设备信息,并通过第二预设工具查询所有磁盘设备中不同机框驱动下的磁盘信息列表。
可选地,第一预设工具包括:小型计算机系统接口通用驱动SG驱动中的lsscsi工具。
可选地,第二预设工具包括:SG驱动中的sg_utils工具集。
在本发明实施例中,SG驱动即The Linux SCSI Generic(SG)Driver,SCSI(SmallComputer System Interface小型计算机系统接口)通用驱动,是SCSI设备管理最重要的手段。我们使用驱动中的lsscsi工具获取所有设备信息,通过sg_utils工具集查询不同enclosure(机框驱动)下的磁盘信息列表,两者结合挂载点信息便可以比对出磁盘位置。当然,在其它实施例中如果有其他更合适的处理工具还可以选择其他工具,不限于SG驱动中的lsscsi工具和sg_utils工具集。
S302、将获取的磁盘设备信息和磁盘信息列表与挂载点信息进行比对,获取与每个故障磁盘设备名称对应的每个磁盘所在的机框内槽位的信息。
在本发明实施例中,由于解析模块02已经根据系统日志解析出一个或多个故障磁盘设备名称,因此,通过磁盘设备信息和磁盘信息列表与挂载点信息逐项进行比对以后,便可以获得的每个故障磁盘设备相对应的磁盘,以及每个磁盘相对应的机框内的槽位信息,由于一个磁盘设备具有唯一的磁盘设备SN,因此,通过该比对结果便可以获得上述的故障磁盘设备名称所对应的每个磁盘,以及这些磁盘所在的机框内槽位的信息。
S303、从每个磁盘所在的机框内槽位的信息中获取与故障磁盘SN对应的机框内槽位的信息。
在本发明实施例中,由于磁盘故障信息是基于包含故障发生时间、故障磁盘设备名称、故障磁盘SN以及故障磁盘类型的状态与操作报告生成的,因此,对系统日志中包含的磁盘故障信息进行解析,同样可以获取当前磁盘故障信息与故障磁盘SN的对应关系,通过该对应关系便可以获得当前磁盘故障信息对应的故障磁盘SN。
在获得发生故障的磁盘所具有的故障磁盘SN后,根据步骤S302获得的故障磁盘设备名称所对应的每个磁盘,以及这些磁盘所在的机框内槽位的信息便可以获得该故障磁盘SN对应的机框内槽位的信息。
S304、将获取的与故障磁盘SN对应的机框内槽位的信息作为故障磁盘的位置信息。
在本发明实施例中,故障磁盘SN对应的机框内槽位的信息即该故障磁盘SN对应的故障磁盘的位置信息,至此,便完成了对每个故障磁盘的定位。
在本发明实施例中,在完成了对每个故障磁盘的定位,即确定故障磁盘的位置信息以后,还设计了对该故障磁盘的标识方案,以将该故障磁盘与其他非故障磁盘加以区分,并使得相关人员能够快速找到该故障磁盘。在本发明实施例中,该标识方法可以是点亮故障磁盘的磁盘灯,在其它实施例中还可以采用其他的标识方案,对具体标识方法不做限制。
S305、在获取故障磁盘的位置信息后,通过点亮故障磁盘的磁盘灯对故障磁盘进行标识。
可选地,该装置还包括:转换模块08;转换模块08,用于将获取的每个磁盘所在的机框内槽位的信息转换为可展示的位置信息。
可选地,该位置信息包括以下一种或多种:磁盘设备SN、面板号、排号和列号。
在本发明实施例中,为了使相关人员进一步明确已经定位后的故障磁盘的位置,可以将每个磁盘所在的机框内槽位的信息转换为可展示的位置信息,例如,生成一个可视的位置列表,该列表可以以对话框的形式显示在人机界面上,当一个故障磁盘被定位后,就生成该位置列表显示在人机界面上。这里,该位置信息可以包括:磁盘设备SN、面板号、排号和列号中的一种或多种,例如后面板第三排第二列。在其它实施例中,为了使位置信息更清楚,或者根据不同的应用场景,位置信息中还可以包括其他信息,不限于上述的磁盘设备SN、面板号、排号和列号。
在本发明实施例中,由于当前没有有效的故障磁盘定位与标识方案,并且相关技术,如SG驱动,不加封装无法与实际的磁盘设备名称相关联,而业界能够使用自动化工具进行磁盘定位标识的也只是基于定制服务器,对于非定制的SCSI机器以及盘符漂移和掉盘的情况支持性很差。通过本发明实施例的方案,解决了上述问题,本发明实施例方案能够支持更多的机型,支持不同机框驱动和磁盘排列方式,即使在故障磁盘出现Diskfloa(磁盘盘符漂移,例如一开始磁盘设备名为/dev/sdb,故障后变为/dev/sdal)和掉盘的情况下,依然可以通过信息比对获取磁盘的准确位置,方便自动化报修。例如,基于SG驱动,支持量子、浪潮、华为、英业达、UIT、曙光等厂商不同机型的磁盘位置识别与标识,即使磁盘出现Diskfloat或者掉盘,也能通过比对磁盘挂载、设备信息来定位和标识。
在本发明实施例中,通过定位模块03对故障磁盘进行定位以后,便可以针对每个故障磁盘进行故障检测了。在此之前,需要先对包含故障磁盘的服务器,即故障磁盘设备进行离线处理。
可选地,该装置还包括:操作模块09;操作模块09,用于在定位模块03对每个故障磁盘进行定位与标识之后,在故障检测模块04对每个故障磁盘进行故障检测之前,对每个故障磁盘所在的故障磁盘设备进行数据安全离线操作。
可选地,操作模块09还用于:
针对不同的分布式存储业务,通过磁盘设备的预留接口,对磁盘设备上的数据或数据副本进行所述数据安全离线操作以及重新上线操作;其中所述预留接口提供所述不同的分布式存储业务的函数逻辑。
在本发明实施例中,为了方便不同分布式存储业务的离线和上线操作,设计了预留接口,该预留接口为软接口,即在通用的离线或上线程序脚本上设置了相关的关键字,在针对不同的分布式存储业务进行离线或上线操作时可以仅更改相关的关键字即可。或者,分别预先定制不同分布式存储业务的离线或上线运行脚本,当执行相关的分布式存储业务时,调取相关的定制运行脚本。例如,基于金山云PHENIX(金山云KV分布式存储系统)存储系统与KFS(金山云分布式文件存储系统)存储系统的定制运行脚本(或定制逻辑)。
在本发明实施例中,由于目前的故障磁盘监控和检测方案支持的服务器、硬盘、文件系统有限,扩展性差。并且底层工具如自监察分析与报告技术SMART工具并不能直接使用,需要进行封装,并且需要综合其他可以判断磁盘故障的状态进行一系列逻辑判断,而且目前业界对底层工具的封装适用范围狭窄,对云盘服务器,XFS文件系统支持较差。通过本发明实施例的上述方案,解决了这些问题,本发明实施例方案能够使得故障盘检测时有更好的扩展性,支持范围更广。
故障检测模块04,用于分别对每个故障磁盘进行故障检测。
可选地,故障检测模块04对每个故障磁盘进行故障检测包括步骤S401-S403:
S401、采用第三预设工具对每个故障磁盘进行状态检测,判断每个故障磁盘是否存在FALL状态;其中,FALL状态是指:磁盘物理上出现损坏,需要更换磁盘的状态。
可选地,第三预设工具包括:SMART工具。
在本发明实施例中,SMART(Self-Monitoring,Analysis,and ReportingTechnology)即自监察分析与报告技术,大部分现代存储设备内建了基于该技术的监控、记录、分析自身健康状态的支持组件。SMART是LINUX本身自带的非常重要的硬件监控与检测技术。
S402、检测系统日志中记载的磁盘关键字中是否存在标识故障磁盘出现物理故障的关键字。
S403、对每个故障磁盘进行读写速度测试。
在本发明实施例中,由于上述三个步骤是分别针对故障磁盘的不同方面的故障检测,因此,步骤S401-S403不分先后顺序,并且可以同时执行,可选地,为了避免在磁盘发生物理损坏的情况下仍对磁盘进行读写测试,推荐优先执行步骤S401和步骤S402,以提高故障检测效率。
修复模块05,用于针对每个故障磁盘的故障检测结果对每个故障磁盘进行修复。
可选地,修复模块05针对每个故障磁盘的故障检测结果对每个故障磁盘进行修复包括:
当检测出当前故障磁盘存在FALL状态,和/或检测出标识当前故障磁盘出现物理故障的关键字时,发出更换磁盘的提示信息;
当检测出当前故障磁盘发生读写故障,并且未检测出当前故障磁盘存在FALL状态和标识当前故障磁盘出现物理故障的关键字时,判定当前故障磁盘处于GOOD状态,并对当前故障磁盘进行格式化;其中,GOOD状态是指:磁盘物理上未出现损坏,对磁盘格式化后该磁盘能够再次被使用的状态。
在本发明实施例中,对故障磁盘的修复策略主要分为两个部分,即,对出现物理损坏的磁盘进行更换,对未出现物理算话的磁盘进行格式化,如果磁盘未检测出物理损坏,也未检测出读写故障,则判定该故障磁盘报错失败,忽略对该磁盘,并且不实施度该磁盘的修复过程。
在本发明实施例中,由于磁盘修复流程不可见,故障数据不可查。为了实现磁盘检测和修复过程的可视化或透明化,将磁盘修复整个过程的状态数据与流程向预设的数据库汇报,该预设数据库根据汇报的状态数据与流程生成故障检测与修复曲线,并显示在人机界面上,使相关人员可以直观地了解磁盘检测和修复过程,并且便于相关人员的统计分析。并且,为了方便对不同磁盘或磁盘设备的了解,设置查询接口,该查询接口支持查询和展示,相关人员可以根据该查询接口查询当前存在的任意一个磁盘或磁盘设备的检测与修复过程,或者通过该查询接口查询任意一项相关数据,以及相关曲线。
如图2所示,下面通过实施例简单说明本发明实施例方案的流程,包括步骤S111-S121:
S111、磁盘工具对磁盘实时监控与检测。例如,每10秒检测一次系统日志。本发明实施例方案中的磁盘错误关键字可以匹配多种日常日志,能发现绝大部分磁盘错误。
S112、检测到故障磁盘进入下盘流程,首先获取本地配置,如NAMESERVER(命令服务器)信息。
S113、获取令牌TOKEN。TOKEN控制用于限制每天下盘纵次数。
S114、采用轻量级工具(下盘/上盘DROP/ADD工具)下盘(DROP)。可在服务器节点(如数据服务器DATASERVER)直接执行,与控制节点(如命令服务器NAMESERVER)通信,进行管理操作。
S115、解挂文件系统(UMOUNT盘)。
S116、磁盘工具检查磁盘是否物理损坏。磁盘工具运行后会给出GOOD或FALL状态检测结果,GOOD是指物理无损坏,磁盘格式化后可直接使用;FALL是指物理上出现损坏,需要换盘。
S117、如果磁盘损坏,则发出工单(自动发单,关联资产与保修系统应用程序接口),走换盘流程(获取磁盘定位信息)。
S118、换盘后,磁盘工具捕获插盘信号,进入上盘流程,即进入步骤S119。
S119、如果磁盘无损坏,进入上盘流程,检测并获取相应的配置信息,如获取盘符对应的盘号,这里通过缺失盘对比获取盘号,如果多块盘缺失则可以通过人工处理。另外,如果DATASERVER已不存活,则不执行ADD流程。
S120、将磁盘格式化。
S121、采用轻量级工具上盘(ADD)。
S122、修复过程完成。
基于上述的处理流程,进行大量的容错处理,自动进行状态转换,直至重新完成数据的上盘。
至此,已经介绍完了本发明实施例方案的全部基本特征,需要说明的是,上述内容仅是本发明的一个实施例,在其他实施例中,还可以采用其他的实施方式,任何与本发明实施例相同或相似的实施方式,以及本发明实施例的基本特征的任意组合都在本发明实施例的保护范围之内。
与现有技术相比,本发明包括:根据系统日志解析出一个或多个故障磁盘设备名称;根据解析出的故障磁盘设备名称对每个故障磁盘进行定位与标识,并分别对每个故障磁盘进行故障检测;针对每个故障磁盘的故障检测结果对每个故障磁盘进行修复。通过本发明的方案,能够对磁盘故障实时监测,快速对故障磁盘进行定位和自动修复,提高了工作效率,并支持多种不同的服务器与存储业务,提高了兼容性。
综上所述,本发明实施例方案具有以下优势:
1、高可扩展的磁盘监控与检测。对于不同机型、不同盘数、不同文件系统的SCSI直连盘机器,均能基于系统日志进行关键字匹配来检测,并综合SMART工具、系统日志分析等进行磁盘状态的综合检测,能够给出准确的检测报告。
2、精准的故障磁盘定位。基于SG驱动,支持量子、浪潮、华为、英业达、UIT、曙光等厂商不同机型的磁盘位置识别与标识(例如点亮硬盘灯),即使磁盘出现Diskfloat或者掉盘,也能通过比对磁盘挂载、设备信息来定位和标识。
3、全流程的自动处理。设计了磁盘生命周期状态机,开发流程支持不同操作间的状态流转,实现磁盘故障触发、检测、服务安全离线、故障盘定位标识、故障盘修复、已修复盘上线的全流程自动化处理,缩短了处理周期,大幅降低人力消耗。
需要说明的是,以上所述的实施例仅是为了便于本领域的技术人员理解而已,并不用于限制本发明的保护范围,在不脱离本发明的发明构思的前提下,本领域技术人员对本发明所做出的任何显而易见的替换和改进等均在本发明的保护范围之内。

Claims (32)

1.一种故障磁盘检测与修复方法,其特征在于,所述方法包括:
根据系统日志解析出一个或多个故障磁盘设备名称;
根据解析出的所述故障磁盘设备名称对每个故障磁盘进行定位与标识,并分别对每个故障磁盘进行故障检测;
针对所述每个故障磁盘的故障检测结果对每个故障磁盘进行修复;
其中,所述根据解析出的所述故障磁盘设备名称对每个故障磁盘进行定位包括:
通过第一预设工具获取所有磁盘设备信息,并通过第二预设工具查询所有磁盘设备中不同机框驱动下的磁盘信息列表;
将获取的所述磁盘设备信息和所述磁盘信息列表与挂载点信息进行比对,获取与每个所述故障磁盘设备名称对应的每个磁盘所在的机框内槽位的信息;
从每个磁盘所在的所述机框内槽位的信息中获取与所述故障磁盘序列号SN对应的机框内槽位的信息;
将获取的与所述故障磁盘SN对应的机框内槽位的信息作为所述故障磁盘的位置信息。
2.如权利要求1所述的故障磁盘检测与修复方法,其特征在于,所述根据系统日志解析出一个或多个故障磁盘设备名称包括:
通过每个磁盘设备上预先部署的代理AGENT对系统日志进行扫描;获取所述系统日志中记载的每个磁盘设备的信息;
将所述每个磁盘设备的信息与预先配置的磁盘错误关键字列表中的磁盘错误关键字相比较;
获取与所述磁盘错误关键字相匹配的一个或多个磁盘故障信息;
对所述系统日志进行解析,获取与所述一个或多个磁盘故障信息分别对应的故障磁盘设备名称。
3.如权利要求2所述的故障磁盘检测与修复方法,其特征在于,所述方法还包括:当磁盘发生故障时,故障磁盘所在的故障磁盘设备向预设的数据库服务器发送所述故障磁盘设备的状态与操作报告;所述预设的数据库服务器根据所述状态与操作报告生成所述磁盘故障信息;并将所述磁盘故障信息记录在所述系统日志中。
4.如权利要求3所述的故障磁盘检测与修复方法,其特征在于,所述状态与操作报告中包括以下一种或多种:故障发生时间、所述故障磁盘设备名称、所述故障磁盘序列号SN和故障磁盘类型。
5.如权利要求4所述的故障磁盘检测与修复方法,其特征在于,所述磁盘故障信息包括:与所述故障发生时间、所述故障磁盘设备名称、所述故障磁盘SN和所述故障磁盘类型中的一种或多种信息相关的磁盘故障描述。
6.如权利要求3所述的故障磁盘检测与修复方法,其特征在于,所述对所述系统日志进行解析,获取与所述一个或多个磁盘故障信息分别对应的故障磁盘设备名称包括:对所述系统日志中包含的所述故障磁盘设备名称与所述磁盘故障信息的对应关系进行解析,根据解析出的所述对应关系获取与所述一个或多个磁盘故障信息分别对应的故障磁盘设备名称。
7.如权利要求2所述的故障磁盘检测与修复方法,其特征在于,所述根据解析出的所述故障磁盘设备名称对每个故障磁盘进行标识包括:
在获取所述故障磁盘的位置信息后,通过点亮所述故障磁盘的磁盘灯对所述故障磁盘进行标识。
8.如权利要求7所述的故障磁盘检测与修复方法,其特征在于,所述第一预设工具包括:小型计算机系统接口通用驱动SG驱动中的lsscsi工具。
9.如权利要求8所述的故障磁盘检测与修复方法,其特征在于,所述第二预设工具包括:所述SG驱动中的sg_utils工具集。
10.如权利要求7所述的故障磁盘检测与修复方法,其特征在于,所述方法还包括:将获取的每个磁盘所在的机框内槽位的信息转换为可展示的位置信息。
11.如权利要求10所述的故障磁盘检测与修复方法,其特征在于,
所述位置信息包括以下一种或多种:所述故障磁盘设备名称、面板号、排号和列号。
12.如权利要求7所述的故障磁盘检测与修复方法,其特征在于,所述对所述每个故障磁盘进行故障检测包括:
采用第三预设工具对所述每个故障磁盘进行状态检测,判断每个故障磁盘是否存在FALL状态;
检测所述系统日志中记载的磁盘关键字中是否存在标识故障磁盘出现物理故障的关键字;以及,
对每个故障磁盘进行读写速度测试。
13.如权利要求12所述的故障磁盘检测与修复方法,其特征在于,所述第三预设工具包括:自监察分析与报告技术SMART工具。
14.如权利要求12所述的故障磁盘检测与修复方法,其特征在于,所述针对所述每个故障磁盘的故障检测结果对每个故障磁盘进行修复包括:
当检测出当前故障磁盘存在FALL状态,和/或检测出标识当前故障磁盘出现物理故障的关键字时,发出更换磁盘的提示信息;
当检测出当前故障磁盘发生读写故障,并且未检测出当前故障磁盘存在FALL状态和标识当前故障磁盘出现物理故障的关键字时,判定当前故障磁盘处于GOOD状态,并对当前故障磁盘进行格式化。
15.如权利要求1所述的故障磁盘检测与修复方法,其特征在于,所述方法还包括:在对每个故障磁盘进行定位与标识之后,在对所述每个故障磁盘进行故障检测之前,对所述每个故障磁盘所在的故障磁盘设备进行数据安全离线操作。
16.如权利要求15所述的故障磁盘检测与修复方法,其特征在于,所述方法还包括:
针对不同的分布式存储业务,通过所述磁盘设备的预留接口,对所述磁盘设备上的数据或数据副本进行所述数据安全离线操作以及重新上线操作;其中,所述预留接口提供所述不同的分布式存储业务的函数逻辑。
17.一种故障磁盘检测与修复装置,其特征在于,所述装置包括:解析模块、定位模块、故障检测模块和修复模块;
所述解析模块,用于根据系统日志解析出一个或多个故障磁盘设备名称;
所述定位模块,用于根据解析出的所述故障磁盘设备名称对每个故障磁盘进行定位与标识;
所述故障检测模块,用于分别对所述每个故障磁盘进行故障检测;
所述修复模块,用于针对所述每个故障磁盘的故障检测结果对每个故障磁盘进行修复;
其中,所述定位模块根据解析出的所述故障磁盘设备名称对每个故障磁盘进行定位包括:
通过第一预设工具获取所有磁盘设备信息,并通过第二预设工具查询所有磁盘设备中不同机框驱动下的磁盘信息列表;
将获取的所述磁盘设备信息和所述磁盘信息列表与挂载点信息进行比对,获取与每个所述故障磁盘设备名称对应的每个磁盘所在的机框内槽位的信息;
从每个磁盘所在的所述机框内槽位的信息中获取与所述故障磁盘序列号SN对应的机框内槽位的信息;
将获取的与所述故障磁盘SN对应的机框内槽位的信息作为所述故障磁盘的位置信息。
18.如权利要求17所述的故障磁盘检测与修复装置,其特征在于,所述解析模块根据系统日志解析出一个或多个故障磁盘设备名称包括:
通过每个磁盘设备上预先部署的代理AGENT对系统日志进行扫描;获取所述系统日志中记载的每个磁盘设备的信息;
将所述每个磁盘设备的信息与预先配置的磁盘错误关键字列表中的磁盘错误关键字相比较;
获取与所述磁盘错误关键字相匹配的一个或多个磁盘故障信息;
对所述系统日志进行解析,获取与所述一个或多个磁盘故障信息分别对应的故障磁盘设备名称。
19.如权利要求18所述的故障磁盘检测与修复装置,其特征在于,所述装置还包括:发送模块和生成模块;
所述发送模块,用于当磁盘发生故障时,实时向所述生成模块发送所述故障磁盘设备的状态与操作报告;
所述生成模块,用于根据所述状态与操作报告生成所述磁盘故障信息;并将所述磁盘故障信息记录在所述系统日志中。
20.如权利要求19所述的故障磁盘检测与修复装置,其特征在于,所述状态与操作报告中包括以下一种或多种:故障发生时间、所述故障磁盘设备名称、所述故障磁盘序列号SN和故障磁盘类型。
21.如权利要求20所述的故障磁盘检测与修复装置,其特征在于,所述磁盘故障信息包括:与所述故障发生时间、所述故障磁盘设备名称、所述故障磁盘SN和所述故障磁盘类型中的一种或多种信息相关的磁盘故障描述。
22.如权利要求21所述的故障磁盘检测与修复装置,其特征在于,所述解析模块对所述系统日志进行解析,获取与所述一个或多个磁盘故障信息分别对应的故障磁盘设备名称包括:对所述系统日志中包含的所述故障磁盘设备名称与所述磁盘故障信息的对应关系进行解析,根据解析出的所述对应关系获取与所述一个或多个磁盘故障信息分别对应的故障磁盘设备名称。
23.如权利要求18所述的故障磁盘检测与修复装置,其特征在于,所述定位模块根据解析出的所述故障磁盘设备名称对每个故障磁盘进行标识包括:
在获取所述故障磁盘的位置信息后,通过点亮所述故障磁盘的磁盘灯对所述故障磁盘进行标识。
24.如权利要求23所述的故障磁盘检测与修复装置,其特征在于,所述第一预设工具包括:小型计算机系统接口通用驱动SG驱动中的lsscsi工具。
25.如权利要求24所述的故障磁盘检测与修复装置,其特征在于,所述第二预设工具包括:所述SG驱动中的sg_utils工具集。
26.如权利要求23所述的故障磁盘检测与修复装置,其特征在于,所述装置还包括:转换模块;所述转换模块,用于将获取的每个磁盘所在的机框内槽位的信息转换为可展示的位置信息。
27.如权利要求26所述的故障磁盘检测与修复装置,其特征在于,
所述位置信息包括以下一种或多种:所述故障磁盘设备名称、面板号、排号和列号。
28.如权利要求23所述的故障磁盘检测与修复装置,其特征在于,所述故障检测模块对所述每个故障磁盘进行故障检测包括:
采用第三预设工具对所述每个故障磁盘进行状态检测,判断每个故障磁盘是否存在FALL状态;
检测所述系统日志中记载的磁盘关键字中是否存在标识故障磁盘出现物理故障的关键字;以及,
对每个故障磁盘进行读写速度测试。
29.如权利要求28所述的故障磁盘检测与修复装置,其特征在于,所述第三预设工具包括:自监察分析与报告技术SMART工具。
30.如权利要求29所述的故障磁盘检测与修复装置,其特征在于,所述修复模块针对所述每个故障磁盘的故障检测结果对每个故障磁盘进行修复包括:
当检测出当前故障磁盘存在FALL状态,和/或检测出标识当前故障磁盘出现物理故障的关键字时,发出更换磁盘的提示信息;
当检测出当前故障磁盘发生读写故障,并且未检测出当前故障磁盘存在FALL状态和标识当前故障磁盘出现物理故障的关键字时,判定当前故障磁盘处于GOOD状态,并对当前故障磁盘进行格式化。
31.如权利要求17所述的故障磁盘检测与修复装置,其特征在于,所述装置还包括:操作模块;所述操作模块,用于在所述定位模块对每个故障磁盘进行定位与标识之后,在所述故障检测模块对所述每个故障磁盘进行故障检测之前,对所述每个故障磁盘所在的故障磁盘设备进行数据安全离线操作。
32.如权利要求31所述的故障磁盘检测与修复装置,其特征在于,所述操作模块还用于:
针对不同的分布式存储业务,通过所述磁盘设备的预留接口,对所述磁盘设备上的数据或数据副本进行所述数据安全离线操作以及重新上线操作;其中所述预留接口提供所述不同的分布式存储业务的函数逻辑。
CN201610525555.7A 2016-07-05 2016-07-05 一种故障磁盘检测与修复方法和装置 Active CN107577545B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610525555.7A CN107577545B (zh) 2016-07-05 2016-07-05 一种故障磁盘检测与修复方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610525555.7A CN107577545B (zh) 2016-07-05 2016-07-05 一种故障磁盘检测与修复方法和装置

Publications (2)

Publication Number Publication Date
CN107577545A CN107577545A (zh) 2018-01-12
CN107577545B true CN107577545B (zh) 2021-02-02

Family

ID=61048910

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610525555.7A Active CN107577545B (zh) 2016-07-05 2016-07-05 一种故障磁盘检测与修复方法和装置

Country Status (1)

Country Link
CN (1) CN107577545B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108845760A (zh) * 2018-05-28 2018-11-20 郑州云海信息技术有限公司 一种硬盘维护方法、装置、设备及可读存储介质
CN108984357A (zh) * 2018-07-16 2018-12-11 郑州云海信息技术有限公司 一种硬盘定位方法、装置及计算机可读存储介质
CN110795276A (zh) * 2018-08-01 2020-02-14 阿里巴巴集团控股有限公司 一种存储介质的修复方法、计算机设备、存储介质
CN110888763A (zh) * 2018-09-11 2020-03-17 北京奇虎科技有限公司 磁盘故障诊断方法、装置、终端设备及计算机存储介质
CN109542708B (zh) * 2018-12-04 2022-08-02 浪潮电子信息产业股份有限公司 一种记录背板物理槽位和系统盘符对应关系的方法及组件
CN112445633A (zh) 2019-08-27 2021-03-05 中兴通讯股份有限公司 定位故障磁盘的方法及装置
CN110764949A (zh) * 2019-09-29 2020-02-07 北京浪潮数据技术有限公司 硬盘更换方法、硬盘更换装置、硬盘更换设备及存储介质
CN110989926B (zh) * 2019-11-11 2024-02-13 北京字节跳动网络技术有限公司 故障磁盘槽位定位方法、装置及电子设备
CN111813588B (zh) * 2020-06-01 2024-03-19 北京百卓网络技术有限公司 一种计算机硬盘故障定位方法、装置、设备及存储介质
CN113468009B (zh) * 2021-07-21 2024-05-24 宁畅信息产业(北京)有限公司 一种压力测试方法、装置、电子设备及存储介质
CN114048106B (zh) * 2021-11-26 2022-10-25 北京志凌海纳科技有限公司 磁盘状态检测方法、系统、介质和存储设备
CN115629906B (zh) * 2022-12-21 2023-03-21 北京铜牛信息科技股份有限公司 一种恢复云分布式存储数据故障的方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049345A (zh) * 2012-12-10 2013-04-17 北京百度网讯科技有限公司 基于异步通信机制的磁盘状态变迁检测方法及装置
CN103067485A (zh) * 2012-12-25 2013-04-24 曙光信息产业(北京)有限公司 云存储系统的磁盘监控方法
CN103207820A (zh) * 2013-02-05 2013-07-17 北京百度网讯科技有限公司 基于raid卡日志的硬盘的故障定位方法及装置
CN104484251A (zh) * 2014-12-11 2015-04-01 华为技术有限公司 一种硬盘故障的处理方法及装置
CN105045689A (zh) * 2015-06-25 2015-11-11 浪潮电子信息产业股份有限公司 一种利用raid卡批量检测硬盘监控和报警的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8112582B2 (en) * 2008-03-10 2012-02-07 Lsi Corporation Redundant array of inexpensive disks configuration using simple network management protocol

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049345A (zh) * 2012-12-10 2013-04-17 北京百度网讯科技有限公司 基于异步通信机制的磁盘状态变迁检测方法及装置
CN103067485A (zh) * 2012-12-25 2013-04-24 曙光信息产业(北京)有限公司 云存储系统的磁盘监控方法
CN103207820A (zh) * 2013-02-05 2013-07-17 北京百度网讯科技有限公司 基于raid卡日志的硬盘的故障定位方法及装置
CN104484251A (zh) * 2014-12-11 2015-04-01 华为技术有限公司 一种硬盘故障的处理方法及装置
CN105045689A (zh) * 2015-06-25 2015-11-11 浪潮电子信息产业股份有限公司 一种利用raid卡批量检测硬盘监控和报警的方法

Also Published As

Publication number Publication date
CN107577545A (zh) 2018-01-12

Similar Documents

Publication Publication Date Title
CN107577545B (zh) 一种故障磁盘检测与修复方法和装置
US6651183B1 (en) Technique for referencing failure information representative of multiple related failures in a distributed computing environment
CN109361562B (zh) 一种基于关联网络设备接入的自动化测试方法
CN106681930B (zh) 分布式自动检测应用运行异常方法及系统
US7664986B2 (en) System and method for determining fault isolation in an enterprise computing system
US7509539B1 (en) Method for determining correlation of synchronized event logs corresponding to abnormal program termination
US11789760B2 (en) Alerting, diagnosing, and transmitting computer issues to a technical resource in response to an indication of occurrence by an end user
US7487408B2 (en) Deferring error reporting for a storage device to align with staffing levels at a service center
JP6649764B2 (ja) 生産システムのための制御装置のコンフィグレーション方法、及び、生産システム
JPWO2006117833A1 (ja) 監視シミュレーション装置,方法およびそのプログラム
JP2016115352A (ja) 生産システムの監視方法及び監視システム
US7500144B2 (en) Resolving problems in a business process utilizing a situational representation of component status
US20120210176A1 (en) Method for controlling information processing apparatus and information processing apparatus
JP2000187585A (ja) 遠隔障害情報管理装置並びにその方法
CN114064510A (zh) 功能测试方法、装置、电子设备和存储介质
CN115098378A (zh) 基于异常断点分类聚合日志片段的方法、装置
CN111008113B (zh) 一种SAS-Expander测试方法和工具
CN112596982A (zh) 一种多数据源项目服务监控方法及装置
CN111929604A (zh) 一种适用于电源柜的性能检测方法及装置、系统
CN112631929A (zh) 测试用例生成方法、装置、存储介质及电子设备
US7529976B2 (en) Multiple subsystem error reporting
CN109324951A (zh) 服务器中硬盘信息的获取方法和装置
CN107438259B (zh) 一种网管系统性能模块故障的定位方法
CN114942623B (zh) 控制器的测试方法、装置、车辆及计算机可读存储介质
CN114253846B (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
GR01 Patent grant
GR01 Patent grant