學習RAID 01

開門見山

同事在做自定義RAID時發現當前使用的Dell機器中RAID 10(注:八塊盤做的RIAD 10)中SPAN的個數不同,其中A機器SPAN個數為1,B機器SPAN個數為2,常識講8塊盤做RAID 10應該有4組RIAD 1再組RAID 0,但AB兩臺機器都不是這樣,查看機器的RAID級別也都是RAID 10。這裡先補充下RAID 10的姿勢。

RAID 10是RAID 1+RAID 0的產物所以大家大都讀RAID 一零、少讀RAID十。

RAID 10是先鏡射再分割數據,再將所有硬盤分為兩組,視為是RAID 0的最低組合,然後將這兩組各自視為RAID 1運作。

學習RAID 01/10/10E的區別

RAID 1 0

再講下RAID 01這兩個雖然名字差不多,但是區別很大。

RAID 01跟RAID 10的相反,是先分割再將數據鏡射到兩組硬盤。它將所有的硬盤分為兩組,變成RAID 1的最低組合,而將兩組硬盤各自視為RAID 0運作。

學習RAID 01/10/10E的區別

RAID 0 1

當RAID 10有一個硬盤受損,其餘硬盤會繼續運作。RAID 01只要有一個硬盤受損,同組RAID 0的所有硬盤都會停止運作,只剩下其他組的硬盤運作,可靠性較低。如果以六個硬盤建RAID 01,鏡射再用三個建RAID 0,那麼壞一個硬盤便會有三個硬盤脫機。因此,RAID 10遠較RAID 01常用。(紅色字摘自維基百科)

繼續下文

諮詢廠商,工程師解釋:這種現象(指8塊盤RAID 10只有1個SPAN或2個SPAN)是由於Dell對RAID 10的增強功能導致,由於傳統RAID 10一個SPAN中是兩塊硬盤,一個RAID卡一般最大支持8個SPAN,所以最大支持16塊硬盤的RAID10。Dell為了突破RAID 10最大硬盤數限制,在PERC 6 固件6.1之後的RAID卡中,使用了RAID 10 E功能,該功能支持在不影響性能的情況下允許一個SPAN跨多個硬盤。

具體實現如下:

比如12塊硬盤組RAID10,設置為6個SPAN,每個SPAN兩塊硬盤情況如下

學習RAID 01/10/10E的區別

RAID 10E支持 12塊硬盤只配置3個SPAN,每個SPAN 4塊硬盤

RAID 10E 會在底層建立BVD,BVD下面再建立兩兩硬盤的RAID 1

具體實現如下:

學習RAID 01/10/10E的區別

這兩種設置在性能上沒有差別

https://www.dell.com/support/article/us/en/04/sln111362/intelligent-mirroring-and-enhanced-raid-10-aka-raid-10e-?lang=en(英語好的可以自己看下)

支持此功能的RAID卡,RAID卡會自行決定適當跨越值(備註這點工程師沒有解釋判斷邏輯。)

學習RAID 01/10/10E的區別

http://topics-cdn.dell.com/pdf/idrac7-8-lifecycle-controller-v2.50.50.50_users-guide_zh-cn.pdf

以上是工程師給的解釋,看完感覺又漲了姿勢。

那麼怎麼看自己的機器是否支持RAID 10 E呢?

打開iDrac 點開存儲-控制器,看自己的陣列卡是否支持RAID 10不均勻跨越。如果支持的話就是支持RAID 10 E了,見下圖:

學習RAID 01/10/10E的區別

好了原因知道了,不過鑑於我們沒有使用超過36塊盤RAID 10的機器,所以感覺對於我們講沒啥用,且因為是陣列卡控制器自動設置適當的值,反而覺得亂。可以參考在裝機初始化時使用megacli對RAID 10做統一化操作,參考以下命令:

megacli -cfgspanadd -r10 -array0[32:0,32:1] -array1[32:2,32:3] -array2[32:4,32:5] -array3[32:6,32:7] wb direct -a0


分享到:


相關文章: