【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即可

posted @ 2022-11-10 19:25  彬在俊  阅读(125)  评论(0编辑  收藏  举报