2020年 · Linux

使用命令行工具对LSI阵列卡进行高效管理

LSI公司(LSI Corporation)(NASDAQ:LSI)(中文:艾萨华)是一家总部位于加利福尼亚州米尔皮塔斯 (Milpitas) 的半导体和软件领先供应商,其主要产品包括:RAID控制器、SSD控制器、ReadChannel、Preamp、Axxia网络处理器和定制ASIC等,为加速数据存储中心与移动网络性能提供了许多领先的解决方案。

在目前各大知名品牌服务器厂商:IBM、DELL、HP、华为、联想、宝德、浪潮、中科曙光等服务器都使用LSI品牌的阵列卡作为服务器存储控制器,而且其性能其他品牌RAID控制器无与伦比,可见LSI阵列卡的优越性。

LSI阵列卡默认采用基于图形化的BIOS界面来管理,服务器在开机自检界面提示按CTRL+C、CTRL+R、CTRL+H等组合键进入,可使用鼠标或键盘来完成RAID的配置等,这种比较适合少量机器手工配置的场景。如果大量的服务器RAID的配置任采用这种方法就显得力不从心了,不过实际上LSI官方退出了基于命令行的管理软件来实现对RAID控制卡的配置与管理,在操作系统内安装软件,可直接对RAID控制卡的管理,同时也可使用带驱动的Linux内核+脚本即可实现大量服务器批量化自动配置RAID来提高管理效率。

目前LSI官方发布的基于SAS/SATA控制器RAID控制卡产品型号(芯片)有:LSI1064、LSI1086、LSI1078、LSI2008、LSI2208、lSI2308、LSI3008、LSI3108等。

一般地,支持RAID 5的卡,我们称其为阵列卡,都可以使用LSI官方提供的MegaCli、SAS2IRCU等工具来管理,而不支持RAID 5的卡,我们称其为SAS卡,使用lsiutil工具来管理。HP的服务器则使用其特有的hpacucli工具来管理。

以下几个软件实现对LSI RAID卡的管理,下载地址   http://down.51cto.com/data/2244795

LSIUTIL

需要glibc.i686的支持,如果没有安装使用yum安装即可。源代码包,解压后直接可执行文件,适用于LSI1068系列阵列卡的管理。lsiutil有两种使用方法: 菜单的交互使用 和 命令行不带任何参数执行lsiutil,就会进入lsiutil的交互模式。加参数使用非交互模式

./lsiutil -p 1 -a 20,12,0,0    查看硬盘计数器

./lsiutil -p 1 -a 21,1,0,0,0     查看逻辑卷状态

./lsiutil -p 1 -a 21,2,0,0,0    查看物理硬盘状态

./lsiutil -p 1 -i –s     显示端口1的设置和连接的设备

./lsiutil –s     显示所有端口上连接的设备

./lsiutil -p 2 -l 1     强制HBA卡端口2连接速度为1Gb

MegaCli 

可以在LSI官方网站或IBM官方下载,基于Windows平台是exe可执行文件,直接安装即可;基于Linux平台官方默认提供的是rpm格式包,直接使用rpm命令安装即可,安装完成后64位系统默认命令绝对路径为/opt/MegaRAID/MegaCli/MegaCli64,32位系统默认绝对路径为/opt/MegaRAID/MegaCli/MegaCli。

可实现对LSI2208等阵列卡的管理,如DELL服务器PERC 5、6、310、700、710、800和810系列阵列卡。具体使用命令如下:

/opt/MegaRAID/MegaCli/MegaCli64 -h    查看帮助信息

/opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aALL    查看所有RAID卡信息

/opt/MegaRAID/MegaCli/MegaCli64 -cfgclr -a0    清除第一块RAID的所有配置,如果有多块RAID卡,a0代表第一块RAID卡,依次类推;如果只有一块RAID卡,那么就是a0。

/opt/MegaRAID/MegaCli/MegaCli64 -cfglddel -L0 -a0    清除第一块阵列卡第一个逻辑磁盘,L0代表第一个逻辑磁盘。

/opt/MegaRAID/MegaCli/MegaCli64 -cfgldadd -r5[117:0,117:1,117:2] -wb -ra -cached -cachedbadbbu -force -a0    在第一块RAID控制器上将前三块物理磁盘创建为RAID5,开启缓存策略。

