一种快速有效进行系统硬盘失效分析及修复的方法技术方案

技术编号:12577285 阅读:80 留言:0更新日期:2015-12-23 16:59
本发明专利技术公开了一种快速有效进行系统硬盘失效分析及修复的方法,属于计算机技术领域,本发明专利技术要解决的技术问题为如何通过异常后检查或者SMART check 后检查硬盘健康状态以及如何根据SMART 结果进行对应的操作后,判断失效是否为真正的失效,并对子系统进行修复。技术方案为:步骤如下:(1)Linux下查看硬盘是否支持SMART;(2)根据步骤(1)的结果,如果支持,直接执行步骤(4);如果不支持SMART,通过指令:smartctl --smart=on--offlineauto=on--saveauto=on/dev/sdxx。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体地说是。
技术介绍
存储子系统失效一直以来是影响我们系统厂商的一个大问题,从部件厂商反馈数据来看,至少有60%以上的失效是可以避免的或者说是可以做改善后减少失效数据的,在这种背景下为提高硬盘利用率,减少数据丢失,急需一种快速有效的改善硬盘失效数据和提高硬盘利用率的方法。众所周知,硬盘作为一个部件,对用户留有SMART信息接口和硬盘协议都遵守SATA Spec协议或者SAS Spec协议。如何通过该协议读出硬盘出现了什么异常,或者该异常问题出现在什么地方、如何通过异常后检查或者SMART check后检查硬盘健康状态以及如何根据SMART结果进行对应的操作后,判断失效是否为真正的失效,并对子系统进行修复是目前急需解决的技术问题。
技术实现思路
本专利技术的技术任务是针对以上不足之处,提供一种结构简单、生产成本低、易于加工以及判断硬盘是否真正的失效,并且对硬盘或者存储子系统进行修复的快速有效进行系统硬盘失效分析及修复的方法。本专利技术解决其技术问题所采用的技术方案是:,步骤如下: (1)Linux下查看硬盘是否支持SMART ; (2)根据步骤(I)的结果,如果支持,直接执行步骤(4);如果不支持SMART,通过指令:smartctl —smart=on —offlineauto=on —saveauto=on /dev/sdxx ; (3 )经过步骤(2 )便可打开SMART支持; (4)检测硬盘是否失效执行指令,smartctl-A /dev/sdxx ; (5)经过步骤(4)便可查看该硬盘的所有SMART信息,可以读出SMART5和197项目分别是G--List和Pending List使用这两项判断硬盘状态,如果都PASS,表示硬盘健康,可以继续使用,如果有pending list需要对pending List进行处理进行坏的Sector修复; (6)如果步骤(5)出现197pending List后,使用以下指令进行硬盘修复:执行sd_raw ID指令进行修复,ID为SMART信息里出现Pending_Sector的地址;或者使用修复命令:hdparm —yes-1-know-what-1-am-doing —write-sector123456654 /dev/sdxD本专利技术的和现有技术相比,具有以下有益效果:本专利技术通过SATA Spec协议或者SAS Spec协议读出硬盘出现了什么异常,或者该异常问题出现在什么地方。可以通过异常后检查或者SMART check后检查硬盘健康状态。根据SMART结果进行对应的操作后,判断失效是否为真正的失效,并对子系统进行修复。因而,具有很好的推广使用价值。【具体实施方式】下面结合具体实施例对本专利技术作进一步说明。实施例1 ,步骤如下: (1)Linux下查看硬盘是否支持SMART; smartctl -1 /dev/sdx x为具体的盘符,返回值为enable证明支持SMART ; (2)根据步骤(I)的结果,如果支持,直接执行步骤(4);如果不支持SMART,通过指令:smartctl —smart=on —offlineauto=on —saveauto=on /dev/sdxx ; (3 )经过步骤(2 )便可打开SMART支持; (4)检测硬盘是否失效执行指令,smartctl-A /dev/sdxx ;(5)经过步骤(4)便可查看该硬盘的所有SMART信息,可以读出SMART5和197项目分别是G--List和Pending List使用这两项判断硬盘状态,如果都PASS,表示硬盘健康,可以继续使用,如果有pending list需要对pending List进行处理进行坏的Sector修复; (6)如果步骤(5)出现197pending List后,使用以下指令进行硬盘修复:执行sd—raw ID指令进行修复,ID为SMART信息里出现Pending—Sector的地址。说明:123456654是具体的pending sector,如是4K扇区的,会打印出来8个setctor,需要修复8个sector ;sdx中x替换为实际执行测试的盘符 其中,步骤(5)查看SMART信息也可以使用如下的脚本实现: if ; then# 判断 SATA 硬盘smartctl—all—device=sat+megaraid,$id/dev/$sd>>$HDD—Dir/raid/raid—logelif ; then # 判断 SAS 硬盘smartctl —all —device=megaraid, $id /dev/$sd>>$HDD_Dir/raid/raid_logelseecho -e ,,wrong PD Type\n〃 # 输出 pending sectorfidone }funct1nhbainfo () {if ;thenmv $HDD—Dir/hba $HDD—Dir/hba—beforefimkdir -p $HDD—Dir/hbadate 〃+%m_%d %H:%M:%S〃 >>$HDD_Dir/hba/hbaresultdate 〃+%m-%d %H:%M:%S" ?$HDD_Dir/hba/hbalogfori in 'ls /dev | grep ?, | sed,s///g,| uniq'dosmartctl —all /dev/$i>>$HDD_Dir/hba/hbalogecho $i>>$HDD_Dir/hba/hbaresult smartctl —all /dev/$i | grep ,,SMART Error Log Vers1n,, _A# 输出 log I>>$HDD_Dir/hba/hbaresultdone 实施例2 ,步骤如下: (1)Linux下查看硬盘是否支持SMART; smartctl -1 /dev/sdx x为具体的盘符,返回值为enable证明支持SMART ; (2)根据步骤(I)的结果,如果支持,直接执行步骤(4);如果不支持SMART,通过指令:smartctl —smart=on —offlineauto=on —saveauto=on /dev/sdxx ; (3 )经过步骤(2 )便可打开SMART支持; (4)检测硬盘是否失效执行指令,smartctl-A /dev/sdxx ;(5)经过步骤(4)便可查看该硬盘的所有SMART信息,可以读出SMART5和197项目分别是G--List和Pending List使用这两项判断硬盘状态,如果都PASS,表示硬盘健康,可以继续使用,如果有pending list需要对pending List进行处理进行坏的Sector修复; (6)如果步骤(5)出现197pending List后,使用修复命令:hdparm—yes-1-know-what-1-am-doing —write-sectorI23456654 /dev/sdx0说明:123456654是本文档来自技高网...

【技术保护点】
一种快速有效进行系统硬盘失效分析及修复的方法,其特征在于:步骤如下:(1)Linux下查看硬盘是否支持SMART;(2)根据步骤(1)的结果,如果支持,直接执行步骤(4);如果不支持SMART,通过指令:smartctl ‑‑smart=on ‑‑offlineauto=on ‑‑saveauto=on /dev/sdxx;(3)经过步骤(2)便可打开SMART支持;(4)检测硬盘是否失效执行指令, smartctl ‑A /dev/sdxx;(5)经过步骤(4)便可查看该硬盘的所有SMART信息,可以读出SMART 5 和 197 项目分别是 G——List和Pending List使用这两项判断硬盘状态,如果都PASS,表示 硬盘健康,可以继续使用,如果有pending list 需要对pending  List 进行处理进行坏的Sector 修复;(6)如果步骤(5)出现197 pending  List后,使用以下指令进行硬盘修复:执行sd_raw ID 指令进行修复, ID为SMART信息里出现Pending_Sector的地址;或者使用修复命令:hdparm ‑‑yes‑i‑know‑what‑i‑am‑doing ‑‑write‑sector123456654 /dev/sdx。...

【技术特征摘要】

【专利技术属性】
技术研发人员:韩琳琳
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1