1. 程式人生 > >使用命令列工具(hpssacli/storcli)對LSI陣列卡進行高效管理

使用命令列工具(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

在華為官網下面的路徑可以下載一個工具壓縮包,下載路徑如下,可以自行下載。

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    刪除所有配置