/opt/MegaRAID/MegaCli/MegaCli64 -CfgSpanAdd -r10 -Array0[245:0,245:1] Array1[245:2,245:3]  -WB -RA -Cached  -Cachedbadbbu -a0    在第一块RAID卡上将前面4块物理磁盘,每2块一组配置为RAID10,开启缓存策略。(注意:LSI SAS2208最多支持64个RAID,支持128个子组,每个RAID最多支持16个子组。)

/opt/MegaRAID/MegaCli/MegaCli64 -EncInfo -aALL    查看所有物理硬盘信息

/opt/MegaRAID/MegaCli/MegaCli64 -AdpBootDrive -Set L0 -a0    配置逻辑第一块磁盘为可引导磁盘

/opt/MegaRAID/MegaCli/MegaCli64 -adpCount    查看RAID控制器的数量

/opt/MegaRAID/MegaCli/MegaCli64 -AdpGetPciInfo -a0    查看第一块RAID卡的PCI信息

/opt/MegaRAID/MegaCli/MegaCli64 -adpallinfo -a0    查看RAID配置信息

/opt/MegaRAID/MegaCli/MegaCli64 -CfgSave -f filename -a0    将第一块RAID卡配置信息保存为一个文件

/opt/MegaRAID/MegaCli/MegaCli64 -CfgRestore -f filename -a0    从某个配置文件恢复配置到第一块RAID卡

/opt/MegaRAID/MegaCli/MegaCli64 -AdpFacDefSet -a0    将第一块RAID卡恢复出厂设置

/opt/MegaRAID/MegaCli/MegaCli64 -PDHSP -Set -PhysDrv [252:4,252:5] -a0     添加两块全局热备盘

/opt/MegaRAID/MegaCli/MegaCli64 -AdpEventLog -Clear -a0    清除RAID卡日志信息

/opt/MegaRAID/MegaCli/MegaCli64 -AdpEventLog  -IncludeDeleted -f deleted.txt -aALL 创建自从启动控制器以来的事件日志

/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -aALL    查看电池信息

/opt/MegaRAID/MegaCli/MegaCli64 -FwTermLog -Dsply -aALL    查看RAID卡日志信息

/opt/MegaRAID/MegaCli/MegaCli64 -FwTermLog -Dsply -aALL > ttylog.txt 将日志导出到文件

/opt/MegaRAID/MegaCli/MegaCli64 -PdList -aALL | egrep ‘Firmware state | SlotNumber’    查看物理硬盘状态信息

/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdDel -L1 -a0    删除第一块RAID卡上的第一个逻辑磁盘阵列信息

/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -lALL -aALL    查看逻辑磁盘信息

/opt/MegaRAID/MegaCli/MegaCli64 -AdpFwFlash -f 2208FW8.rom -Noverchk -a0    升级RAID卡固件

/opt/MegaRAID/MegaCli/MegaCli64 -Cfgclr -Force -a0    清楚RAID卡配置

/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -BbuLearn -aALL    强制BBU重新充电

/opt/MegaRAID/MegaCli/MegaCli64 -PDRbld -ProgDsply -PhysDrv [256:6] -a0    查看物理应聘重新进进度信息

SAS2IRCU

sas2ircu是可执行文件不需要安装,直接使用,可对LSI2308阵列卡的管理,命令使用方法:

./sas2ircu -h    查看帮助信息

./sas2ircu list    查看所有RAID控制器信息

./sas2ircu 0 display    查看第一块RAID控制器、物理磁盘、逻辑磁盘等详细信息,0代表RAID卡编号,如果有多块RAID卡,那么从0开始编号,以此类推;如果只有一块RAID卡,那么就是0。

./sas2ircu 0 status    查看第一块RAID控制器所有逻辑磁盘信息

./sas2ircu 0 delete noprompt    删除第一块RAID控制器上所有RAID配置

./sas2ircu 0 create raid 1 max 2:0 2:1 noprompt    在第一块RAID控制器上将第一块与第二块物理磁盘配置为RAID1,分配最大使用空间。

./sas2ircu 0 create raid10 max 2:2 2:3 2:4 2:5 2:6 2:7 2:8 2:9 2:10 2:11 noprompt    在第一块RAID控制器上将第三块到第十二块物理磁盘配置为RAID10,分配最大使用空间。(注意:LSI SAS2308最多支持2个RAID,单个RAID中最多支持10个硬盘。所有的RAID包含的硬盘总量最多14个,剩余硬盘只能以独立的“Physical drive”方式被LSI SAS2308管理。)

./sas2ircu 0 bootir 286    设置Volume ID号为286的RAID组为预先可引导模式

./sas2ircu 0 hotspare 2:10    配置第11块物理硬盘为热备

