SAS3108 RAID5重建
当我实验室的好兄弟告诉我,那台插满了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):
-
上下键选择到需要修复的RAID阵列,
Ctrl+N
切换到PD Mgmt
(估计是Physical Disk Management的缩写),上下键选到Frn-Bad
状态的磁盘,按F2,在菜单中执行Make unconfigured good
选项(强制通知RAID控制器本磁盘无物理损坏),然后磁盘会进入Foreign
状态。 -
之后管理界面会出现第五个选项卡
Foreign View
。在这里进行RAID配置的恢复。可以参照这个教程:https://support.huawei.com/enterprise/es/doc/EDOC1000163569?section=j04f。 选择到要恢复配置的磁盘标题,然后F2
选择Foreign config
>Import
,完成配置导入工作。 -
接下来回到
VD Mgmt
(Virtual Disk Management),发现之前处在Foreign
状态的两块磁盘已经相应地进入了Online
和Rebulding
状态,分别表示磁盘已经进入了正常工作状态,或是正在进行修复。此时已经可以重新启动,并且正常进入系统了。 - 虽然完成配置导入后已经可以启动系统,直接由于不知道在系统正常工作的情况下RAID磁盘的恢复工作是否进行,为了安全起见,本次采用的方法是在RAID管理界面等待修复完成后,再进入系统。修复进度极其缓慢,花了近5个小时才完成一块磁盘的重建= =
后记
后来寻找问题的原因的时候,发现似乎是因为不支持热插拔造成的。
高级作战记录
学长:你看这服务器这么高级,¥%#*#@@#&@%(伸手欲拔出服务器上的硬盘)
我:学长最好还是别拔吧,万一等下出问题...
学长:这又没啥,你看硬盘摆在外面,不就是支持热插拔的吗
(说罢取下一块)
学长:你看,这不是没事吗
(说罢装了回去)
直到几个小时后,有学弟说服务器坏了用不了之后,事态的严重性才扩散开来
(我:得亏学长只拔了一块,拔多了估计真得凉凉)