MegaCli 簡易使用介紹


查看幫助

MegaCli64 -h

 

適配卡配置

查看RAID控制器的數量

MegaCli64 -adpCount

 

 

查看所有raid卡詳細信息

 MegaCli64 -AdpAllInfo -aALL

 

查看 RAID 卡 Rebuild 參數

重建在IO資源使用中的百分比,默認為30%

 MegaCli64 -AdpAllinfo -aALL |grep -i rebuild

 

設置RAID 卡 Rebuild 參數

MegaCli64 -AdpSetProp { RebuildRate -60} -aALL

 

 

 磁盤配置

查看連接RAID卡的全部硬盤詳細信息

MegaCli64 -PDList -aALL    ----其中ALL意思是所有的控制器,此處也可以用0表示

MegaCli64 -PDList -aN   N可以根據Adapter #0來確定

磁盤的信息如下:

 

磁盤信息過濾

由於磁盤信息較多,所有可以根據自己的需要來過濾得到自己想要的信息

MegaCli64 -PDList -aAll| grep -Ei "(Enclosure Device|Slot Number|Raw Size|Firmware state)"  ---粗過濾

grep是過濾的意思

-E參數是使用擴展正則表達式來過濾

-i參數是不區分大小寫來過濾

Enclosure Device過濾出raid卡的ID;Slot Number過濾出磁盤的槽號;RawSize過濾出磁盤的大小;Firmware state過濾出磁盤的狀態。

 

獲取指定磁盤信息

MegaCli -pdInfo -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL

N表示raid卡編號,0表示第一塊raid卡;ALL表示所有的raid卡 ;E和S代表Enclosure Device和Slot Number

 

磁盤上下線

MegaCli64 -PDOffline/PDOnline -PhysDrv [E:S] -a0

 

磁盤點燈

MegaCli64 -PDLocate -start -physdrv[58:17] -a0

MegaCli64 -PDLocate -stop -physdrv[58:17] -a0

 

 

RAID組基礎配置

創建RAID組

MegaCli64 -CfgLdAdd -r(0|1|5) [E:S, E:S, ...] -aN

N表示raid卡編號,0表示第一塊raid卡;ALL表示所有的raid卡 ;E和S代表Enclosure Device和Slot Number

 

下面是一個創建raid5例子,屬性為默認       固件狀態會由Unconfigured變成Online

 

 下面給出一個創建raid10的例子,並設置屬性

 

刪除RAID組

MegaCli64 -CfgLdDel -LX -a0

 

 

查看RAID組信息

MegaCli64 -LDInfo -Lall -aALL (創建的示例已經使用過了)

MegaCli64 -LdPdInfo -aALL   -----查看raid信息及raid組成磁盤信息。

 

RAID Level對應關系:RAID級別一般通過 Primary 字段值來判斷

還需要結合Span Depth的值來判斷值為1表示為 RAID-1,不為1表示 RAID-10; 還有一種情況:Primary-1, Secondary-3, RAID LevelQualifier-0 也是表示 RAID-10;

RAIDLevel : Primary-0, Secondary-0, RAID Level Qualifier-0    對應RAID 0

RAIDLevel : Primary-1, Secondary-0, RAID Level Qualifier-0    對應RAID 1

RAIDLevel : Primary-5, Secondary-0, RAID Level Qualifier-3    對應RAID 5

RAIDLevel : Primary-1, Secondary-3, RAID Level Qualifier-0    對應RAID 10

 

修改RAID組屬性

MegaCli -LDGetProp -Cache -L0 -a0  獲取cache屬性

 

WriteBack:寫緩存策略

WriteThrough:直接寫入磁盤,不適用RAID卡緩存。

 

ReadAheadNone:不開啟預讀

ReadAhead:開啟預讀,在讀操作的時候,預先把后面順序的數據載入raid卡緩存,在順序讀的環境中能提供很好的性能,但是在隨機讀的環境中反而降低讀的性能(適合文件系統,不適合數據庫系統)

ReadAdaptive:自適應預讀,在緩存和I/O空閑時選擇預讀,默認策略。

 

Direct:讀操作不緩存到RAID卡緩存。

Cached:讀操作緩存到RAID卡緩存。

 

如果BBU(電池)出現問題是否啟用WriteCache

No Write Cache if Bad BBU:如果BBU出現問題不使用WriteCache,從WriteBack自動切換到WriteThrough,默認配置。

Write Cache OK if Bad BBU: 如果BBU出現問題仍啟用WriteCache,這種配置是非常不安全的,除非是有UPS或者雙電源的情況下。

 

緩存策略解釋:

WT (WriteThrough)

WB (WriteBack)

NORA (ReadAheadNone)

RA (ReadAhead)

ADRA (ReadAdaptive)

Cached

Direct