./sas2ircu 0 hotspare delete 2:10    删除热备硬盘

./sas2ircu 0 logir    上传或清除日志信息

这里,配置热备命令须要进行人机交互,bash环境下如果要实现自动应答可以用expect脚本实现,

#!/bin/bash

expect <<- END

spawn sas2ircu 0 hotspare 2:12

expect “(YES/NO)?”

send “yes\n”

expect “(YES/NO)?”

send “no\n”

expect eof

END

 

SAS2FLASH

sas2flash工具实现对RAID控制器固件程序的管理,是可执行文件不需要安装直接使用,刷新固件的命令:

sas2flash -o -f <firmware> -b <bios>

./sas2flash -o -f 2118IT.BIN -b MPTSAS2.ROM

SAS3IRCU

对LSI3008阵列卡的管理,命令用法与sas2ircu类似。提供的为可执行文件无需安装

./sas3ircu -h    查看帮助信息

./sas3ircu list    查看所有RAID控制器信息

./sas3ircu 0 display    查看第一块RAID控制器、volume、物理磁盘等信息。这里数字0代表第一块RAID卡,依次类推。如果只有一块RAID卡,也是0。

./sas3ircu 0 status    查看第一块RAID控制器所有逻辑磁盘信息

./sas3ircu 0 delete noprompt    删除第一块RAID控制器上所有RAID配置

./sas3ircu 0 create raid 1 max 2:0 2:1 noprompt    在第一块RAID控制器上将第一块与第二块物理磁盘配置为RAID1,分配最大使用空间。

./sas3ircu 0 create raid10 max 2:2 2:3 2:4 2:5 2:6 2:7 2:8 2:9 2:10 2:11 noprompt    在第一块RAID控制器上将第三块到第十二块物理磁盘配置为RAID10,分配最大使用空间。(注意:LSI SAS3008最多支持2个RAID,单个RAID中最多支持10个硬盘。所有的RAID包含的硬盘总量最多14个,剩余硬盘只能以独立的“Physical drive”方式被LSI SAS3008管理。)

./sas3ircu 0 bootir 286    设置Volume ID号为286的RAID组为预先可引导模式

./sas3ircu 0 hotspare 2:10    配置第11块物理硬盘为热备

./sas3ircu 0 hotspare delete 2:10    删除热备硬盘

./sas3ircu 0 logir    上传或清除日志信息

SAS3FLASH

sas3flash更新RAID控制器固件程序,用法跟sas2flash类似

STORCLI

对LSI3108阵列卡的管理,官方提供的rpm安装包,使用rpm命令安装完成后,64位系统命令的绝对路径为:/opt/MegaRAID/storcli/storcli64,32位系统命令的绝对路径为:/opt/MegaRAID/storcli/storcli。

/opt/MegaRAID/storcli/storcli64 -v    显示软件版本信息

/opt/MegaRAID/storcli/storcli64 -h    查看帮助信息

/opt/MegaRAID/storcli/storcli64 show    查看RAID卡、系统内核、主机名等信息

/opt/MegaRAID/storcli/storcli64 /c0 show all    查看第一块RAID卡版本、功能、状态、以及raid卡下的物理磁、逻辑盘信息。c0代表第一块raid卡,如果有多块则命令以此类推。

/opt/MegaRAID/storcli/storcli64 /c0 show freespace    查看第一块RAID卡剩下的磁盘空间

/opt/MegaRAID/storcli/storcli64 /c0 show rebuildrate    查看第一块RAID卡rebuildrate速度

/opt/MegaRAID/storcli/storcli64 /c0 download file=mr3108fw.rom    升级第一块RAID卡固件

/opt/MegaRAID/storcli/storcli64 /c0 restart    升级固件后重启RAID卡以便新固件及时生效

/opt/MegaRAID/storcli/storcli64 /c0 flushcache     清除第一块RAID卡缓存

/opt/MegaRAID/storcli/storcli64 /c0 /eall /sall show all     查看第一块RAID卡上物理磁盘详细信息

/opt/MegaRAID/storcli/storcli64 /c0 /e252 /s0 start locate 定位第一块RAID上某块物理磁盘,物理磁盘的绿色的定位灯会闪烁。 e代表Enclosure,s代表Slot或PD

/opt/MegaRAID/storcli/storcli64 /c0  /ex /sx stop locate    停止定位,定位灯停止闪烁。

/opt/MegaRAID/storcli/storcli64 /c0 /e252 /sall show rebuild  查看磁盘重建进度

