【linux】linux更换完磁盘需重新做raid0报错及解决方案
前言
磁盘损坏,厂商进场更换磁盘,更换完磁盘之后,系统中无法显示磁盘,针对此情况需重新做raid0,遇到报错,这里整理并记录一下。
准备
- 查看raid信息
# 查看目标磁盘的device id和slot number
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL
根据上面的信息,使用如下命令对目标磁盘从新做raid0
- 制作raid命令
/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r0 [32:8] WB Direct -a0
[32:8] 这个地方需要根据自己的实际情况来编写
然而做raid0的过程中,报错了,此报错是因为raid卡中还残留之前磁盘的信息,需清理掉此缓存信息,才可继续对目标磁盘做raid0
- 查看是否有原逻辑盘的数据在cache中
/opt/MegaRAID/MegaCli/MegaCli64 -GetPreservedCacheList -a0
此处只要有输出,就证明是有的,根据提示清理
- 清除命令
/opt/MegaRAID/MegaCli/MegaCli64 -DiscardPreservedCache -L{根据上文提示的L逻辑盘数字编号} -a0
(这里提示的是1,这里就用L1)
这里我的硬盘被标记为“Foreign”外来配置,要清除一下,不然会报下面这个错误:
- 扫描外来配置的个数:
/opt/MegaRAID/MegaCli/MegaCli64 -cfgforeign -scan -a0
结果:
# /opt/MegaRAID/MegaCli/MegaCli64 -cfgforeign -scan -a0
There are 1 foreign configuration(s) on controller 0.
Exit Code: 0x00
- 清除外来配置:
/opt/MegaRAID/MegaCli/MegaCli64 -cfgforeign -clear -a0
结果:
Foreign configuration 0 is cleared on controller 0.
Exit Code: 0x00
然后再重新对目标磁盘做raid0,如下:
/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r0[32:5] WB Direct -a0
补充:
问题一:
执行/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r0 [32:8] WB Direct -a0
(此处按照实际情况填写) 做raid0的时候报错如下:
此情况为磁盘状态问题:
可用如下命令进行修复:
修复完之后重新做raid0即可