修改屬性
MegaCli64 -LDSetProp WT -L0 -a0    
MegaCli64 -LDSetProp RA -L0 -a0
MegaCli64 -LDSetProp Cached -L0 -a0

 

清除RAID配置(慎用)

MegaCli -CfgClr [-Force] -aN|-a0,1,2|-aALL

 

RAID組擴展配置

1.擴容過程中無法新建RAID組

2.擴容過程中無法對其余RAID組擴容

下面示例一個RAID5擴容:

MegaCli64 -LDRecon -Start -r5 -Add -PhysDrv[58:7, 58:11] -L0 -a0

 

查看擴容的進度(真的是超級慢)

MegaCli64 -LDRecon -ShowProg -L0 -a0  顯示擴容進度

MegaCli64 -LDRecon -progdsply -L0 -a0  動態顯示擴容進度

 好了,我終於等到1%了

 

RAID組熱備配置

全局熱備

MegaCli64 -PDHSP -set -PhysDrv[E:S] -a0     添加全局熱備

MegaCli64 -PDHSP -rmv -PhysDrv[E:S] -a0  刪除全局熱備

添加全局熱備后,狀態如下:

此時下線成員盤,RAID組進入重構

 MegaCli64 -PDRbld -ShowProg -PhysDrv[E:S] -aALL 查看磁盤重構進度

 MegaCli64 -PDRbld -ProgDsply -PhysDrv[E:S] -aALL  動態顯示重構進度

 

局部熱備

在創建時添加局部熱備

MegaCli64 -CfgLdAdd -r1 [58:7,58:11] -Hsp[58:17] -a0

查看RAID組信息:

然后再添加一塊全局熱備

准備工作完畢!現在下線成員盤,下線之后局部熱備替換到成員組

RAID組狀態也變為降級

rebuild的時間也很長,但此期間可以創建新的RAID組

等待ing~~~~~~~~~~

此時另一塊盤也可以下線,不過下線rebuild就涼涼了…… 

 

第二種是創建成功之后,給特定RAID組添加熱備盤

MegaCli64 -CfgLdAdd -r5 [58:7,58:11,58:17] -a0

MegaCli64 -CfgLdAdd -r1 [58:19,58:23] -a0

首先創建兩個RAID組,然后把熱備添加到第二個RAID組里(局部熱備可以同時添加到多個RAID組)

局部熱備里的Array計算比較麻煩,這里就要用到上面提到的DG,要按DG的排序累加,一直累加到要添加熱備的VD(要添加熱備的VD也要計算)。
1. 默認設Array為-1。
2. 如果是RAID0,1,5,6,則Array加1。
3. 如果是RAID10,50,則Array加2。
4. 如果是RAID0,1,5,6,則返回Array最后計算的值。
5. 如果是RAID10,50,則返回Array-1,Array。

MegaCli64 -PDHSP -set -Dedicated [-Array1] -PhysDrv[58:18] -a0

 

常見問題處理

1.     Firmwarestate:Unconfigured(good), Spun down解決方法:

重新熱拔插指定硬盤,該狀態會變成Firmware state:Unconfigured(good), Spun Up

創建raid后磁盤狀態也會由Spun down變成SpunUp

 

2.     Firmware state: Unconfigured(bad)解決辦法:

MegaCli64 -PDMakeGood -PhysDrv[E:S] -a0 固件狀態會由Unconfigured(bad)變成Unconfigured(good), Spun Up

# MegaCli64 -PDMakeGood -PhysDrv[252:7] -a0

 

3.     Firmware state: failed解決辦法:

出現failed狀態的硬盤大多已損壞,建議更換(或報修);但可以強制上線。

強制上線步驟如下:

可以先將磁盤下線。 # MegaCli64 -PDOffline-PhysDrv[E:S] -a0

然后再上線。        # MegaCli64 -PDOnline -PhysDrv[E:S] -a0

 

4.     以下狀態的解決辦法:

Foreign State: Foreign

Foreign Secure: Drive is notsecured by a foreign lock key

辦法一:可以清除恢復狀態(慎用)

# MegaCli64 -CfgForeign -Clear -a0

辦法二:導入配置,恢復虛擬磁盤組

# MegaCli64 -CfgForeign -import -a0

 

5.     如何定位設備/dev/sd*由哪些磁盤組成並點亮指定硬盤。

 udevadm info -q path -n /dev/sda

可以看出設備/dev/sda是raid下的Virtual Drive: 0

然后確定Virtual Drive: 0是由哪些磁盤組成,並點亮磁盤

MegaCli64 -ldpdinfo -a0|grep -Ei "(Virtual Drive:|RAID Level|^Size|Enclosure Device|Slot Number)"

 

參考:

MegaCli使用手冊

MegaCli和storcli設置熱備盤


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM