CN102279775B - 一种Linux系统下的硬盘故障处理方法 - Google Patents
一种Linux系统下的硬盘故障处理方法 Download PDFInfo
- Publication number
- CN102279775B CN102279775B CN 201110237833 CN201110237833A CN102279775B CN 102279775 B CN102279775 B CN 102279775B CN 201110237833 CN201110237833 CN 201110237833 CN 201110237833 A CN201110237833 A CN 201110237833A CN 102279775 B CN102279775 B CN 102279775B
- Authority
- CN
- China
- Prior art keywords
- hard disk
- file
- failure
- processing module
- warning message
- 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.)
- Expired - Fee Related
Links
Images
Abstract
本发明提供一种Linux系统下的硬盘故障处理方法,包括以下步骤:步骤1:配置文件;步骤2:周期性对硬盘进行检测,并将结果保存在硬盘日志文件中;步骤3:提取硬盘状态参数;步骤4:根据硬盘状态参数判断硬盘是否发生或即将发生故障;若是则检测模块发出故障事件给处理模块,并转到步骤5,否则转到步骤2继续执行;步骤5:处理模块根据检测模块传递的故障事件类型,查找相应的故障处理方案;步骤6:通过故障处理方案执行故障处理,完成后退出处理模块,转到步骤2继续执行。本发明方法中用户可以根据自身需要灵活定制,并且在检测到硬盘发生或即将发生故障时,向用户报警、修复硬盘坏道或备份硬盘数据,提高用户使用的灵活性和硬盘数据的安全性。
Description
【技术领域】
本发明属于计算机领域,涉及一种计算机硬件故障处理方法,特别涉及是一种Linux系统下的硬盘故障处理方法。
【背景技术】
硬盘是计算机系统的重要组成部分,随着信息化的不断发展,硬盘作为存储数据的重要媒介,在各行业中发挥着越来越重要的作用。如电信、金融等行业其后台服务器都需要保存大量数据在硬盘中,若这些硬盘发生故障,造成数据丢失,产生的损失往往难以计数。
计算机硬盘故障通常可以分为两种基本类型:不可预测故障和可预测故障。不可预测的故障的产生因素是多方面的,如电流过高、硬盘使用不当、计算机突然断电或者周围环境影响等,这类故障往往发生于瞬间,使用户难以做出有效防范;可预测故障指由于硬盘使用而产生的机械磨损及硬盘存储表面逐渐退化而导致的故障,通常是一个长期渐变的过程,通过S.M.A.R.T技术可以及时检测到这些故障。
S.M.A.R.T是由硬盘生产商所制定的一个工业标准,其全称为“Self-Monitoring Analysis and Reporting Technology,自我监测、分析及报告技术”,主要用于保障硬盘的数据安全,并提供用户查看硬盘状态信息的接口。支持S.M.A.R.T技术的硬盘都可以通过操作系统相应的监测命令或支持的监测软件获取当前硬盘的类型、容量、温度,错误日志等信息。在遵循S.M.A.R.T标准的基础上,不同硬盘厂商也会添加一些附加信息或功能在硬盘中。不同的操作系统对S.M.A.R.T技术的支持及显示方式也不尽相同。
目前,对普通硬盘而言,S.M.A.R.T技术能够做到在硬盘发生或将要发生故障时对用户发出警告。但是这些警告规则都是由硬盘生产者定制,用户难以根据自身需要修改,并且这些警告信息通常都是在屏幕上向用户进行提示,对一些无人看守、常年运行的服务器而言,用户往往难以及时发现这些提示信息,并在发出警告信息时对故障硬盘的数据进行备份或转移。一旦硬盘失效,往往造成业务中断或数据丢失,将给用户带来巨大损失。
【发明内容】
本发明的目的在于提供一种Linux系统下的硬盘故障处理方法,用户可以根据自身需要灵活定制,并且在检测到硬盘发生(或即将发生)故障时,向用户报警、修复硬盘坏道或备份硬盘数据,提高用户使用的灵活性和硬盘数据的安全性。
为了实现上述目的,本发明采用如下技术方案:
一种Linux系统下的硬盘故障处理方法,包括以下步骤:
步骤1:配置文件设置硬盘标识、受保护文件路径、备份文件存储路径、报警阈值、检测周期和接收警告信息的邮箱;
步骤2:检测模块读取配置文件并获取配置文件中配置的参数,依据检测周期周期性执行系统命令对硬盘进行检测,并将每次检测结果保存在硬盘日志文件中;
步骤3:检测模块读取硬盘日志文件,提取相应信息作为硬盘状态参数保存;
步骤4:检测模块根据硬盘状态参数与配置文件中配置的报警阈值进行对比,判断硬盘是否发生或即将发生故障;若判断为硬盘发生或即将发生故障,检测模块发出故障事件给处理模块,并转到步骤5触发处理模块执行;否则转到步骤2继续执行;
步骤5:处理模块根据检测模块传递的故障事件类型,查找相应的故障处理方案;
步骤6:通过故障处理方案执行故障处理,完成后退出处理模块,转到步骤2继续执行。
步骤1中所述报警阈值包括报警温度和可容忍未纠正错误率。
步骤4中,若硬盘温度高于用户设置的报警温度,检测模块则向处理模块发送温度过高事件;
若硬盘可靠状态为FAILURE,检测模块则向处理模块发送预测失效事件;
若硬盘未纠正错误率高于用户设置的可容忍未纠正错误率,检测模块则向处理模块发送错误率高事件。
步骤5中,温度过高事件处理方案为:处理模块将警告信息预先保存在一文件中,调用系统命令将警告信息以邮件形式发送给用户步骤1中设置的接收报警信息的邮箱中;
预测失效事件处理方案为:处理模块将警告信息预先保存在一文件中,调用系统命令将警告信息以邮件形式发送给用户步骤1中设置的接收报警信息的邮箱中,并且根据配置文件参数执行系统命令将受保护文件路径目录下的文件备份到备份文件存储路径文件中。
错误率高事件处理方案为:处理模块将警告信息预先保存在一文件中,调用系统命令将警告信息以邮件形式发送给用户步骤1设置的接收报警信息的邮箱中,然后根据配置文件参数执行系统命令对用户设置的硬盘标识进行磁盘坏道修复。
检测模块利用开源工具smartmontools提供的命令smartctl来生成硬盘的日志文件,该文件将包含被检测硬盘的型号、容量、温度、硬盘读写错误以及硬盘自检状态信息。
所述一种Linux系统下的硬盘故障处理方法中被检测的硬盘为支持自我监测、分析及报告技术的硬盘。
与现有技术相比,本发明具有以下有益效果:本发明一种Linux系统下的硬盘故障处理方法,主要由检测模块和处理模块实现;检测模块周期性的检测硬盘状态,并将其保存为硬盘日志文件,通过对该日志文件的分析,提取出硬盘当前的状态信息,对硬盘状态进行判断,判断硬盘是否发生(或即将发生)故障;当硬盘状态达到报警条件后,将调用处理模块针对不同故障类型做出相应处理措施;该方法适用于支持S.M.A.R.T技术的硬盘,主要用于处理硬盘温度过高、预测性失效及由磁盘坏道而导致的读写错误率高的问题,通过对用户的警告、数据备份及磁盘坏道修复操作,提高了硬盘的可靠性以及硬盘数据的安全性。
【附图说明】
图1为本发明一种Linux系统下硬盘故障处理方法具体执行时的示意图;
其中:①为检测模块读取配置文件并获取关键参数;②为检测模块通过操作系统命令接口执行检测程序;③为操作系统检测硬盘;④为操作系统将检测结果保存在硬盘日志文件中;⑤为检测模块读取硬盘日志文件并获取相应参数;⑥为检测模块通过诊断规则判断硬盘是否发生(或即将发生)故障,以决定是否激活处理模块;⑦为检测模块发送故障事件给处理模块;⑧为处理模块通过操作系统命令接口执行处理程序;⑨为操作系统向用户发送警告信息;⑩为操作系统备份硬盘数据或执行坏道修复程序;
图2为本发明一种Linux系统下硬盘故障处理方法的流程示意图。
【具体实施方式】
下面结合附图对本发明做进一步详细描述。
本发明实现了一种Linux系统下的硬盘故障处理方法,方便用户根据自身需求进行定制,并可在发生(或即将发生)故障时向用户发出警告、备份硬盘数据或进行硬盘坏道修复。
请参阅图1及图2所示,以下为发明人给出的一种具体实施例:
1、用户填写配置文件,其形式如下:
2、检测模块读取配置文件信息,并将其并将其保存在config_data结构中,该结构定义如下:
3、检测模块根据检测周期和硬盘标识每隔3000秒执行“smartctl-a/dev/sda>disk.log”命令对硬盘进行检测,并将检测结果保存在硬盘日志文件disk.log中。
4、检测模块读取硬盘日志文件,并将从中获取的磁盘信息封装到disk_status结构中,该结构定义如下:
5、检测模块判断硬盘是否发生(或即将发生)故障,其方法如下:
a)、若硬盘温度高于用户设置的报警温度TEMP,则向处理模块发送温度过高事件;
b)、若硬盘可靠状态为FAILURE,则向处理模块发送预测失效事件;
c)、若硬盘未纠正错误率高于用户设置的可容忍未纠正错误率RATE,则向处理模块发送错误率高事件。
若通过诊断没有触发相应的故障事件,则检测模块继续每隔3000秒对硬盘进行检测,否则触发处理模块进行故障处理。
6、处理模块接收到故障事件,查找相应故障的处理方案,其中故障事件及处理方案定义如下:
7、根据故障处理方案进行处理,其处理方案具体如下:
a)温度过高处理方案:将警告信息预先保存在Temp.c文件中,调用系统命令“mail-s“Disk Waring”userxjtu.edu.cn<Temp.c”将警告信息以主题为“Disk Waring”的邮件形式发送给用户设置的接收报警信息的邮箱userxjtu.edu.cn中。
b)预测失效处理方案:将警告信息预先保存在Fail.c文件中,调用系统命令“mail-s“Disk Waring”userxjtu.edu.cn<Fail.c”将警告信息以主题为“Disk Waring”的邮件形式发送给用户设置的接收报警信息的邮箱userxjtu.edu.cn中,并且根据配置文件参数执行系统命令“dump-0-f/dev/sdb/backup/usr/src”将/usr/src目录下的文件备份到/dev/sdb/backup文件中,其中利用dump命令生成的备份文件backup可以利用restore命令将其解压缩还原。
c)错误率高处理方案:将警告信息预先保存在Rate.c文件中,调用系统命令“mail-s“Disk Waring”userxjtu.edu.cn<Rate.c”将警告信息以主题为“Disk Waring”的邮件形式发送给用户设置的接收报警信息的邮箱userxjtu.edu.cn中,然后根据配置文件参数执行系统命令“fsck-a/dev/sda”对用户设置的硬盘标识/dev/sda进行磁盘坏道修复。
当处理结束后,处理模块退出,由检测模块继续执行,每隔3000秒对硬盘进行检测。
通过上述实例可以看出本发明提供的Linux系统下硬盘故障处理方法,用户可根据自身需要设置硬盘报警温度、可容忍未纠正错误率、备份文件目录(也可是整个硬盘),以及指定备份数据的存储路径等信息。备份数据的存储路径可以是当前硬盘的其他目录、系统自带的专门用来备份的硬盘,或者系统能访问到并具有读写权限的远程硬盘。在检测到硬盘发生(或即将发生)故障时,根据诊断规则,能够及时对用户发出警告、备份硬盘数据或者进行硬盘坏道修复。通过该硬盘故障处理方法极大地提高了用户数据的安全性,并且用户可以很方便的根据自身需要灵活定制。
Claims (1)
1.一种Linux系统下的硬盘故障处理方法,其特征在于,包括以下步骤:
步骤1:配置文件设置硬盘标识、受保护文件路径、备份文件存储路径、报警阈值、检测周期和接收警告信息的邮箱;
步骤2:检测模块读取配置文件并获取配置文件中配置的参数,依据检测周期周期性执行系统命令对硬盘进行检测,并将每次检测结果保存在硬盘日志文件中;
步骤3:检测模块读取硬盘日志文件,提取相应信息作为硬盘状态参数保存;
步骤4:检测模块根据硬盘状态参数与配置文件中配置的报警阈值进行对比,判断硬盘是否发生或即将发生故障;若判断为硬盘发生或即将发生故障,检测模块发出故障事件给处理模块,并转到步骤5触发处理模块执行;否则转到步骤2继续执行;
步骤5:处理模块根据检测模块传递的故障事件类型,查找相应的故障处理方案;
步骤6:通过故障处理方案执行故障处理,完成后退出处理模块,转到步骤2继续执行;
步骤1中所述报警阈值包括报警温度和可容忍未纠正错误率;步骤4中,若硬盘温度高于用户设置的报警温度,检测模块则向处理模块发送温度过高事件;
若硬盘可靠状态为FAILURE,检测模块则向处理模块发送预测失效事件;
若硬盘未纠正错误率高于用户设置的可容忍未纠正错误率,检测模块则向处理模块发送错误率高事件;
步骤5中,温度过高事件处理方案为:处理模块将警告信息预先保存在一文件中,调用系统命令将警告信息以邮件形式发送给用户步骤1中设置的接收报警信息的邮箱中;
预测失效事件处理方案为:处理模块将警告信息预先保存在一文件中,调用系统命令将警告信息以邮件形式发送给用户步骤1中设置的接收报警信息的邮箱中,并且根据配置文件参数执行系统命令将受保护文件路径目录下的文件备份到备份文件存储路径下指定的文件中;
错误率高事件处理方案为:处理模块将警告信息预先保存在一文件中,调用系统命令将警告信息以邮件形式发送给用户步骤1设置的接收报警信息的邮箱中,然后根据配置文件参数执行系统命令对用户设置的硬盘标识进行磁盘坏道修复;
检测模块利用开源工具smartmontools提供的命令smartctl来生成硬盘的日志文件,该文件将包含被检测硬盘的型号、容量、温度、硬盘读写错误以及硬盘自检状态信息;
被检测的硬盘为支持自我监测、分析及报告技术的硬盘。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110237833 CN102279775B (zh) | 2011-08-19 | 2011-08-19 | 一种Linux系统下的硬盘故障处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110237833 CN102279775B (zh) | 2011-08-19 | 2011-08-19 | 一种Linux系统下的硬盘故障处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102279775A CN102279775A (zh) | 2011-12-14 |
CN102279775B true CN102279775B (zh) | 2013-04-17 |
Family
ID=45105237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110237833 Expired - Fee Related CN102279775B (zh) | 2011-08-19 | 2011-08-19 | 一种Linux系统下的硬盘故障处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102279775B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103390429A (zh) * | 2013-07-29 | 2013-11-13 | 华为技术有限公司 | 一种硬盘的在线检测方法及服务器 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103197995B (zh) * | 2012-01-04 | 2016-06-15 | 百度在线网络技术(北京)有限公司 | 硬盘故障检测方法及装置 |
CN103019885B (zh) * | 2012-11-26 | 2015-05-27 | 大唐移动通信设备有限公司 | 基于嵌入式Linux的硬盘坏道监测方法及系统 |
US9361222B2 (en) * | 2013-08-07 | 2016-06-07 | SMART Storage Systems, Inc. | Electronic system with storage drive life estimation mechanism and method of operation thereof |
CN103700387B (zh) * | 2013-09-18 | 2016-07-27 | 福建鼎恩协创电子科技有限公司 | 硬盘坏道监测修复装置及方法 |
CN103955417A (zh) * | 2014-04-02 | 2014-07-30 | 江门市未来之星网络科技有限公司 | 一种电脑硬盘数据检测设备及方法 |
CN103970642A (zh) * | 2014-05-21 | 2014-08-06 | 浪潮电子信息产业股份有限公司 | 一种Linux服务器硬盘在线状态的监控方法 |
CN104794027B (zh) * | 2015-04-30 | 2017-12-08 | 四川效率源信息安全技术股份有限公司 | 一种参数识别错误的修复方法 |
CN104866411A (zh) * | 2015-06-08 | 2015-08-26 | 北京奇虎科技有限公司 | 固态硬盘的监测及分析方法及装置 |
CN105068903A (zh) * | 2015-08-13 | 2015-11-18 | 广州慧存电子科技有限公司 | 一种硬盘检测修复系统和装置 |
CN105183607A (zh) * | 2015-08-13 | 2015-12-23 | 浪潮(北京)电子信息产业有限公司 | 一种磁盘温度监控方法与系统 |
CN105141478A (zh) * | 2015-09-02 | 2015-12-09 | 浪潮电子信息产业股份有限公司 | 一种linux服务器sas卡硬盘状态的监控方法 |
CN106557389B (zh) * | 2015-09-29 | 2019-03-08 | 成都华为技术有限公司 | 一种慢盘检测方法和装置 |
CN106980562A (zh) * | 2016-01-18 | 2017-07-25 | 中兴通讯股份有限公司 | 一种硬盘监控方法及装置 |
CN106383774A (zh) * | 2016-09-22 | 2017-02-08 | 郑州云海信息技术有限公司 | 一种存储系统的告警推送方法及装置 |
CN106844145A (zh) * | 2016-12-29 | 2017-06-13 | 北京奇虎科技有限公司 | 一种服务器硬件故障预警方法和装置 |
CN106951354B (zh) * | 2017-03-20 | 2020-08-18 | 湖南磐石科技有限公司 | 固态硬盘及其故障检测装置和方法 |
CN108737469A (zh) * | 2017-04-20 | 2018-11-02 | 北京雷石天地电子技术有限公司 | 一种硬盘参数监测及反馈的方法和装置 |
CN107451003B (zh) * | 2017-06-30 | 2021-03-12 | 苏州浪潮智能科技有限公司 | 一种存储系统的测试方法及装置 |
CN107480022A (zh) * | 2017-08-22 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种Storage RACK系统硬盘自动扫描检测的测试方法 |
CN107332722A (zh) * | 2017-08-31 | 2017-11-07 | 郑州云海信息技术有限公司 | 一种故障信息的排除方法及系统 |
CN108984119A (zh) * | 2018-06-28 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种异步获取raid卡信息的方法、装置及受控终端 |
CN109032891A (zh) * | 2018-07-23 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种云计算服务器硬盘故障预测方法及装置 |
CN109145056A (zh) * | 2018-09-07 | 2019-01-04 | 郑州云海信息技术有限公司 | 一种数据缩容的方法、装置和计算机可读存储介质 |
CN110008189A (zh) * | 2019-04-11 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种文件系统错误的自动上报方法、装置及设备 |
CN110415756B (zh) * | 2019-07-31 | 2021-06-08 | 东莞记忆存储科技有限公司 | 一种测试ssd标签信息的方法及其装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6882489B1 (en) * | 2000-08-15 | 2005-04-19 | Maxtor Corporation | Dynamic off-track detector |
CN101201762A (zh) * | 2006-12-13 | 2008-06-18 | 株式会社东芝 | 检测异常征候的装置和方法 |
CN101833497A (zh) * | 2010-03-30 | 2010-09-15 | 山东高效能服务器和存储研究院 | 一种基于专家系统方法的计算机故障管理系统 |
CN101872641A (zh) * | 2009-12-28 | 2010-10-27 | 杭州海康威视数字技术股份有限公司 | 硬盘录像机中的硬盘失效预警方法及装置 |
-
2011
- 2011-08-19 CN CN 201110237833 patent/CN102279775B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6882489B1 (en) * | 2000-08-15 | 2005-04-19 | Maxtor Corporation | Dynamic off-track detector |
CN101201762A (zh) * | 2006-12-13 | 2008-06-18 | 株式会社东芝 | 检测异常征候的装置和方法 |
CN101872641A (zh) * | 2009-12-28 | 2010-10-27 | 杭州海康威视数字技术股份有限公司 | 硬盘录像机中的硬盘失效预警方法及装置 |
CN101833497A (zh) * | 2010-03-30 | 2010-09-15 | 山东高效能服务器和存储研究院 | 一种基于专家系统方法的计算机故障管理系统 |
Non-Patent Citations (2)
Title |
---|
一种基于S.M.A.R.T的保障RAID数据高可靠性的方法;刘景宁 等;《计算机工程与科学》;20071231;第29卷(第5期);全文 * |
刘景宁 等.一种基于S.M.A.R.T的保障RAID数据高可靠性的方法.《计算机工程与科学》.2007,第29卷(第5期),全文. |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103390429A (zh) * | 2013-07-29 | 2013-11-13 | 华为技术有限公司 | 一种硬盘的在线检测方法及服务器 |
CN103390429B (zh) * | 2013-07-29 | 2016-07-27 | 华为技术有限公司 | 一种硬盘的在线检测方法及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN102279775A (zh) | 2011-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102279775B (zh) | 一种Linux系统下的硬盘故障处理方法 | |
CN107179957B (zh) | 物理机故障分类处理方法、装置和虚拟机恢复方法、系统 | |
CN103019885B (zh) | 基于嵌入式Linux的硬盘坏道监测方法及系统 | |
CN100426247C (zh) | 数据恢复方法 | |
CN103207820B (zh) | 基于raid卡日志的硬盘的故障定位方法及装置 | |
EP1779244A1 (en) | System and method to detect errors and predict potential failures | |
CN112732477B (zh) | 一种带外自检故障隔离的方法 | |
CN102135925B (zh) | 用于检测错误检查和纠正内存的方法和装置 | |
CN104320308A (zh) | 一种服务器异常检测的方法及装置 | |
CN102521115A (zh) | 一种基于硬盘性能的数据资源预警方法 | |
US20160133338A1 (en) | Self-testing data storage devices and methods | |
CN104794041A (zh) | 一种Linux服务器阵列卡活动状态的监控方法及其装置 | |
CN108958965A (zh) | 一种bmc监控可恢复ecc错误的方法、装置及设备 | |
CN102662787A (zh) | 一种保护系统盘raid的方法 | |
CN114758714A (zh) | 一种硬盘故障预测方法、装置、电子设备及存储介质 | |
CN103049345A (zh) | 基于异步通信机制的磁盘状态变迁检测方法及装置 | |
CN105224416B (zh) | 修复方法及相关电子装置 | |
US20200089558A1 (en) | Method of determining potential anomaly of memory device | |
CN102520223B (zh) | 用于电能表的软件抗干扰方法 | |
US8451019B2 (en) | Method of detecting failure and monitoring apparatus | |
US7600151B2 (en) | RAID capacity expansion interruption recovery handling method and system | |
CN110968456B (zh) | 分布式存储系统中故障磁盘的处理方法及装置 | |
CN104020963A (zh) | 一种防止误判硬盘读写错误的方法和装置 | |
CN115061641B (zh) | 一种磁盘故障处理方法、装置、设备以及存储介质 | |
CN104616153A (zh) | 状态一致性监控方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130417 Termination date: 20150819 |
|
EXPY | Termination of patent right or utility model |