RAID2.0-顛覆傳統(tǒng)RAID方式
經(jīng)過多年的應(yīng)用實(shí)踐和技術(shù)發(fā)展,傳統(tǒng)RAID越來越體現(xiàn)出局限性的一面,如熱點(diǎn)效應(yīng)。為了方便管理,假設(shè)我們把整個RAID組格式化產(chǎn)生的邏輯盤都映射給某個系統(tǒng),不同系統(tǒng)使用不同RAID組,若某個應(yīng)用系統(tǒng)的業(yè)務(wù)特別繁忙,就會造成對應(yīng)RAID組的物理盤讀寫壓力大,形成熱點(diǎn)。
這時,聰明的童鞋提出,我們可以把RAID組的邏輯盤打散了用?。?!于是,每個系統(tǒng)使用的邏輯盤來自不用的RAID組,這樣就把繁忙系統(tǒng)的讀寫壓力分散到更多的物理硬盤上了,棒棒噠??!但是,管理起來好麻煩,有沒有?另一方面,每個系統(tǒng)的業(yè)務(wù)特征是動態(tài)變化的,忙的不會一直忙,不忙的也不一定一直讓人省心,有可能某個時刻所有的應(yīng)用系統(tǒng)都在往同一個RAID組上做讀寫,其它RAID組的硬盤在喝茶磕瓜子,你說那個RAID組內(nèi)硬盤的心里有多苦?這時,管理員童鞋就要做性能調(diào)優(yōu)了,分散熱點(diǎn)數(shù)據(jù),累不?
這時,又有聰明的童鞋提出了池化的概念,即先把所有的邏輯盤放到一個大池子里,再從池子里往外分配存儲空間。假設(shè)RAID組格式化后的邏輯盤大小是100GB,池子里有100個邏輯盤,A系統(tǒng)要使用200GB空間,那么系統(tǒng)會從池子里的每個邏輯盤上摳出2GB空間,100*2GB,組成一個200GB的虛擬盤分配給A系統(tǒng),而不是把2個100GB的邏輯盤組成一個200GB的虛擬盤分配出去。這樣A系統(tǒng)的讀寫壓力會分散到100個邏輯盤上,而不是2個,而這100個邏輯盤可能對應(yīng)著更多的物理盤,大大分散了壓力。
這個問題解決了,管理員童鞋開開心心地過了幾年,漸漸地心里有點(diǎn)慌亂。物理硬盤的容量越來越大,從原來的73GB增長到現(xiàn)在的4TB,壞盤之后數(shù)據(jù)重構(gòu)時間從原來的1個小時增長到10個小時!!這么長的時間里,如果再壞一塊盤,那我RAID5的磁盤組不就全掛了?即使用了RAID6可以容忍壞兩塊盤,但老話還說禍不單行呢?
又有聰明的童鞋站了起來,我們可以把盤切片再做RAID,看這個圖先!
上圖中LUN虛擬化技術(shù)就是前面說的池化技術(shù),仍然基于傳統(tǒng)的RAID實(shí)現(xiàn),只是多了一層虛擬盤的概念,原來是直接把邏輯盤分配出去,現(xiàn)在改成把虛擬盤分配出去,虛擬盤上的數(shù)據(jù)均勻分布在邏輯盤上。
塊虛擬化就是本文重點(diǎn)介紹的RAID2.0技術(shù),它先把物理硬盤切成若干片,然后片與片之間再做RAID,然后一層層封裝成虛擬卷映射出去,方法與池化技術(shù)類似。有童鞋要問了,不就是切個片嘛,沒看出來哪好?。?/p>
物理硬盤切片之后,所有的片可以自由組合做RAID,不再局限于物理硬盤,原則就是一個RAID組內(nèi)的片必須來自不同的物理硬盤。
讓我們仔細(xì)對比一下上圖左右兩部分:
- 左圖HDD1與HDD-0/2/3/4組成一個RAID組;右圖HDD1切出來的片分別與HDD-0/2/3/4和HDD-5/6/7/8切出來的片組成了兩個RAID組;
- 左圖HDD1發(fā)生故障后,HDD5作為后備軍勇敢頂上,但HDD-0/2/3/4校驗(yàn)恢復(fù)出來的數(shù)據(jù)要寫到HDD5一塊硬盤上;右圖HDD1發(fā)生故障后,2個RAID組受到影響,HDD-4和HDD-9切出來的片頂上,RAID組校驗(yàn)恢復(fù)出來的數(shù)據(jù)寫到HDD-4和HDD-9兩塊盤上,而且數(shù)據(jù)量超小喲,只是兩個片的數(shù)據(jù),HDD1上其它空白片不用管了!!
- 推而廣之,RAID2.0技術(shù)不再有熱備盤的概念,換成了熱備空間,這里我們姑且稱之為熱備片。一塊物理硬盤故障后,來自多塊物理硬盤的熱備片頂上,數(shù)據(jù)重構(gòu)不再是傳統(tǒng)RAID的N對1,而是N對N。據(jù)某靠譜國產(chǎn)大廠統(tǒng)計(jì),RAID2.0重構(gòu)速度是傳統(tǒng)RAID的20倍,可將10小時的重構(gòu)時間縮短至30分鐘??!
結(jié)語
通過上文的分析可以看出,RAID2.0能夠顯著減少重構(gòu)時間,避免數(shù)據(jù)重構(gòu)時對一塊硬盤的高強(qiáng)度讀寫,降低硬盤故障率。但它與池化技術(shù)存在同樣的隱患,即由于虛擬盤做了寬條帶的數(shù)據(jù)分布,多塊物理硬盤損壞導(dǎo)致RAID組失效之后,整個存儲池的數(shù)據(jù)會讀寫異常,影響范圍大于傳統(tǒng)RAID方式。因此,存儲陣列若使用池化技術(shù),***采用RAID6。