[转帖]一问带你掌握通过storcli做RAID

掌握,通过,storcli,raid · 浏览次数 : 0

小编点评

**使用storcli工具创建RAID** 1. **下载storcli工具**到服务器任意目录,并用 `chmod +x storcli64` 修改文件权限为可执行。 2. **使用命令** `storcli /c0 show` 查看 RAID 控制器信息。 3. **使用命令** `storcli /c0 /fall delete` 删除外部配置信息。 4. **使用命令** `storcli /c0 /e252/sall show rebuild` 查看 rebuild 的进度。 5. **使用命令** `storcli /c0 /e252/s4 set offline` 将 5 号槽位硬盘设置为离线 Offline。 6. **使用命令** `storcli /c0 /e252/s4 set missing` 将 5 号槽位硬盘设置为 missing 状态。 7. **使用命令** `storcli /c0/fall delete` 删除控制器 c0 的所有外部配置信息。 8. **使用命令** `storcli /c0 /show` 查看外部 RAID 的详细信息。 9. **可以使用命令** `storcli /c0 /fall import` 将原有的 RAID 配置恢复。 10. **使用命令** `storcli /c0 /eall /sall show` 查看磁盘状态。

正文

因为系统不支持直接做raid,所以需要使用storcli这个工具来操作。首先把工具上传到服务器任意目录,并使用命令chmod +x storcli64修改文件权限为可执行。

 

另外可通过命令ln -s /root/storcli64 /usr/bin/storcli来设置软链接,这样后续可以在任意目录下输入storcli执行./ storcli64,和系统命令一样。

首先使用storcli /c0 show命令查看 RAID 控制器信息,其中包含磁盘的拓扑结构、RAID信息、物理磁盘配置状态等信息。(注释:c即Controller,控制器,也就是阵列卡;e即Enclosure,附件,一般来讲也就是硬盘背板“硬盘笼”;s即Slot,物理硬盘槽位;v即Virtual Drive,虚拟硬盘,也就是逻辑卷;d即Disk Group,硬盘组;f即Foreign configuration file,外部阵列配置。)

 

还能看到阵列卡的温度。

 

上面是硬盘插槽全空时的回显,在1、2槽位插上两块960G的SSD之后,回显中增加了PD LIST物理磁盘列表,显示如下:

 

通过命令storcli /c0/vall show查看RAID逻辑卷的配置情况,当前为未配置RAID。

 

通过命令storcli /c0/eall/sall show查看c0控制器所有物理槽位和和所有槽位中的物理磁盘信息。

 

创建RAID

步骤 1:如果原磁盘存在 RAID,需要将 RAID 删除

 

使用storcli /c0 /vall show命令查看已有的阵列配置信息,如果存在,需要使用storcli /c0 /v0 delete删除相关配置。如果 vd 包含 MBR 或者用户信息数据,需要加 force 参数强制删除。

步骤 2:创建 RAID

storcli64工具创建RAID的具体使用方法如下:

storcli /cx add vd r[0|1|5|6|00|10|50|60][Size=<VD1_Sz>,<VD2_Sz>,..|all]

        [name=<VDNAME1>,..] drives=e:s|e:s-x|e:s-x,y [PDperArray=x|auto]

        [SED] [pdcache=on|off|default][pi] [DimmerSwitch(ds)=default|automatic(auto)|

        none|maximum(max)|MaximumWithoutCaching(maxnocache)] [WT|WB|AWB][nora|ra]

        [direct|cached] [cachevd]

        [Strip=<8|16|32|64|128|256|512|1024>] [AfterVd=X]

        [Spares = [e:]s|[e:]s-x|[e:]s-x,y][force]

   [Cbsize=0|1|2 Cbmode=0|1|2|3|4|7]

本例中,对1、2操作两个硬盘创建RAID0的操作命令如下:

storcli /c0 add VD r0 drives=252:0,252:1

可以使用该命令直接新建RAID0。

 

对于一些场景,可能需要使用Size=all的配置参数,用于增加磁盘的所有空间到逻辑卷。

 

还可以通过参数“name=raid0”来指定raid名称,会在Virtual Drives的Name处显示。

 

