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