/opt/MegaRAID/storcli/storcli64 /c0 /ex /sx start rebuild    开始重建

/opt/MegaRAID/storcli/storcli64 /c0 /ex /sx stop rebuild    停止重建

/opt/MegaRAID/storcli/storcli64 /c0 /ex /sx add hostsparedrive dgs=0    设置某块物理磁盘为磁盘组0的热备盘,如果不指定dgs,则为该RAID卡上全局热备盘。

/opt/MegaRAID/storcli/storcli64 /c0 /ex /sx delete hostsparedrive    删除热备磁盘

/opt/MegaRAID/storcli/storcli64 /c0 add vd each type=raid0 drives=252:0,1,2,3     单独为每一块物理磁盘创建raid0

/opt/MegaRAID/storcli/storcli64 /c0 add vd type=raid5 size=all names=tmp1 drives=32:2-4    由第3、4、5块物理磁盘来构建RAID5,分配所有空间的逻辑磁盘命名tmp1。

/opt/MegaRAID/storcli/storcli64 /c0 add vd type=raid10 size=all names=tmp1 drives=32:0-3 pdperarray=2    由前四块物理磁盘构建raid10,分配所有空间的逻辑磁盘命名为tmp1。(注意:LSI SAS3108最多支持64个RAID,创建10/50/60时,必须指定pdperarray参数。如果没有这个参数,是创建不成功的。这个参数的含义是:Specifies the number of physical drives per array. The default value is automatically chosen。)

/opt/MegaRAID/storcli/storcli64 /c0 add vd type=raid10 size=100GB,200GB names=tmp1,tmp2 drives=32:0-3 pdperarray=2    由前四块物理磁盘构建raid10,分别分配多个逻辑磁盘。

/opt/MegaRAID/storcli/storcli64 /c0 add vd type=raid10 size=all names=tmp3 drives=32:0-3 pdperarray=2    剩下的所有空间分配给逻辑磁盘tmp3。

/opt/MegaRAID/storcli/storcli64 /c0 /vall show all     显示第一块RAID卡上所有逻辑磁盘相关信息,也可指定某个逻辑磁盘v0,v1等等。

/opt/MegaRAID/storcli/storcli64 /c0 /v0 show     显示第一块RAID卡上第一个逻辑磁盘信息

/opt/MegaRAID/storcli/storcli64 /c0 /v0 del force   强制删除某个逻辑磁盘

/opt/MegaRAID/storcli/storcli64 /c0 /bbu show all   显示bbu信息

/opt/MegaRAID/storcli/storcli64 /c0 /vall set wrcache=wt/wb/awb 设置写策略

/opt/MegaRAID/storcli/storcli64 /c0 show alarm    查看报警器信息

/opt/MegaRAID/storcli/storcli64 /c0 set alarm=silence   暂时关闭报警器鸣叫

/opt/MegaRAID/storcli/storcli64 /c0 set alarm=off       始终关闭报警器鸣叫

/opt/MegaRAID/storcli/storcli64 /c0 /e252 /s3 set good    改变插入的物理磁盘的状态

/opt/MegaRAID/storcli/storcli64 /c0 /e252 /s3 start initialization    初始化某个物理磁盘

/opt/MegaRAID/storcli/storcli64 /c0 /e252 /s3 show initialization    查看某个初始化的物理磁盘进度

/opt/MegaRAID/storcli/storcli64 /c0 /v0 set wrcache=wt   修改vd的写策略

/opt/MegaRAID/storcli/storcli64 /c0 /v0 set rdcache=nora   修改vd的读策略

/opt/MegaRAID/storcli/storcli64 /c0 /fall show   查看foreign信息

/opt/MegaRAID/storcli/storcli64 /c0 /fall import    导入foreign

/opt/MegaRAID/storcli/storcli64 /c0 show termlog type=contents       在线查看日志

/opt/MegaRAID/storcli/storcli64 /c0 show termlog type=contents | grep “rebuild”    在线查看日志抽取关键字

/opt/MegaRAID/storcli/storcli64 /c0 show events file=/home/eventreports    将日志存储为文件

HPACUCLI

hpacucli、hpssacli 是HP服务器特有的阵列卡管理工具,官方提供的rpm包直接安装即可使用。hpacucli工具支持的阵列卡型号如下:

