起因



--------------------------------------------------------------------------------
前两天盘阵的一个通道突然失效,可恰巧这个通道上存贮着单位的主要数据,给领导汇报时,领导的脸色都变了,呵呵,也吓得我不轻。

这个失效的通道有12块盘,做了RAID6,本来允许2块坏盘,但不幸的是坏了3块;当然这3块盘不是同时坏掉的,问题在于浪潮的这款控制器(300G2)告警机制设计有问题,硬盘的状态灯深藏在面板的2个小孔后面,而这2个小孔早就被灰尘掩没了。……所以直到第3块坏盘出现,通道变成“不可用”时,我们才发现问题,而这时,事情基本上已经无法挽回了。

这些丢失的数据太重要了,如果真的无法恢复,单位将近2年的数字化工作、近40万元的加工经费所产生的成果将全部打水漂。浪潮的工程师在帮助我们查明了故障,给总部的研发和技术支持中心打了几个咨询电话后,摊开双手表示无能为力。

解决方案



--------------------------------------------------------------------------------
我只好自己来做这件事。

方案是这样的:
1、定位和找到失效通道上最后出故障的那块硬盘;
2、设法读出这块硬盘上的数据,并将它克隆到一块同型号的新硬盘上去;
3、将克隆好的硬盘插回盘阵上的失效通道中;
4、重启盘阵,尝试让失效的通道恢复工作;
5.1、如果失效通道恢复读写功能,则继续插入一块同型号新硬盘让它重建RAID,以防止新故障发生,本次数据恢复工作完成;
5.2、如果失效通道仍不能恢复读写功能,则可以确定数据无法恢复。
关键在于第2步,故障盘在盘阵中的故障状态是“missing”,如果故障盘的故障类型是物理故障(接口、电路、读写头、盘片),则处理起来就复杂得多。

修复过程



--------------------------------------------------------------------------------
说实话,尽管有了方案,还要看我的运气如何:
1、从盘阵面板上翻查事件日志,找到了最晚出问题的那块硬盘的编号,把损坏的那块盘从盘阵上抽出做好标记;
2、从4块备用硬盘中取出一块,与故障盘一起连接到一台PC上,没敢连接PC上原来的硬盘,怕PC上原来的OS在识别新加载硬盘的过程中在上面乱写东西,破坏我到珍贵的数据,呵呵;
3、制作一张HD clone启动光盘,用这张光盘启动PC;硬盘对拷软件的选择很重要,ghost一类的软件是用不成的,只能选扇区对扇区拷贝的那种。
4、进行硬盘克隆;选对源盘和目的盘很重要,这一点要反复确认,弄错就瓜了。确认拷贝“开始”后,直到进度条上有了进度,我才长长松了一口气:源盘是可读的。按时下班,第二天上班看到拷贝已经完成,软件界面上显示拷贝工作用了10个小时左右(1T容量,SATA2接口),有接近3000个读错误计数,这让我有点担心恢复工作能否完成;管不了那么多了,死马当活马医罢!
5、将克隆好的硬盘插回盘阵中故障盘原来所在的槽位;
6、重启盘阵后,重启存贮服务器

修复结果



--------------------------------------------------------------------------------
丢失的文件系统重现了,数据基本完好!哈哈……
确认数据已经恢复后,火速用2块新硬盘将通道中的2块坏盘替换下来,从阵列控制器面板上看到这个通道识别了新硬盘并正在进行rebuilding,终于可以松一口气了。

今天在对恢复后的数据进行检查和检验时,发现恢复后的文件系统中仍然有错误,所幸影响很小。ZFS自身提供的工具无法完全修复这些错误,现在正在将恢复后的数据从发生故障的通道中导出,导出后重建这个通道中的ZFS文件系统应该可以解决这些问题。
起因



--------------------------------------------------------------------------------
前两天盘阵的一个通道突然失效,可恰巧这个通道上存贮着单位的主要数据,给领导汇报时,领导的脸色都变了,呵呵,也吓得我不轻。

