RAID0 拔盘重建

问题背景:在一个物理节点上,两个做成单盘raid0的osd数据盘:sdd、sde,直接拔掉两个数据盘交换插槽位置插入。发现系统无法识别到硬盘了。再把两个盘拔出,只将sdd插回它原先的插槽位置,发现sdd依然无法被系统识别到。

问题定位:登陆到发生该问题的物理节点环境,先使用如下命令查看raid卡上的所有物理硬盘设备情况:

 /opt/MegaRAID/MegaCli/MegaCli64 -PDList -aAll

主要观察每一块物理硬盘的Firmware state属性,发现有一个插槽位置的硬盘Firmware state: Unconfigured(bad)。说明插入的硬盘已经被raid卡识别到了,需要重新进行配置,让该盘上线,才会被操作系统识别到。

问题解决

  • 1、使用如下命令将硬盘的Unconfigured(bad)-> Unconfigured(good):
    /opt/MegaRAID/MegaCli/MegaCli64 -PDMakeGood -Physdrv "[252:3]" -a0

    [252:3]:252为raid卡的Enclosure Device ID,3为硬盘的Slot Number,-a0表示物理节点上的第0号控制器。这三个参数都可以通过查看raid卡上的所有物理硬盘设备命令得到。

  • 2、使用如下命令将硬盘的Foreign State:Foreign -> Foreign State:None,目的是清除硬盘的foreign状态,刚插入的盘会被标记为外来硬盘。
    /opt/MegaRAID/MegaCli/MegaCli64 -cfgforeign -clear -a0

     

  • 3、先查看raid卡的缓存是否还保留有之前因拔盘导致原先raid0信息的残留,使用如下命令查看:
    /opt/MegaRAID/MegaCli/MegaCli64 -GetPreservedCacheList -a0

     

  • 4、在我处理的过程中,确实发现有原先raid0的虚拟设备信息,使用如下命令将其清除掉:
    /opt/MegaRAID/MegaCli/MegaCli64 -DiscardPreservedCache -L4 -a0

    -L4表示保留在缓存中的raid0的虚拟设备编号。当我运行该清除命令后,并不能成功的清除掉,报了一个段错误的信息。发生了此错误大多是由于raid卡硬件本身发生了问题,需要重启物理节点机器,进入raid管理界面进行清除。

    使用ipmi登陆到物理节点,必须先在ecas前端界面将该节点设置为维护模式才能重启节点。重启节点后,进入raid管理界面,点击start按钮,将virtual Drive:4 Missing清除掉。退出raid管理界面,进入操作系统。

  • 5、使用步骤3中的命令,发现已经是干净的。此时可以直接将该硬盘重新做成raid0上线,使用如下命令:
  • /opt/MegaRAID/MegaCli/MegaCli64 -cfgldadd -r0 [252:3] WT Direct -a0

    -r0表示制作成raid0级别,[252:3]上文已经解释过,WT Direct表示该raid0使用的读写策略为WriteThrough。成功执行该命令,使用lsblk,发现该硬盘已经被操作系统识别到。

  • 6、使用如下命令将Foreign State:Foreign状态的硬盘中的raid信息倒入到raid控制器,直接上线:
    /opt/MegaRAID/MegaCli/MegaCli64 -cfgforeign -Import -a0

     

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值