使用命令行工具(hpssacli/storcli)對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
在華為官網下面的路徑可以下載一個工具壓縮包,下載路徑如下,可以自行下載。
http://support.huawei.com/enterprise/zh/software/22400673-SW1000242754
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
可以在CSDN上下載:http://download.csdn.net/download/itzhangdaopin/9725719
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
可以在CSDN上下載:http://download.csdn.net/download/itzhangdaopin/9725721
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 刪除所有配置