在客户现场更换一块宝德服务器PR4036GS2ZMY硬盘时遇到问题,客户一块热备盘故障,拔下故障硬盘并重新插入新盘后等待很长时间发现硬盘状态指示灯异常,后面打400电话才得知这款服务器主板使用的是LSI MegaRAID阵列卡,需要安装storcli软件进行管理。后面回到家赶紧学习了storcli的管理手册。今天趁周末有时间就分享给大家,如果觉得有用的话记得点赞收藏哦。
StorCLI
storcli的前身是Megacli,MegaCli 是LSI公司官方提供的SCSI卡管理工具,现在storcli已经基本代替了megacli,整合了LSI和3ware所有产品。
StorCLI安装
下载链接:https://www.broadcom.com/site-search?q=storcli
下载完后可以通过SCP工具将文件上传到服务器任意目录并解压,解压后可以看到有storcli64文件。
使用命令chmod +x storcli64为文件添加可执行权限后可执行。
为了方便我们在任意目录下可以输入storcli执行./ storcli64,可以用命令 ln -s /root/storcli64 /usr/bin/storcli创建软链接。
LSI MegaRAID
LSI MegaRAID控制器是一种独立于主板的硬件RAID控制器,主要用于提供高性能的RAID存储解决方案。它具有多种RAID级别,可以支持多个硬盘,并提供高速的数据传输和数据保护功能。使用MegaRAID控制器,可以轻松地实现RAID 0、RAID 1、RAID 5等不同级别的RAID阵列,从而提高系统的整体性能和数据安全性。同时,MegaRAID控制器也提供了丰富的管理功能,如在线扩容、硬盘故障自动切换等,使得数据存储更加可靠和高效。
基本语法:
获取控制器号:storcli64 /call show all
/c 控制器号 输出结果中的Controller 值
/v RAID号
/e 背板号 输出结果EID值
/f 外部配置
/s 槽位号 输出结果的Slt值
lspci | grep LSI,可以看到关于服务器上阵列卡的详细信息。
[root@localhost:~] lspci | grep LSI
0000:81:00.0 RAID bus controller: Avago (LSI) MegaRAID SAS Invader Controller [vmhba2]
storcli64 /cx show
storcli64 /cx show 命令可以查看 RAID 控制器信息(x表示控制器ID)
说明:
c:Controller,控制器,也就是阵列卡;
e:Enclosure,硬盘背板“硬盘笼”;
s:Slot,物理硬盘槽位;
v:Virtual Drive,虚拟硬盘,也就是逻辑卷;
d:Disk Group,硬盘组;
f:Foreign configuration file,外部阵列配置。
storcli64 /c0/vall show
storcli64 /c0 /eall /sall show
硬盘状态说明:
UGood(Unconfigured Good,未配置正常):硬盘状态正常,但还未划分给任何逻辑卷;
UBad(Unconfigured Bad,未配置异常):UGood状态的硬盘出现无法恢复的错误;
Onln(Online,在线):已经设置为某个虚拟硬盘的成员盘,并且处于在线正常可用状态;
Offln(Offline,离线):某个虚拟硬盘的成员盘离线;
Missing,Online状态的硬盘脱离RAID组的状态;
Rbld(Rebuild,重建):硬盘正在重建数据。
当state状态为UGood,表示该slot号下的磁盘已经损坏,需要更换处理。
当磁盘不干净的情况下需对磁盘进行初始化,初始化过程会清理掉磁盘上的所有数据,请谨慎使用。
storcli64 /cx/ex/sx start initialization //开始磁盘初始化
storcli64 /cx/ex/sx stop initialization //停止磁盘的初始化
storcli64 /cx/ex/sx show initialization //查看正在初始化的磁盘
storcli64 /c0/e1/s1 set good //设置控制器 0 背板1槽位号为1的磁盘状态为good
storcli64 /c0/e1/s1 set offline //设置控制器 0 背板1槽位号为1的磁盘状态为offline
storcli64 /c0/e1/s1 set online //设置控制器为0 背板为1 槽位号为1的磁盘状态为online
storcli64 /c0 /eall/sall show //确认磁盘状态为UGOOD
storcli64 /cx/ex/sx add hotsparedrive //设置某槽位磁盘作为全局热备
storcli64 /c0/ex/sx delete hotsparedrive //删除某槽位磁盘为热备盘
storcli64 /call/vall show //获得dgs号
storcli64 /c0 /eall/sall show //确认空闲磁盘
storcli64 /cx/ex/sx add hotsparedrive dgs=x //设置某槽位磁盘做dgs为x的RAID的专属热备
语法:
storcli64 /cx add RAID r 0|1|5|6|10|50|60 Size=<RAID1_Sz>,<RAID2_Sz>,…|*all name=,drives=e:s|e:s-x|e:s-x,y;e:s-x,y,z
语法说明:
例如:
storcli64 /c0 add RAID r5 size=all name=DG0 drives=18:15-16,18:18 //使用背板为18,槽位为15、16和18的三块盘创建默认参数的RAID5
storcli64 /c0/vall show //确认要删除的RAID对应的VD号
storcli64 /cx/vx del //删除VD号为x的RAID组
storcli64 /cx/vx start init //开启快速初始化
storcli64 /cx/vx stop init //停止初始化
storcli64 /cx/vx show init //查看快速初始化
当更换硬盘后,需要进行重建RAID,一般RAID重建都是自动的过程,正在重建的硬盘状态显示为Rbld。
storcli64 /call/eall/sall show rebuild //查看rebuild进度
如果没有自动重建,则需要手工重建RAID。
a、确认磁盘位置,从面板上确认硬盘所在列和所在行,插入硬盘后执行命令
storcli64 /c0 /e252 /s0 insert dg=x array=y row=z。
b、手动触发数据重建
storcli64 /c0/e252/s0 start rebuild
当硬盘曾作为其他RAID组的成员盘,被拔出后仍会保留之前的RAID相关配置,这部分配置会导致硬盘的DG状态为F(Foreign),并且无法加入新的,此时需要删除外部RAID配置。
storcli64 /c0/fall delete //删除控制器所有外部配置信息
删除外部RAID配置前:
删除RAID外部配置后:
当DG状态为frgn时,表明某个VD出现脱机,此时需要将原有的RAID配置恢复
storcli64 /c0 /fall import //导入外部RAID配置
storcli64 /cx/ex/sx start locate //开始定位
storcli64 /cx/ex/sx stop locate //停止定位