如果配置不想要了,就可以通过storcli /c0/v0 delete force来删除RAID配置。

 

再新建两组RAID,两块SSD做RAID0,4块SATA盘做raid0,并分别命名。

 

更换硬盘,重建RAID

实际使用过程中,遇到比较多的就是硬盘故障。介于手头资源有限,一共是2块960G的固态盘,加上4块4T的SATA盘,所以用3块SATA盘做RAID5,另外1块模拟新盘来操作。

首先创建一个3块硬盘的RAID5阵列。

 

通过命令storcli /c0 /eall /sall show来查看物理磁盘信息。

 

磁盘状态描述:

UGood(Unconfigured Good,未配置正常),硬盘状态正常,但还未划分给任何逻辑卷;

UBad(Unconfigured Bad,未配置异常),UGood状态的硬盘出现无法恢复的错误;

Onln(Online,在线),已经设置为某个虚拟硬盘的成员盘,并且处于在线正常可用状态;

Offln(Offline,离线),某个虚拟硬盘的成员盘离线;

Missing,Online状态的硬盘脱离RAID组的状态;

Rbld(Rebuild,重建),硬盘正在重建数据。

拔掉5槽位编号为252:4的硬盘,操作之后使用命令storcli /c0 /vall show来查看阵列信息。发现RAID5阵列状态为Dgrd(degreed,降级),临近故障,参考之前做的硬件RAID测试,RAID5只能接受一块硬盘故障,如果再拔一块盘,则会进入到Failed(故障)状态。

 

此时,再把备用的6号硬盘作为新盘插到5号槽位,可以看到新插入的磁盘状态为Rbld,正在恢复数据,重建RAID。

 

可以通过命令storcli /c0/e252/sall show rebuild 来查看rebuild的进展,不过时间也是真的长,RAID没有数据信息,重建仍然需要4个半小时以上。

 

删除外部RAID配置

比如在上面的操作中,因为操作顺序问题,5号槽位硬盘曾作为RAID5成员, 6号槽位硬盘曾作为RAID0成员,拔出后保留了之前的RAID相关配置,这部分配置会导致这两块硬盘的DG状态为F(Foreign),无法加入新的虚拟硬盘。

 

此时,可以使用命令storcli /c0/fall delete删除掉控制器c0的所有外部配置信息,删除后DG状态为空,可以正常使用。

 

单独替换硬盘

上面操作的是直接替换的场景,如果硬盘仍在使用中,需要使用命令storcli /c0/e252/s4 set offline将5槽位硬盘设置为离线Offline,再使用命令storcli /c0/e252/s4 set missing将硬盘设置为missing状态,之后才可以将原故障硬盘拔出,换上新的硬盘。

 

引入外部RAID配置

上面提到了手工指定硬盘状态,对于处于”UBad“状态的硬盘,可以通过命令storcli /c0 /e252 /s2 set good将其设置为“UGood”状态,方便后续使用。

 

设置好之后,可以看到硬盘的DG状态显示为F,说明有外部RAID配置。

 

可以使用命令storcli /c0 show查看外部RAID的详细信息。

 

此时可以尝试通过命令storcli /c0 /fall import将原有的RAID配置恢复。

 

再次使用命令storcli /c0 /eall /sall show查看磁盘状态。

 

手工重建RAID

如前面操作过程,正常插入新的硬盘之后会自动重建RAID,如果没有自动重建,则需要执行以下操作。

首先确认磁盘位置,从硬盘状态可以看到DG组的值为A,从面板上确认硬盘在第B列、第C行,如硬盘插入到5号槽位,那就是第0列,第2行,对应命令为:storcli /c0 /e252 /s4 insert dg=1 array=0 row=0。

 

再通过命令storcli /c0/e252/s4 start rebuild来手动触发数据重建,也可以使用pause、resume命令来暂停、继续重建任务。

 

可以使用命令storcli64 /c0/e252/s4 show rebuild来单独查看4槽位的rebuild进度。

 

欢迎访问guotiejun.com获取更多信息,个人黄页地址为i.guotiejun.com。

也可以扫码关注公众号“铁军哥”,感谢您的支持!

