当我实验室的好兄弟告诉我,那台插满了GPU和硬盘的Inspur NF5288服务器家目录炸了的时候,我的内心是拒绝的= =

起初的表现形式是这样的:在家目录下输入ls,直接提示Input/Output error,没有任何商量的余地。
后来重启了一下之后,情况更加混乱了:由于为了合理规划高速/低俗空间,系统装在了RAID 1的SSD中,而家目录则挂在了RAID 5的HDD上。这导致我们的系统启动正常,但是出现了奇怪的IO错误,推测是fstab试图挂载家目录的时候出了问题,结果顺手把系统给崩了。(emm忘记截图了,总是就是要求用户输入root密码修复系统或者Ctrl+D跳过步骤一类的提示,也不知道我是忘记root密码了还是系统出问题了)

然后就开始推测:可能是分区坏了?
遂插入Ubuntu系统安装盘(为啥不是CentOS?因为手头只有Nvidia的安装盘了),准备fsck修复磁盘。然而操作后发现,同样报出I/O error错误,磁盘修复根本无法运行,盘都读不了。

接下来思考后开始怀疑,这个I/O错误指的是不是系统底层硬件上有问题(磁盘修复工具都无法读取,看来是软件无法完成的工作了),于是想起了服务器上8块硬盘上,原本应该是8个绿灯,而现在有2块亮起了红灯。

是不是RAID控制器能给出什么有用的信息?遂重启开机进入RAID管理界面,果然发现了端倪:SSD组成的RAID 1正常工作,而HDD组成的RAID 5处于Offline(即离线/不可用)状态。查看后发现,其中4块好的HDD处于UG状态(推测是正常工作),而有问题的两块处于Frn-Bad状态。

秉着开机时所有HDD全部为绿灯的事实,抱着企业级的HDD(Seagate ST2000NX0253)不会这么容易损坏的心态,查找了一下有没有解决方案,结果还真有:https://support.huawei.com/enterprise/es/doc/EDOC1000163569/e744d41f/restoring-a-hard-drive-in-frn-bad-state

鬼知道为什么最先找到的是西班牙语版的,但我还是说一句菊花NB好吧

SAS3108的RAID管理界面一般有4~5个选项卡,其中第一个可以通过方向键查看磁盘状态。在不同选项卡之间使用Ctrl+N或者Ctrl+P切换。(其实界面最下方有操作说明)

大致步骤如下(华为文档翻译+copy):

  1. 上下键选择到需要修复的RAID阵列,Ctrl+N切换到PD Mgmt(估计是Physical Disk Management的缩写),上下键选到Frn-Bad状态的磁盘,按F2,在菜单中执行Make unconfigured good选项(强制通知RAID控制器本磁盘无物理损坏),然后磁盘会进入Foreign状态。

  2. 之后管理界面会出现第五个选项卡Foreign View。在这里进行RAID配置的恢复。可以参照这个教程:https://support.huawei.com/enterprise/es/doc/EDOC1000163569?section=j04f。 选择到要恢复配置的磁盘标题,然后F2选择Foreign config > Import,完成配置导入工作。

  3. 接下来回到VD Mgmt(Virtual Disk Management),发现之前处在Foreign状态的两块磁盘已经相应地进入了OnlineRebulding状态,分别表示磁盘已经进入了正常工作状态,或是正在进行修复。此时已经可以重新启动,并且正常进入系统了。

  4. 虽然完成配置导入后已经可以启动系统,直接由于不知道在系统正常工作的情况下RAID磁盘的恢复工作是否进行,为了安全起见,本次采用的方法是在RAID管理界面等待修复完成后,再进入系统。修复进度极其缓慢,花了近5个小时才完成一块磁盘的重建= =

后记

后来寻找问题的原因的时候,发现似乎是因为不支持热插拔造成的。

高级作战记录

学长:你看这服务器这么高级,¥%#*#@@#&@%(伸手欲拔出服务器上的硬盘)
我:学长最好还是别拔吧,万一等下出问题...
学长:这又没啥,你看硬盘摆在外面,不就是支持热插拔的吗
(说罢取下一块)
学长:你看,这不是没事吗
(说罢装了回去)

直到几个小时后,有学弟说服务器坏了用不了之后,事态的严重性才扩散开来

(我:得亏学长只拔了一块,拔多了估计真得凉凉)

标签: none

添加新评论