这个失效的通道有12块盘,做了RAID6,本来允许2块坏盘,但不幸的是坏了3块;当然这3块盘不是同时坏掉的,问题在于浪潮的这款控制器(300G2)告警机制设计有问题,硬盘的状态灯深藏在面板的2个小孔后面,而这2个小孔早就被灰尘掩没了。……所以直到第3块坏盘出现,通道变成“不可用”时,我们才发现问题,而这时,事情基本上已经无法挽回了。

这些丢失的数据太重要了,如果真的无法恢复,单位将近2年的数字化工作、近40万元的加工经费所产生的成果将全部打水漂。浪潮的工程师在帮助我们查明了故障,给总部的研发和技术支持中心打了几个咨询电话后,摊开双手表示无能为力。

解决方案



--------------------------------------------------------------------------------
我只好自己来做这件事。

方案是这样的:
1、定位和找到失效通道上最后出故障的那块硬盘;
2、设法读出这块硬盘上的数据,并将它克隆到一块同型号的新硬盘上去;
3、将克隆好的硬盘插回盘阵上的失效通道中;
4、重启盘阵,尝试让失效的通道恢复工作;
5.1、如果失效通道恢复读写功能,则继续插入一块同型号新硬盘让它重建RAID,以防止新故障发生,本次数据恢复工作完成;
5.2、如果失效通道仍不能恢复读写功能,则可以确定数据无法恢复。
关键在于第2步,故障盘在盘阵中的故障状态是“missing”,如果故障盘的故障类型是物理故障(接口、电路、读写头、盘片),则处理起来就复杂得多。

修复过程



--------------------------------------------------------------------------------
说实话,尽管有了方案,还要看我的运气如何:
1、从盘阵面板上翻查事件日志,找到了最晚出问题的那块硬盘的编号,把损坏的那块盘从盘阵上抽出做好标记;
2、从4块备用硬盘中取出一块,与故障盘一起连接到一台PC上,没敢连接PC上原来的硬盘,怕PC上原来的OS在识别新加载硬盘的过程中在上面乱写东西,破坏我到珍贵的数据,呵呵;
3、制作一张HD clone启动光盘,用这张光盘启动PC;硬盘对拷软件的选择很重要,ghost一类的软件是用不成的,只能选扇区对扇区拷贝的那种。
4、进行硬盘克隆;选对源盘和目的盘很重要,这一点要反复确认,弄错就瓜了。确认拷贝“开始”后,直到进度条上有了进度,我才长长松了一口气:源盘是可读的。按时下班,第二天上班看到拷贝已经完成,软件界面上显示拷贝工作用了10个小时左右(1T容量,SATA2接口),有接近3000个读错误计数,这让我有点担心恢复工作能否完成;管不了那么多了,死马当活马医罢!
5、将克隆好的硬盘插回盘阵中故障盘原来所在的槽位;
6、重启盘阵后,重启存贮服务器

修复结果



--------------------------------------------------------------------------------
丢失的文件系统重现了,数据基本完好!哈哈……
确认数据已经恢复后,火速用2块新硬盘将通道中的2块坏盘替换下来,从阵列控制器面板上看到这个通道识别了新硬盘并正在进行rebuilding,终于可以松一口气了。

今天在对恢复后的数据进行检查和检验时,发现恢复后的文件系统中仍然有错误,所幸影响很小。ZFS自身提供的工具无法完全修复这些错误,现在正在将恢复后的数据从发生故障的通道中导出,导出后重建这个通道中的ZFS文件系统应该可以解决这些问题。
起因
--------------------------------------------------------------------------------
前两天盘阵的一个通道突然失效,可恰巧这个通道上存贮着单位的主要数据,给领导汇报时,领导的脸色都变了,呵呵,也吓得我不轻。

