megacli 划分, 删除 raid 方法备忘

这篇博客介绍了如何使用megacli工具在RAID1环境中查询和操作RAID控制器,包括查看磁盘数量、虚拟设备信息,清除RAID配置和特定虚拟设备,以及创建RAID和处理热备盘问题。在RAID10环境下,还提到了清除热备盘的步骤,特别是当磁盘曾是RAID5的热备盘时,需要先解除其状态才能进行其他RAID操作。

环境: raid1

查询 raid controll number

megacli -PDlist -aALL | grep "ID"  | uniq | awk -F: '{print $2}' | awk '{print $1}'

查询当前磁盘数量

megacli -PDList -aALL |  grep -E "DISK\ GROUP|Slot\ Number|postion:|Firmware\ state:" | grep Slot | awk  -F[:\ ] '{print $NF}'

查询当前虚拟设备信息

megacli -cfgdsply -aALL | grep -v Information | grep -E "Virtual|Slot"

清除当前 raid 配置 (所有配置)

megacli -CfgLdDel -L0 -force -a0

清除当前 raid 中某个虚拟设备信息

megacli -cfglddel  -L1 -a0

说明: 
可能当前某个 raid (ex: raid1 ) 划分了两个磁盘, 那么第一个就是 L0 , 第二个就是 L1 ...
上述命令则删除了第二个虚拟设备

把所有空间都划分都某个 raid 中

megacli -CfgLdAdd -r1 [32:5,32:6] WB Direct -a0 

说明:
当前把 slot: 5, 6 两个磁盘组合成为 raid1 并把所有磁盘空间划分到一个设备中

创建 raid 时, 创建多个虚拟磁盘

megacli -CfgLdDel -L0 -force -a0
megacli -CfgLdAdd -r1 [32:5,32:6] ra wb direct nocachedbadbbu sz300000 -a0
megacli -CfgLdAdd -r1 [32:5,32:6] ra wb direct nocachedbadbbu -a0

说明: 
首先清除了当前 raid controller 中所有的 raid 配置
当前把 slot: 5, 6 两个磁盘组合成为 raid1 并把 300GB 磁盘空间划分到第一个设备中
当前把 slot: 5, 6 两个磁盘组合成为 raid1 并把剩余磁盘空间划分到第二个设备中

环境: raid10

说明:

1. 当前系统中具有 4 个 SSD 磁盘, (每个约 500GB)
2. 把4个 SSD 磁盘组件成 RAID10 设备
3. 划分出三个虚拟设备 ( 200GB, 200GB, 其余剩下的空间 )

参考步骤

1. 查询 RAID 主设备号
2.  清除当前的 RAID 设备配置
3.  重新进行 RAID 配置

参考脚本

#!/bin/bash
if [ ! -f "/sbin/megacli" ]
then
  ln -s /opt/MegaRAID/MegaCli/MegaCli64 "/sbin/megacli"
fi

uiqnum=` megacli -PDlist -aALL | grep "ID"  | uniq | awk -F: '{print $2}' | awk '{print $1}'`
disknum=`megacli -PDList -aALL |  grep -E "DISK\ GROUP|Slot\ Number|postion:|Firmware\ state:" | grep Slot | awk  -F[:\ ] '{print $NF}'`
disktotal=`megacli -PDList -aALL |  grep -E "DISK\ GROUP|Slot\ Number|postion:|Firmware\ state:" | grep Slot | awk  -F[:\ ] '{print $NF}' | wc -l`
if [ $disktotal -eq 4 ]
then
  array=($disknum)
  megacli -CfgLdDel -L0 -force -a0
  megacli -CfgSpanAdd -r10 -Array0[$uiqnum:${array[0]},$uiqnum:${array[1]}] -Array1[$uiqnum:${array[2]},$uiqnum:${array[3]}] ra wb direct nocachedbadbbu sz200000 -a0 ;  megacli -CfgSpanAdd -r10 -Array0[$uiqnum:${array[0]},$uiqnum:${array[1]}] -Array1[$uiqnum:${array[2]},$uiqnum:${array[3]}] ra wb direct nocachedbadbbu sz200000 -a0 ;  megacli -CfgSpanAdd -r10 -Array0[$uiqnum:${array[0]},$uiqnum:${array[1]}] -Array1[$uiqnum:${array[2]},$uiqnum:${array[3]}] ra wb direct nocachedbadbbu  -a0
fi

清除 hotspare 盘

假如某个磁盘之前曾经是 r5 中的热盘
那么你可以看到下面信息

Slot Number: 11
Media Error Count: 0
Other Error Count: 0
Firmware state: Hotspare, Spun Up

这个时候不可以直接对这个磁盘进行 RAID 创建
必须先把磁盘 hotspare 状态删除
方法如下

# megacli -PDHSP -Rmv -PhysDrv [8:11] -a1
Adapter: 1: Remove Physical Drive at EnclId-8 SlotId-11 as Hot Spare Success.
Exit Code: 0x00

# megacli -PDlist -a1 | grep -E "Slot|Error|Firmware"

Slot Number: 11
Media Error Count: 0
Other Error Count: 0
Firmware state: Unconfigured(good), Spun Up
Device Firmware Level: TJ43

重新创建磁盘即可

# megacli -CfgLdAdd -r0 [8:11] WB Direct -a1
Adapter 1: Created VD 10
Adapter 1: Configured the Adapter!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Terry_Tsang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值