18000中BST故障修复

发布时间:  2015-10-21 浏览次数:  203 下载次数:  0
问题描述

某客户局点18000设备巡检过程中出现4块硬盘存在坏块标记,需确认是否需要更换硬盘来进行解决,巡检结果如图:

告警信息

当前存储暂无告警,但存在数据丢失风险,客户强烈要求更换硬盘或解决此问题,需在确保数据安全的前提下进行分析并修复故障

处理过程

再次对设备进行巡检,确定问题是否必现

1.进入developer模式下的debug模式

cid:image002.png@01D0D5C0.4F369A40

 

2.debug模式下输入以下查询

disklog query -p 1 -d 574

disklog query -p 1 -d 591

disklog query -p 1 -d 592

disklog query -p 1 -d 597

 

3.收集回显

 

因为有四个坏道,需要确认坏道的具体位置,是否在同一条带上。坏道原因还需要硬盘SMART信息来分析。

根因

1.       通过日志可以确认,硬盘(DAE010, slot 7)有一个物理坏道,该坏道没有被写过数据

 

2.       硬盘后台扫描时,扫描到该坏道时标BST,再到其他条带上读数据修复(RAID策略为RAID10 4D);由于未写过数据,物理空间未初始化,dif校验失败,将四块硬盘都标上了逻辑的坏道。

 

3.       由此,该硬盘上有一个坏道没有影响,待数据写到该地址时,则会修复。

 

4.       处于客户数据安全考虑,采用对物理出现坏道的硬盘进行更换,修复条带的方式来解决此问题。

 

解决方案

1.       进入developer模式

cid:image002.png@01D0D5C0.4F369A40

 

2.       developer模式下执行以下命令

change system media_scan status=stop

 

3.       进入debug模式后,执行以下命令

spa zoneckgextnum -p 1 -z 0x4002

 

4.       debug模式下执行以下命令

disklog delete -p 1 -d 574 -t 0 -b 1474632 -l 8

disklog delete -p 1 -d 591 -t 0 -b 426056 -l 8

disklog delete -p 1 -d 592 -t 0 -b 1343560 -l 8

disklog delete -p 1 -d 597 -t 0 -b 557128 -l 8

 

使用disklog show命令确认是否执行成功,回显“There are: 0 disk have log”代表执行成功,这四条命令必须在几秒钟之内全部执行

 

5.       采用预拷贝方式换盘

 

6.       退出到developer模式,执行以下命令启后台扫描

change system media_scan status=start

建议与总结

遇到多块硬盘故障的时候切莫盲目更换硬盘,有的时候更换掉硬盘也不一定能够解决问题。还是应该先收集日志信息,了解故障时间点前后都发生了什么,这样才能够对故障制定有针对性的解决方案,后续应在日志分析上面进行提高

END