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工具来管理。

 

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    将日志存储为文件

 

 

posted on 2017-08-01 11:49  张兴龙  阅读(5892)  评论(0编辑  收藏  举报

导航