本文共 1291 字,大约阅读时间需要 4 分钟。
故障回放:
硬件:DELL服务器R720
阵列:Raid 5 H310
系统:Windows 2008 R2
计划在服务器进行SQL数据库恢复操作(SQL2008 R2),数据库备份文件800M,在还原操作中,进行到备份文件读取时,SQL程序一直出现假死(换到普通PC机执行此操作正常),无响应情况。并且对系统操作时,不断发生未响应,无法关闭程序、关机假死等情况。
初步怀疑硬盘运作有问题
由于服务器由3块硬盘组成Raid5 ,突发奇想打算通过替换法判断出哪块硬盘影响到服务器运行速度。
于是,立马将服务器关机,利索的把其中一块硬盘拔出(top注:虽然有高可用,也尽量不要直接关机)。接着启动服务器,一切正常的进入到了操作系统。并且没有任何异常提示。同样的进行前面的数据库还原操作。这次,读取备份文件时,依然出现没有响应,直到最后SQL报出超时的提示窗口(算是有所提升),
但是,偶尔还是发生其他操作的无响应等情况,看来问题没有解决。
接着,按原计划,咔的一声,把第二块盘也给拔出来了,顺便把第一次拿出来的盘放回去,进行第一次测试。这次,系统再也看不到了。系统提示找不到启动盘,一下子着急了。把硬盘都全部插回去。结果,依然是那个结果。找不到启动盘。(虽然支持热拔插,也不要直接拔硬盘)
进入磁盘管理界面,硬盘状态变为:1个盘含阵列信息,2个盘识别为外来盘(foreign)。阵列已经不完整,提示failed。接着不断拔插拔插,替换替换,依然无解。
第二天上班后,抱着崩溃的状态,拨通了DELL售后技术支持。讲述了情况后。得到相应解释:3块盘的阵列5,数据分布在3个盘,通过算法,校验等进行数据寻址,组合。当我第一次拔出第一块盘后开机。阵列会自动降级degraded,并且产生最新时间戳。接着,我进行替换硬盘后,导致3块硬盘时间戳不一致,阵列信息不同步而出现fail现象。幸运的是第二块拔出的盘会保留最新的时间戳,有几率进行导入操作恢复。
于是,按要求进行操作。首先进入物理硬盘信息页面查看最先状态,3块盘均显示online.其他一块为正常盘,一块显示rebliud,foreign.一块为foreign.其实,有rebliud提示的盘为第二次拔出盘,有几率进行导入。接着,进入VM界面。按F2进行导入操作。重启电脑后,一切正常,进入系统。万幸啊!
另外,RAID5的硬盘,不携带接口信息,意思是,三快盘拔出,打乱后插入。依然可以识别并正常启动。
另外,提醒各位,操作服务器时,还是要三思。阵列的知识,有概念,但是每个厂家不一样,动手前,还是找专业人士咨询
总结:很多运维工作人员都容易操作之前不备份,有资源(比如DELL售后),不去咨询,有百度不去用,一切都是想当然,认为这样可以就去做了,运维做在任何时候的时候,必须有理论支持,要确保理论上可行,然后做好备份,和应急方案,在去操作。备份的目的是为了一旦操作失败可以第一时间还原。