MegaCli 版本8.00.29,raid卡爲lsi 8888elp,固件11.0.1-0036
1 巡讀
一 MegaCli -adppr -enblauto -a0,立即激活
MegaCli -adppr -enblman -a0 設置成手動模式,需要用MegaCli -adppr -start –a0 來激活。
二 用MegaCli -adppr -info -a0來查看巡讀的模式,本次巡讀結束與下一次開始巡讀的間隔,當前狀態等信息。
三 MegaCli -fwtermlog -dsply -a0可以查看巡讀的進度
四 MegaCli -adppr -stop -a0 結束巡讀,在巡讀過程中,多次運用MegaCli -adppr -stop -a0或MegaCli -adppr -start -a0
會使疊代數增加,此時可能不能開始或結束巡讀,用MegaCli -adppr -dsbl -a0來禁止巡讀,重新開始。
五 MegaCli -adppr -setdelay val -a0設置本次巡讀結束與下一次巡讀開始的時間間隔,默認是168小時,當val=0
時, 本次巡讀結束後,立即開始下一次巡讀
六 MegaCli -AdpSetProp -PrCorrectUncfgdAreas -val -a0 巡讀時是否糾正媒介錯誤
七 設置定時巡讀 MegaCli -AdpPR -SetStartTime yyyymmdd hh -a0
yyyymmdd hh,具體含義如下:20120108 16表示2012年01月08日16點
2 cc校驗
一 立即開始cc校驗, MegaCli -ldcc -start -L0 –a0 (L0表示Target ID 爲0的raid組),如果沒有完全初始化或後臺初始化。The virtual disk has not been initialized. Running a consistency check may result in inconsistent messages in the log。可以用MegaCli -ldcc -start -force –L0 –a0強行cc校驗。
二 MegaCli -ldcc -progdsply -L0 -a0 顯示當前cc校驗的進度。
三 MegaCli -ldcc -abort -L0 -a0 關掉當前的cc校驗
四 計劃cc校驗
1 如果模式爲disable,(MegaCli -adpccsched -info -a0來查看),則下一次開始時間爲07/28/2135, 02:00:00,狀態爲 Stopped,延期爲168個小時。
2 只有模式爲Sequential和Concurrent模式時,纔可以設定定期時間,所以要首先設定模式,MegaCli -adpccsched -modeconc -a0或MegaCli -adpccsched -modeseq -a0,然後設定開始時間,MegaCli -adpccsched setstarttime 20101122 18
-a0,設置本次cc校驗結束和下次cc校驗開始的時間間隔,MegaCli -adpccsched -setdelay 2 -a0。
3 如果模式爲Sequential時,所有虛擬磁盤組順序進行cc校驗
4 如果模式爲Concurrent時,所有虛擬磁盤組同時進行cc校驗
五 MegaCli -AdpCcSched -dsbl -a0 禁止計劃cc校驗
六 MegaCli -adpsetprop -AbortCCOnError -1 -a0 設置錯誤發生時放棄cc校驗
七 查看cc校驗的事件日誌,MegaCli -AdpEventLog -GetCCIncon –f filename –L0 –a0
八 如果設置延期時間爲0,本次cc校驗結束後,下一次cc校驗會立即開始
3 快速初始化和完全初始化
一 MegaCli -LDInit -start –L0 -a0 快速初始化
二 MegaCli -LDInit -start -full –L0 -a0 完全初始化
三 MegaCli -LDInit -progdsply -L0 -a0 顯示初始化的進度
四 MegaCli -LDInit -abort -L0 -a0 結束完全初始化
五 快速初始化值是往raid組的前8M和後8M寫0
4 後臺初始化
一 禁止後臺初始化 MegaCli -LDBI -dsbl -L0 -a0
二 結束正在進行的後臺初始化 MegaCli -LDBI -abort -L0 -a0
三 查看後臺初始化的設置 MegaCli -LDBI -getsetting -L0 -a0
四 顯示後臺初始化進度 MegaCli -LDBI -progdsply -L0 -a0
五 Raid5 需要5個數據盤纔可以後臺初始化(5個盤中不包含熱備盤)
六 後臺初始化是創建raid後5分鐘開始的(好像有時不是這樣的)
七 後臺初始化和cc校驗不同的地方是,後臺初始化可以自動開始
八 改變後臺初始化率時,需要停止後臺初始化,否則沒有效果
5 copyback
一 開啓或禁用copyback, MegaCli -AdpSetProp –CopyBackDsbl -0 -a0 (開啓)
二 顯示copyback設置情況 MegaCli –AdpGetProp -CopyBackDsbl –a0
三 當設置copyback爲enable時,拔出壞盤,換上一個UNCONF的新盤,先用熱備盤進行重建,然後
進行copyback操作,如果copyback爲disable時,不進行copyback操作,可以設定copyback爲enable,然
後用MegaCli -PDCpyBk -Start -PhysDrv[E0:S0,E1:S1] –a0開始copyback操作,其中[E0:S0]是raid組中
的磁盤(源盤),而[E1:S1]不是raid組中的磁盤(目的盤)
四 MegaCli -AdpGetProp SMARTCpyBkEnbl -a0 當某個盤出現第一個smart錯誤時,可以在這個盤和
熱備盤之間進行copyback操作,熱備盤做爲目的盤,完成了copyback操作時,smart錯誤盤才標記爲
failed狀態。
五 如果在copyback時,raid組刪除,目的盤迴到熱備盤狀態或Unconfigured Good
6 日誌
一 查看所有的information日誌,MegaCli -adpalilog -a0
二 查看固件調試日誌(固件終端日誌)MegaCli -fwtermlog -dsply -a0
三 查看raid卡日誌 MegaCli -adpeventlog -getevents -f filename -a0
四 清除日誌MegaCli -AdpEventLog -Clear –a0
7 擴容
一 MegaCli -LDRecon -Start -r5 -Add -Physdrv[E0:S0] -L0 -a0(raid5的擴容)
二 MegaCli -LDRecon -progdsply -L0 –a0 查看擴容的進度
8 級別遷移
一 MegaCli -cfgldadd -r0[117:1,117:3,117:11] -a0 ,建立了三個盤的raid 0,增加一個盤[117:14],轉換到raid5, MegaCli -ldrecon -start -r5 -add -physdrv[117:14] -l0 -a0
二 在遷移過程中,轉換前的raid的一個盤下線,轉換前raid的所有盤都下線
三 支持的類型 RAID 0 to RAID 1,RAID 0 to RAID 5,RAID 0 to RAID 6,
RAID 1 to RAID 0,RAID 1 to RAID 5,RAID 1 to RAID 6,RAID 5 to RAID 0,
RAID 5 to RAID 6,RAID 6 to RAID 0,RAID 6 to RAID 5
9 升級
一 從低版本到高版本升級MegaCli -adpfwflash -f x.rom -a0
二 從高版本到低版本降級MegaCli -adpfwflash -f x.rom -noverchk -a0
加上noverchk忽略版本的檢查,升級以後需要重啓才生效
10 連接方式
一 Raid對內有兩個接口,即connector0和connector1。得到連接器的狀態MegaCli -adpgetconnectormode -connector0 -a0
二 如果連接器的模式爲internal時,jbod的磁盤全部看不到,如果連接器的模式爲external時,主櫃上的磁盤全部看不到
11 外來配置
一 MegaCli -cfgforeign -scan -a0 掃描外來配置的個數
二 MegaCli -cfgforeign -preview -a0 查看當前的磁盤在normal時的位置
三 MegaCli -cfgforeign -import -a0 來導入配置,恢復虛擬磁盤組
四 MegaCli -cfgforeign -clear -a0 清除外來配置
五 MegaCli -cfgforeign -dsply -a0 顯示出現外來配置(磁盤插入的順序)的過程
12 物理磁盤的處理
一 MegaCli -PDMakeGood -PhysDrv[E0:S0] –a0磁盤的狀態由FAULTY變成CONF
二 磁盤上線 MegaCli -PDOnline -PhysDrv[E0:S0,E1:S1,...] –a0
磁盤下線 MegaCli -PDOffline -PhysDrv[E0:S0,E1:S1,...] –a0 (failed狀態的盤可以下線),然後用MegaCli -pdmarkmissing -physdrv[E0:S0] -a0讓磁盤踢盤,讓其他的UNCONF狀態的磁盤來替代這個盤MegaCli -PdReplaceMissing -physdrv[E0:S0] -arrayA, -rowB -a0
三 MegaCli -PdPrpRmv -physdrv[E0:S0] –a0此時磁盤處於Spun down狀態,如果用此磁盤來建立raid,則磁盤的狀態自動變成Spun Up
四 MegaCli -pdclear -start -physdrv[E:S] -a0 清除單個磁盤
五 MegaCli -AdpSetProp –DsblSpinDownHSP -val –a0 設置熱備盤的節電策略
六 MegaCli -AdpSetProp –EnblSpinDownUnConfigDrvs -val –a0 設置空閒盤的節電策略
七 MegaCli -PDList –a0 獲取所有磁盤的詳細信息
八 MegaCli -pdInfo -PhysDrv[E0:S0] –a0 獲取單個盤的詳細信息
13 Adpsetprop,設置屬性
一 RebuildRate ,PatrolReadRate,BgiRate,CCRate,ReconRate,表示進行重建,巡讀,後臺初始化,cc校驗,擴容等所佔有的系統資源率,提高速度
二 CoercionMode(強制模式),分成三種形式,None,128M,1G,當爲1G時,每個磁盤比沒有設置的時減少了1G的空間。
三 PredFailPollInterval,輪詢預測失敗的時間間隔。Predictive Failure Count就是smart錯誤
四 MaintainPdFailHistoryEnbl 保存壞盤的歷史記錄。當爲enable時,當一個盤掉線並重新上線。需要清除配置信息,添加爲熱備盤纔可以重建當爲disable時。當一個盤掉線並重新上線,自動重建
五 MegaCli -AdpSetProp ClusterEnable -0 -a0 設置Cluster模式,目前不支持,只能設置爲disbale
六 MegaCli -AdpSetProp -EnableJBOD -1 -a0 設置jbod模式,針對raid0有效,對單個盤讀寫,即先寫第一個盤,寫滿了在寫第二個盤。MegaCli -PDMakeJBOD -physdrv[E0:S0,E1:S1] -a0 可以設置jbod模式(目前不支持)
七 MegaCli -AdpSetProp ExposeEnclDevicesEnbl -1 -a0, 讓設備驅動暴露enclosure devices
14 NCQ
一 顯示NCQ的設置情況 MegaCli -adpgetprop -NCQdsply -a0
二 設置開啓NCQ MegaCli -adpsetprop -NCQenbl -a0
三 關閉NCQ MegaCli -adpsetprop -NCQdsbl -a0
Native Command Queuing (NCQ)對硬盤的讀寫命令的順序進行優化。帶NCQ技術的硬盤在接到讀寫指令後,會根據指令對訪問地址進行重新排序。比如根據指令,硬盤需要訪問330扇區、980扇區、340扇區,由於數據在磁盤上分佈位置不同,普通硬盤只會按部就班地依次訪問。而NCQ硬盤對指令進行優化排列之後,就可以先讀取330扇區,接着讀取340扇區,然後再讀取980扇區。這樣做的好處就是減少了磁頭臂來回移動的時間,使數據讀取更有效,同時有效地延長了硬盤的使用壽命。
15 添加和移除熱備盤
一 MegaCli -PDHSP -Set -Dedicated -Array0 -physdrv[E:S] -a0 添加局部熱備盤,其中array0表示第0個raid
二 MegaCli -pdhsp -set -physdrv[E:S] -a0 添加全局熱備盤
三 MegaCli -pdhsp -rmv -physdrv[E:S] -a0 移除全局和熱備局部熱備
16 重建
一 MegaCli -pdrbld -progdsply -physdrv[E:S] -a0 查看重建的進度
二 MegaCli -AdpSetProp RebuildRate -val -a0 調快重建的速度
三 MegaCli -AdpAutoRbld -Enbl -a0 設置自動重建,當一個盤壞掉時,熱備盤可以自動重建,代替壞的盤
四 MegaCli -PDRbld -Start -PhysDrv [E0:S0] -a0 手動開始重建,E0:S0表示壞的盤
17 恢復出廠設置
一 MegaCli -AdpFacDefSet –a0 恢復出廠的默認配置
18 告警
一 MegaCli -AdpSetProp -AlarmSilence –a0 臨時關閉,重啓又變成開啓
二 MegaCli -AdpSetProp -AlarmDsbl –a0 永久關閉,重啓後還是關閉
三 MegaCli -AdpSetProp -Alarmenbl –a0 開啓
四 MegaCli -AdpgetProp -Alarmdsply –a0 查看告警的狀態
19 配置相關
一 MegaCli -CfgDsply -a0 可以查看一組磁盤上的多個raid的配置
二 MegaCli -CfgSave -f filename -a0 保存配置文件
三 MegaCli -CfgRestore -f filename -a0 導入配置文件
Raid組的配置文件放在最後,放在每個磁盤的最後512M,主要包含數據從哪裏開始寫的配置和用來Migration 的swap文件
四 MegaCli -AdpSetProp -AutoEnhancedImportEnbl -a0 啓動時恢復外來配置
五 MegaCli -AdpSetVerify -f fileName -a0 驗證配置文件和文件的內容
20 Raid卡相關
一 MegaCli -adpallinfo -a0 查看raid的配置信息
二 MegaCli -adpShutDown -a0 關閉raid卡
三 MegaCli -adpGetTime -a0 獲取raid的時間
四 MegaCli -AdpDiag val -a0 對raid進行診斷
五 MegaCli -AdpSetProp –LoadBalanceMode -val –a0 設置負載均衡
Raid卡對終端設備採用多路徑訪問,一半的設備通過一條路徑,另一半的設備通過另一條路徑,一條途徑有盤插入和移除時,啓動負載平衡,避免設備有重用
六 MegaCli –adpCount 獲取raid卡的個數
七 MegaCli -AdpGetPciInfo -a0 獲取pci信息
八 MegaCli -AdpSetProp DisableOCR -val -a0 Raid卡的在線重置,fw重置raid卡控制器芯片
九 MegaCli -ShowSummary -f filename -a0 顯示raid卡,系統等的一些簡單信息
十 MegaCli -PhyErrorCounters -a0 顯示每個phy的錯誤數
21 Enclosure的信息
一 MegaCli -encinfo -a0 查看機櫃的相關信息
二 MegaCli -encstatus -a0 查看機櫃的狀態
22 BIOS相關
一 MegaCli –AdpBIOS –BE –a0 在啓動時要按任意鍵纔可以啓動這種情況設置這個參數。但是首先要確保bios處於enable狀態。通過MegaCli -AdpBIOS -dsply -a0可以查看。如果不是,先用MegaCli -AdpBIOS -enbl -a0來設置
二 MegaCli –AdpBootDrive -set -L0 -a0 把當前的Raid組做爲啓動
23 背板相關
一 MegaCli -AdpSetProp -AutoDetectBackPlaneDsbl -val –a0如果背板disable時,會自動的去檢測背板
24 啓動時上電
一 MegaCli -AdpSetProp SpinupDriveCount -val -a0 設置一次上電的磁盤的個數
二 MegaCli -AdpSetProp SpinupDelay -val -a0 設置上電的延遲時間
25 刷新緩存
一 MegaCli -AdpCacheFlush –a0 刷新raid卡緩存
二 MegaCli -AdpSetProp CacheFlushInterval –val –a0 刷緩存的時間間隔
26 讓硬盤LED燈閃爍
一 MegaCli -AdpSetProp UseDiskActivityforLocate -1 -a0
二 MegaCli -PdLocate -start –physdrv[E:S] -a0 讓硬盤LED燈閃爍
三 MegaCli -PdLocate -stopt –physdrv[E:S] -a0 停掉硬盤LED燈
27 電池告警
一 MegaCli -AdpSetProp BatWarnDsbl -val -a0 電池告警
28 糾錯碼相關
一 MegaCli -AdpSetProp EccBucketSize -val -a0 設置糾錯碼漏桶的字節數
29 後臺初始化,完全初始化,cc校驗,巡讀等之間的關係
一 後臺初始化和完全初始化,cc校驗時不能進行巡讀
二 巡讀時可以後臺初始化和完全初始化,此時巡讀結束
三 在後臺初始化和cc校驗時,不能開始完全初始化
四 擴容時不能建raid,不能添加熱備盤
五 rebuild的優先級高於copyback
30 Raid的創建與刪除
一 創建raid 0,1,5,6
MegaCli -CfgLdAdd -rX[E0:S0,E1:S1,...] [WT|WB] [NORA|RA|ADRA] [Direct|Cached] [CachedBadBBU|NoCachedBadBBU] [-szXXX [-szYYY ...]] [-strpszM] [-Hsp[E0:S0,...]] [-AfterLdX] [-Force]|[FDE|CtrlBased] -a0 可以設置寫模式(wt,wb),讀模式(ra,nora,adra),緩存模式(direct,cached),大小(sz),條塊大小(strpszM)等。比如1000G,只用指定盤的一部分(sz1000G),設置條塊的大小strpsz(設置爲16k,則爲strpsz16)
MegaCli -cfgldadd -r5[117:1,117:3,117:11] -wb -ra -cached -cachedbadbbu -force -a0
二 創建raid 10,50,60
MegaCli -CfgSpanAdd -rX-Array0[E0:S0,E1:S1] -Array1[E0:S0,E1:S1] [-ArrayX[E0:S0,E1:S1] ...] [WT|WB] [NORA|RA|ADRA] [Direct|Cached] [CachedBadBBU| NoCachedBadBBU] [-szXXX[-szYYY ...]][-strpszM]
[-AfterLdX][-Force] |[FDE|CtrlBased] -aN
MegaCli -CfgSpanAdd -r10 -Array0[245:0,245:1] Array1[245:2,245:3] -WB -RA -Cached -Cachedbadbbu -a0
三 批量創建raid0
MegaCli -CfgEachDskRaid0 -wb -ra -cached -cachedbadbbu -a0把每個槽位的磁盤都創建爲只有一個盤的raid0
四 把所有的空閒盤都加入到raid中
MegaCli -CfgAllFreeDrv -r5 -SATAOnly -wb -ra -cached -cachedbadbbu -a0
五 刪除raid組
MegaCli -cfgclr -a0 清除所有的raid組的配置
MegaCli -cfglddel -L0 -a0 刪除指定的raid組(Target Id: 0)的raid組
31 設置raid組的屬性
一 MegaCli -ldsetprop -name dg -L0 -a0 設置raid組的名字
二 MegaCli -ldsetprop -rw -L0 -a0 設置訪問策略爲讀寫,MegaCli -ldsetprop -blocked -L0 -a0設置訪問策略爲阻塞,此時raid組的設備不可以訪問,fdisk -l不能發現設備
三 MegaCli -ldsetprop -wt -L0 -a0 設置寫策略爲wt(直寫),直接寫入到硬盤上,然後再返回。wb模式是寫入到緩存中就返回,設置wb模式寫速度有顯著的改善,提高到12倍
四 MegaCli -ldsetprop -ra -L0 -a0 設置讀策略爲ra(預先讀出一定的數據),還有nora模式,ra模式讀可以提高到2倍左右
五 MegaCli -ldsetprop -cached -L0 -a0 設置緩存策略爲cached。
六 MegaCli -ldsetprop -endskcache -L0 -a0 開啓磁盤的緩存,對寫速度有一定的提高(1.4倍)
測試參數:dd ,bs=1M,99999M的數據測試,裸盤測試