服务器RAID 硬盘容量扩展 Extend 操作失误的应急方法

来源:互联网 发布:股票指数数据 编辑:程序博客网 时间:2024/05/16 14:03

前两个blog 分别描述了 Dell 和 HP 系列服务器通过 Extend 方法来扩展RAID 磁盘容量的方法。只要稍加注意,在生产环境中操作之前先在测试环境中稍加练习就会熟悉流程,而不至于操作失误。 至少我操作的几个案例都工作的很好。 本文只是提供了在 某些我们尚不知晓的极端情况下,如果Extend 过程中失败,如何快速恢复原有系统的方法。 这样,至少应该可以打消很多人对于 Dell PERC 没有官方支持 Extend 带来的不安。

 

对于恢复操作,最重要的当然就是在Extend 过程中被替换掉的那些原来的硬盘了。它们构成了恢复的基础,只要数量,顺序(哪个硬盘在哪个槽位中)都正确,不混乱,则可以很容易的迅速恢复原有系统。而且根据我的测试,即使个别硬盘缺失,只要RAID 冗余尚能重建数据,就仍然可以恢复所有数据。下面来详细说明。

 

1.  Dell, 对于Dell PERC,Extend失败时,RAID BIOS中的 virtual disk 已经被删除乃至被建立了新的vd。即使如此,恢复仍然很简单:

 

a.   关机,将现有(extend用的)硬盘全部取出,将原来被extend 替换的硬盘全部按照每个硬盘的原位(硬盘槽位)放入。

b.   开机,到 PERC RAID BIOS 这里时, 会显示如下, “all of the disks 。。。” 这一段要稍等一下才会出来。 在这里,按“C” 载入 RAID 配置程序

 

c.   然后出现如下界面,再次警告,因为可能导致现有RAID配置 (也就是失败的extend)的丢失,不理睬,按 “Y” 载入RAID 配置程序

 

 

d.  这时会多出一个 “foreign view” 菜单,如图 import。  import 什么呢?  是从新插入的原来的硬盘中导入原来的RAID配置信息。导入的同时当然也就覆盖了失败的Extend用的RAID配置信息。

 

e.   再次警告,这是单行道不可逆。点击ok。然后退出 RAID 配置程序,ctrl + alt + del 重启机器。

 

 

f.  这就是结果,OS中不需要做任何修复动作,一切都恢复Extend操作之前的原样。 如果你还是想Extend,那么可以从这里开始,重新Extend,呵呵,总会成功的,反正有原来的硬盘做保险。

 

 

总结:   RAID 配置信息不止存储在 RAID adapter卡中,还存储在RAID中的每一块硬盘上。 RAID 卡也可以从硬盘中读取RAID信息来恢复RAID配置,当然前提是原有硬盘都在,而且都安装原来的顺序放置在各个硬盘槽位中。

 

测试过程中还发现,实际上,并不需要“所有”原有硬盘都在,只要数据足以能够恢复的硬盘数量就可以。例如 RAID1 两块硬盘中只要有一块硬盘在,例外一块随便从什么地方凑一个来即可。 如果是 三块硬盘的RAID 5,则只要有两块硬盘按照原来的位置放入硬盘槽位,另一块随便凑一块来即可。这时,

X.   如果凑数的这个硬盘是新的,也就是全空,其中并无数据,也无RAID配置信息,则操作流程和以上完全相同。不同之处在于,进入OS后你会在 Dell OpenManage server administrator 和 event log 中发现 PERC 卡正在做 RAID 恢复,也就是从已有硬盘中恢复数据到新加入的这个硬盘上,恢复完成后,I/O性能就能恢复。

 

Y.  如果凑数的这个硬盘已经被用过,其中有别处的RAID信息,那么执行本文所列的恢复操作之前,应该将这块硬盘单独放入硬盘槽位 --- 只它一个,任何槽位都------- 然后按照 1.b, 1.c 步骤进入 RAID 配置程序。 在这里,对于 1.d 步骤中的 Foreign config 不要用 import,而用clear, 这样就将该硬盘上的别处的RAID配置信息清除了。 然后参考上述 x 步骤即可。

如果不执行 clear, 则 1.d 步骤会出现混乱,因为对于server,这个凑数的硬盘上有别处的RAID配置信息,插入的原本被extend替换的硬盘还有原来的RAID配置信息,Dell RAID 配置程序中不会列出两个给你选择 import 哪一个。 

 

---------  有趣吧,即使到这个时候,RAID 数据保护仍然是有效的。

 

 

2.  HP,  HP smart array 卡的恢复流程和Dell完全不同。

 

a.  关机,和 Dell 恢复类似,将Extend 时被替换的原有硬盘全部按照顺序(硬盘槽位)放入硬盘,Extend时失败的那些硬盘全部取出。开机。到 SA 卡检测 logical drive时会出现如下界面。  1794 这段可以忽略,这是 RAID卡的电池电量不足造成回写缓冲被临时禁用了。

 

1779 这一段就是 SA 卡识别了硬盘替换,是否要disable 替换上来的 logical drive (也就是RAID)--- 会造成没有硬盘,无法启动。---- 或者接受改变,enable 替换上来的硬盘上的RAID。 按 F2,

 

b.  F2 按过后,1779这段还会出现一次,做警告。就偷懒不截图了。 再次按 F2,ok 就进入OS了。 和 Dell 类似,OS 中不需要做任何操作,RAID卡都不会做什么操作,因为 RAID 信息和现有硬盘完全匹配,不需要RAID 恢复。  -----  HP 上需要注意的是,看event log,其中有记录表示还需要重启一次 (期间所有提示都不要做任何操作),这个被接受的RAID配置信息才能被确定保留,将来使用。 

 

c.  HP 上也可以如Dell 上一般,并不需要“所有”原有硬盘都在,只要数据足以能够恢复的硬盘数量就可以。例如 RAID1 两块硬盘中只要有一块硬盘在,例外一块随便从什么地方凑一个来即可。 如果是 三块硬盘的RAID 5,则只要有两块硬盘按照原来的位置放入硬盘槽位,另一块随便凑一块来即可。  这时,

 

X.   如果凑数的那个是空硬盘,其中没有别处的RAID信息,界面会发生变化,如下,会出现 1788 信息。  两次按F2,进入OS 和Dell上操作一致。就能看见 RAID 在恢复中,然后同样需要再重启一次来接受RAID配置信息。

 

 

Y.   如果凑数的这个硬盘已经被用过,其中有别处的RAID信息, ----- 此处和Dell  PERC不同  ------ 

可以将该硬盘单独放入然后启动机器,看启动信息,F8 进入 RAID 配置界面,删除 logical drive (也就是RAID)信息,然后关机,再将被Extend替换的所有硬盘分别放入,再次开机。。。  ------ 这是和Dell 较类似的操作方法。

也可以将该硬盘和被Extend替换的所有硬盘同时放入, 仔细注意开机信息,F8 进入RAID 配置界面 (1788  F1还是F2这里不操作,或者用缺省的F1),删除这块硬盘上的RAID 信息 (logical drive) -----别删错了----- ,然后退出再次重启  

 

这两种方法类似,都是先清理别处硬盘上的别处 RAID信息,只是有不同的方法,操作时要特别看清楚,清理错对象可就无药可救了。

 

---- HP 的截图少了点,主要是我这里HP的都是老机器,不想再折腾这些老机器了。光看文字可能难为了读者,不过只要操练过相关硬件的朋友,应该没问题吧,毕竟关键地方的截图已经贴上了。