Smart Array products:
    Smart Array 5312 Controller
    Smart Array 5302 Controller
    Smart Array 5304 Controller
    Smart Array 532 Controller
    Smart Array 5i Controller  
    Smart Array 641 Controller
    Smart Array 642 Controller
    Smart Array 6400 Controller
    Smart Array 6400 EM Controller
    Smart Array 6i Controller
    Smart Array P600 Controller
    Smart Array P400 Controller
    Smart Array P400i Controller
    Smart Array E200 Controller
    Smart Array E200i Controller
    Smart Array P800 Controller
    Smart Array E500 Controller
    Smart Array P700m Controller
    Smart Array P410i Controller
    Smart Array P411 Controller
    Smart Array P212 Controller
    Smart Array P712m Controller
    Smart Array B110i SATA RAID
    Smart Array P812 Controller
    Smart Array P220i Controller
    Smart Array P222 Controller
    Smart Array P420 Controller
    Smart Array P420i Controller
    Smart Array P421 Controller
    Smart Array P822 Controller
    Smart Array P721m Controller
    Dynamic Smart Array B320i RAID
    Dynamic Smart Array B120i RAID
MSA products:
    MSA500 Controller
    MSA500 G2 Controller
    MSA1000 Controller     
    MSA1500 CS Controller
    MSA20 Controller
    
命令用法如下:

hpacucli ctrl all show config detail  查看阵列详细信息、配置

hpacucli ctrl all show 查看所有控制器状态

hpacucli ctrl slot=0 show config detail 查看slot 0阵列信息详细状态

hpacucli ctrl slot=0 logicaldrive 2 show 逻辑磁盘信息

hpacucli ctrl slot=0 physicaldrive 1I:2:1 show(物理磁盘信息)

hpacucli ctrl slot=0 create type=ld drives=1I:1:3,1I:1:4,2I:1:5,2I:1:6 raid=1+0 用3,4,5,6号盘创建一个raid1+0阵列

hpacucli ctrl slot=0 create type=ld drives=1I:1:3,1I:1:4,2I:1:5 raid=5 用3,4,5号盘创建一个raid5阵列

hpacucli ctrl slot=0 create type=ld drives=1I:1:3 raid=0 用3号盘创建一个raid0阵列

hpacucli ctrl slot=0 array B delete forced 强制删除阵列 B

hpacucli ctrl slot=0 logicaldrive 2 delete forced 强制删除逻辑磁盘2

hpacucli ctrl slot=0 logicaldrive 2 modify caching=enable 打开逻辑磁盘缓存

 

HPSSACLI

hpssacli支持的阵列卡型号如下:

 Smart Array P410i Controller
 Smart Array P411 Controller
 Smart Array P212 Controller
 Smart Array P712m Controller
 Smart Array B110i SATA RAID
 Smart Array P812 Controller
 Smart Array P220i Controller
 Smart Array P222 Controller
 Smart Array P420 Controller
 Smart Array P420i Controller
 Smart Array P421 Controller
 Smart Array P822 Controller
 Smart Array P721m Controller
 Dynamic Smart Array B320i RAID
 Dynamic Smart Array B120i RAID
 Smart Array P430 Controller
 Smart Array P431 Controller
 Smart Array P731m Controller
 Smart Array P230i Controller
 Smart Array P530 Controller
 Smart Array P531 Controller
 Smart Array P830 Controller
 Smart Array P830i Controller

命令用法如下:

hpssacli ctrl all show status 查看raid卡信息(包括控制器状态、Cache状态、电池状态)

hpssacli ctrl slot=0 show config detail 查看raid详细信息

hpssacli ctrl slot=0 ld all show  查看raid状态

hpssacli ctrl slot=0 pd all show status  查看物理硬盘状态

hpssacli ctrl slot=0 pd all show  查看物理硬盘

hpssacli ctrl slot=0 array A ld all show  查看slot 0 阵列A 所有逻辑驱动器信息

hpssacli ctrl slot=0 array A pd all show 查看slot 0 阵列A 所有物理驱动器信息

hpssacli ctrl slot=0 create type=ld drives=all raid=0    所有磁盘创建raid0

hpssacli ctrl slot=0 create type=ld drives=1I:1:3,1I:1:4,2I:1:5,2I:1:6 raid=1+0 创建raid10

hpssacli ctrl slot=0 create type=ld drives=1I:1:3,1I:1:4,2I:1:5 raid=5 用3,4,5号盘创建一个raid5阵列

hpssacli ctrl slot=1 create type=ld drives=1I:1:1-1I:1:2 raid=1 创建raid1

hpssacli ctrl slot=1 array B delete forced 删除raid

hpssacli ctrl slot=0 ld all delete    删除所有配置

转:https://blog.51cto.com/1130739/1771506