我还拉个微信群吧,方便和粉丝们一起交流网络、安全、云计算之类的问题,也可以关注公众号后选择“补充能量”→“加入交流群”获取最新加群二维码。

文章知识点与官方知识档案匹配,可进一步学习相关知识
云原生入门技能树首页概览13329 人正在系统学习中

与[转帖]一问带你掌握通过storcli做RAID相似的内容:

[转帖]一问带你掌握通过storcli做RAID

因为系统不支持直接做raid,所以需要使用storcli这个工具来操作。首先把工具上传到服务器任意目录,并使用命令chmod +x storcli64修改文件权限为可执行。 另外可通过命令ln -s /root/storcli64 /usr/bin/storcli来设置软链接,这样后续可以在任意目录

[转帖]图解一致性哈希算法,看这一篇就够了!

http://blog.itpub.net/70024420/viewspace-2925492/ 接下来介绍一个非常重要、也非常实用的算法:一致性哈希算法。通过介绍一致性哈希算法的原理并给出了一种实现和实际运用的案例,带大家真正理解一致性哈希算法。 一、背景 在具体介绍一致性哈希算法之前,先问一个

[转帖]Redis 内存优化在 vivo 的探索与实践

https://www.jianshu.com/p/0849b526f0f4 一、 背景 使用过 Redis 的同学应该都知道,它基于键值对(key-value)的内存数据库,所有数据存放在内存中,内存在 Redis 中扮演一个核心角色,所有的操作都是围绕它进行。 我们在实际维护过程中经常会被问到如

[转帖]Redis进阶实践之十八 使用管道模式提高Redis查询的速度

https://www.cnblogs.com/PatrickLiu/p/8580301.html 一、引言 学习redis 也有一段时间了,该接触的也差不多了。后来有一天,以前的同事问我,如何向redis中批量的增加数据,肯定是大批量的,为了这主题,我又重新找起了解决方案。目前的解决方案大都是从官

[转帖]Redis进阶实践之十八 使用管道模式提高Redis查询的速度

https://www.cnblogs.com/PatrickLiu/p/8580301.html 一、引言 学习redis 也有一段时间了,该接触的也差不多了。后来有一天,以前的同事问我,如何向redis中批量的增加数据,肯定是大批量的,为了这主题,我又重新找起了解决方案。目前的解决方案大都是从官

【转帖】淫技巧 | 如何查看已连接的wifi密码

主题使用方法:https://github.com/xitu/juejin-markdown-themes theme: juejin highlight: github 一、引言 在实际工作中,常常会遇到新来的同事问你wifi密码的事情,但是大多数时候都记不清楚。借鉴youtube上一位Po主的视

[转帖]网络包的内核漂流记 Part 2 - BPF 跟踪 epoll/Envoy 事件与调度

https://blog.mygraphql.com/zh/notes/low-tec/network/bpf-trace-net-stack/ 为何 现代人好像都很忙,忙着跟遥远的人社交,却很容易忽视眼前的人事,更别提那些不直接体现出价值的基础认知了。要花时间认真看一编文章前,都要问一个问题:WH

[转帖]一起来体验96核心、192线程CPU——第四代AMD EPYC处理器独家测试

http://k.sina.com.cn/article_1882475282_70344b12027010s1x.html 与第三代EPYC 7003系列处理器相比,新一代EPYC 9004系列处理器有大量的技术进步,主要包括核心数量、计算线程数大幅提升到最高96核心、192线程;5nm“Zen

[转帖](一)初步认识固态硬盘

https://zhuanlan.zhihu.com/p/411975714 一、固态硬盘是什么? 固态硬盘是用固态电子存储芯片阵列制成的硬盘,简称SSD。固态硬盘的接口规范、定义、功能和使用方法与普通硬盘完全相同,在外形和尺寸上基本与普通硬盘一致。 SATA固态 二、固态硬盘的发展历程 固态硬盘最

[转帖]一、Kafka Tool使用

一、Kafka Tool使用 1、添加cluster 2、开启SASL_PLAINTEXT 如果kafka 开启SASL_PLAINTEXT认证(用户名和密码认证) 3、高级设置 如果设置的是SASL Plaintext,则必须将sasl.mechanism客户端属性更改为PLAIN。可以在“高级”