我在 3ware 9650SE-16ML 卡上有一个糟糕的 RAID 阵列。我不知道是我刚刚遇到了双磁盘故障(糟糕!)还是我读错了。的相关输出/c0 show all是:
Port Status Unit Size Blocks Serial
---------------------------------------------------------------
p0 DEGRADED u0 931.51 GB 1953525168 5QJ07MAH
p1 ECC-ERROR u0 931.51 GB 1953525168 5QJ0DCW9
p2 OK u0 931.51 GB 1953525168 5QJ0DW9C
p3 OK u0 931.51 GB 1953525168 5QJ0CKXJ
Run Code Online (Sandbox Code Playgroud)
失败是(来自show alarms):
Ctl Date Severity Alarm Message
------------------------------------------------------------------------------
c0 [Sun Nov 20 07:47:23 2011] INFO Rebuild started: unit=0
c0 [Sun Nov 20 08:20:12 2011] ERROR Drive ECC error reported: port=1, unit=0
c0 [Sun Nov 20 08:20:12 2011] ERROR Source drive error occurred: port=1, unit=0
c0 [Sun Nov 20 08:20:12 2011] ERROR Rebuild failed: unit=0
c0 [Sun Nov 20 08:20:12 2011] INFO Rebuild paused: unit=0
Run Code Online (Sandbox Code Playgroud)
我认为发生的事情是 p0 失败,然后 p1 出现 ECC 错误(也就是我的数据不见了)。但是……也许不是?它保持 97% 的重建,但无法克服这个错误。
据我所知,以前的管理员关闭了定期验证,这就是让我们进入这种状态的原因。这不是大多数人应该担心他们的 3Ware RAID!
更新
经过几天的努力,我做了 IgnoreECC 位并重建了它,但我的数据被冲洗掉了。无赖。
ECC 错误意味着驱动器上至少有一个不可读的扇区。但是,如果幸运的话,位于该卷上的文件系统实际上可能不会使用该扇区,因此您仍然可以在此状态下从阵列中复制数据。
还有一些选项可以在重建期间忽略 ECC 错误:
/cx/ux start rebuild disk=p [ignoreECC]
/cx/ux set ignoreECC=on|off
Run Code Online (Sandbox Code Playgroud)
但是,使用这些选项意味着受坏扇区影响的 RAID 条带将被损坏(不确定在这种情况下卡会做什么——它可能会用零甚至随机数据替换整个条带),因此“恢复”阵列实际上可能存在无法检测的损坏(如果受影响的条带位于某个数据文件的中间)。在尝试重建之前将数据从阵列复制到其他地方可能更安全(至少在尝试读取坏区域时应该会出错)。
您应该设置阵列的预定验证以更早捕获不可读的扇区,以便您可以更换刚开始变坏的驱动器。
| 归档时间: |
|
| 查看次数: |
25843 次 |
| 最近记录: |