服务器可以24 小时稳定运行,并对外提供存储、计算、网络、管理等服务,是互联网和企业系统的 “心脏”。也就是因为其“稳定”的原因,有时候很容易让人忽略它的存在,甚至连阵列“降级”都未能察觉,从而引发阵列崩溃、业务停滞的安全事件!

今天我们来看看,曙光(Sugon)天阔1620-G10服务器RAID5阵列崩溃后的恢复方法。

故障存储:

服务器型号:曙光(Sugon)天阔1620-G10

硬盘型号:希捷ST300MM006*3

故障现象:

客户描述服务器为某业务平台提供支持,已运行近10年,由3块希捷ST300MM006硬盘组成RAID5阵列。某日突然发现业务无法运行,经过排查发现此服务器0、1、2号磁盘闪红灯,阵列卡管理程序显示三块盘 “OFFLine”,RAID5阵列彻底崩溃。

图1:曙光(Sugon)天阔1620-G10

故障分析:

由于服务器正常,所以直接查看了下其日志,发现0号盘在约1年多前就已经离线了,也就是此服务器一直运行于“降级状态”下,直到近期1号盘和2号盘先后离线导致整个RAID5阵列 “分崩离析”!

RAID 5(独立磁盘冗余阵列 5 级)是一种分布式奇偶校验的磁盘阵列方案,核心是条带化数据 + 分布式奇偶校验(XOR),在性能、容量利用率、单盘容错之间取得极佳平衡,是企业与服务器最主流的 RAID 级别。

基本条件:

最少硬盘数:3 块(N ≥ 3)

容量计算:总可用容量 = (硬盘数 − 1) × 最小单盘容量

例:3 块 2TB 硬盘 → 可用 4TB(1 块盘容量用于校验)

4 块 2TB 硬盘 → 可用 6TB

两大核心技术:

(1)数据条带化(Striping)

逻辑上连续的数据被分割成固定大小的数据块(Chunk,如 64KB/128KB)

这些数据块并行、轮循写入不同物理硬盘

效果:提升读取性能(多盘并发读)

(2)分布式奇偶校验(Distributed Parity)

对每一组横跨多盘的同条带数据块,通过异或(XOR)运算,生成 1 个奇偶校验块(P)

公式:P = D₁ XOR D₂ XOR D₃ ... XOR Dₙ₋₁

关键特性:校验块不固定在某一盘,而是循环、均匀分布在所有硬盘上

避免 RAID 4 的 “专用校验盘写入瓶颈”

每块盘:一部分存数据、一部分存校验

总结下,RAID5=条带+XOR校验,最大允许一块盘离线,当超过此数量整个阵列会崩溃(图2)。但是需要重点注意的是RAID5的“降级”,比如4块盘的RAID5阵列,当1块盘出现问题离线(OFFLINE)时,此时阵列会处于“降级状态”,即阵列并没有崩溃,只是运行于最小模式下,此时阵列卡会对离线的故障盘报“黄灯”。这种最小模式并不影响业务的继续,因为阵列还没有崩溃,如果此时找一块容量相同的盘上线,则阵列卡会重新同步,使整个阵列回到“冗余状态”。

个人认为,相对于大于1块盘的离线,实际上“降级状态”更不易让人察觉,因为终端的业务还在正常运行,如果不去机房,根本不会知道事情的严重性。

图2:RAID5原理图

图3:最早离线的0号盘

故障处理:

RAID5阵列的恢复实际上就三点,1、块大小  2、盘序  3、条带走向,只要分析出来这三点就可

以通过各种软件重组阵列并恢复数据。块大小这个很好判断,就不在赘述,而盘序这个是知道的,最后

就是条带走向,这个通过前两点也能推测出来。

   对于这种“降级状态”的RAID5阵列,最重要的是最后离线的硬盘,阵列数据的“新鲜度”离不开它。本例中最后离线的是2号盘,此盘的故障为电路板不加电,而1号盘也处于离线状态,经过检测存在少量坏扇区,而最早离线的0号盘则是坏扇区比较多。由于三块盘型号相同,所以电路板问题相对好解决。镜像1、2号盘,由于盘数较少,阵列参数直接通过“开盲盒”的方式就能猜出来(图4)。

   经过核对数据发现基本上正常(图5),至此恢复工作完成!

图4:1号和2号盘重组RAID后的分区表

图5:最后一个逻辑盘的数据

由于1、2号盘的情况,做完恢复工作后,客户提供三块新盘,由于此服务器上的软件比较老,有些软件厂商甚至都已处于“失联”状态。根据此情况我们开始尝试对阵列进行还原,先还原镜像到新盘,然后使用阵列卡管理程序进行强制“上线”(注:在没有备份数据的情况下慎用此功能)操作,结果上线失败。再次尝试使用PC端WEB管理程序对阵列卡参数进行修改,最后成功“上线”1、2号盘,接下来只需等待阵列卡“同步”完成即可(图6)。

最后经过等待成功进入了WINDOWS系统(图7),经过核对发现监控程序无法正常运行,其它相关的数据库和管理软件均可以正常运行,至此完美解决了一切问题,避免了重新部署之苦!

图6:阵列卡同步

图7:成功进入WINDOWS SERVER2008界面

这就是曙光(Sugon)天阔1620-G10阵列崩溃后的恢复方法,大家在遇到此类问题时,可以和我们联系!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