这个失效的通道有12块盘,做了RAID6,本来允许2块坏盘,但不幸的是坏了3块;当然这3块盘不是同时坏掉的,问题在于浪潮的这款控制器(300G2)告警机制设计有问题,硬盘的状态灯深藏在面板的2个小孔后面,而这2个小孔早就被灰尘掩没了。……所以直到第3块坏盘出现,通道变成“不可用”时,我们才发现问题,而这时,事情基本上已经无法挽回了。

这些丢失的数据太重要了,如果真的无法恢复,单位将近2年的数字化工作、近40万元的加工经费所产生的成果将全部打水漂。浪潮的工程师在帮助我们查明了故障,给总部的研发和技术支持中心打了几个咨询电话后,摊开双手表示无能为力。

解决方案



--------------------------------------------------------------------------------
我只好自己来做这件事。

方案是这样的:
1、定位和找到失效通道上最后出故障的那块硬盘;
2、设法读出这块硬盘上的数据,并将它克隆到一块同型号的新硬盘上去;
3、将克隆好的硬盘插回盘阵上的失效通道中;
4、重启盘阵,尝试让失效的通道恢复工作;
5.1、如果失效通道恢复读写功能,则继续插入一块同型号新硬盘让它重建RAID,以防止新故障发生,本次数据恢复工作完成;
5.2、如果失效通道仍不能恢复读写功能,则可以确定数据无法恢复。
关键在于第2步,故障盘在盘阵中的故障状态是“missing”,如果故障盘的故障类型是物理故障(接口、电路、读写头、盘片),则处理起来就复杂得多。

修复过程



--------------------------------------------------------------------------------
说实话,尽管有了方案,还要看我的运气如何:
1、从盘阵面板上翻查事件日志,找到了最晚出问题的那块硬盘的编号,把损坏的那块盘从盘阵上抽出做好标记;
2、从4块备用硬盘中取出一块,与故障盘一起连接到一台PC上,没敢连接PC上原来的硬盘,怕PC上原来的OS在识别新加载硬盘的过程中在上面乱写东西,破坏我到珍贵的数据,呵呵;
3、制作一张HD clone启动光盘,用这张光盘启动PC;硬盘对拷软件的选择很重要,ghost一类的软件是用不成的,只能选扇区对扇区拷贝的那种。
4、进行硬盘克隆;选对源盘和目的盘很重要,这一点要反复确认,弄错就瓜了。确认拷贝“开始”后,直到进度条上有了进度,我才长长松了一口气:源盘是可读的。按时下班,第二天上班看到拷贝已经完成,软件界面上显示拷贝工作用了10个小时左右(1T容量,SATA2接口),有接近3000个读错误计数,这让我有点担心恢复工作能否完成;管不了那么多了,死马当活马医罢!
5、将克隆好的硬盘插回盘阵中故障盘原来所在的槽位;
6、重启盘阵后,重启存贮服务器

修复结果



--------------------------------------------------------------------------------
丢失的文件系统重现了,数据基本完好!哈哈……
确认数据已经恢复后,火速用2块新硬盘将通道中的2块坏盘替换下来,从阵列控制器面板上看到这个通道识别了新硬盘并正在进行rebuilding,终于可以松一口气了。

今天在对恢复后的数据进行检查和检验时,发现恢复后的文件系统中仍然有错误,所幸影响很小。ZFS自身提供的工具无法完全修复这些错误,现在正在将恢复后的数据从发生故障的通道中导出,导出后重建这个通道中的ZFS文件系统应该可以解决这些问题。

教训



--------------------------------------------------------------------------------
1、对于盘阵的工作状态和检查方法不熟悉;
这次出了问题之后,才认真的跟厂家的工程师学习了检查、判断和处理盘阵故障的方法。以前心里是没有这码子事儿的,以为大厂的东西不会有问题,现在回想起来,觉得自己还是太自以为是。
2、对于重要数据没有建立备份机制;
其实我老是跟别人宣传数据备份如何重要,但恰恰是自己没有重视起来,直到这次出大事。