西瓜哥 發(fā)表于:13年08月11日 11:57 [原創(chuàng)] DOIT.com.cn
傳統(tǒng)的RAID 1.0如果改良后,變身為RAID 1.5來實(shí)現(xiàn)Tier和Thin功能。下面就以我理解的DS8870的RAID 1.5切西瓜原理為例,來幫助大家再次理解我的西瓜刀法,哈哈。
首先,DS8870按照一定的原則選擇8塊一樣的磁盤(由于DS8870后端采用FC-AL,因此選擇盤的時(shí)候最少要跨兩個(gè)環(huán)路才能保證比較好的性能)組織一個(gè)Array site。注意,必須是8塊盤。DS8870購(gòu)買的時(shí)候,都是以16塊盤為單位進(jìn)行購(gòu)買的,SSD支持以8塊為單位購(gòu)買。
這8塊盤選擇RAID級(jí)別后就組成了一個(gè)Array。這些RAID級(jí)別只能從下面的幾種6種類型里面選擇:
但是,還有很多的限制。比如SATA盤,只能支持RAID 6,當(dāng)然,你可以做成RAID 10,但需要向IBM特別申請(qǐng),RAID 5絕對(duì)是不允許的。原因大家都懂的,就是害怕可靠性問題。
大家可以看到,Array是有RAID屬性的。每一個(gè)RAID Array組成一個(gè)Rank,IBM然后拿出從西瓜哥購(gòu)買的西瓜刀,切成1GB(嚴(yán)格來說,是1GiB)的切片Extent。每個(gè)Extent包含數(shù)據(jù)和元數(shù)據(jù)區(qū)域。然后選擇多個(gè)Rank組成Extent Pool。
如果你需要做Tier,那么你需要選擇不同類型硬盤的Rank來組成Extent Pool。比如,你需要做3層分層存儲(chǔ),你需要選擇的Rank必須包含有SSD的Rank,SAS的Rank和NL-SAS的Rank。從上面分析可以看到,DS8870的Tier的粒度是1GB。
最后一步,你從Extent Pool選擇你需要的空間來組成LUN,然后分配給主機(jī)使用。這些LUN其實(shí)都在整個(gè)Pool都條帶化了(striping),因此,不管Pool是否是Tier的Pool,性能都會(huì)提高,克服了傳統(tǒng)RAID 1.0只能8塊硬盤同時(shí)讀寫的缺陷,一個(gè)LUN也可以跨越幾十塊硬盤了。不過這里再次強(qiáng)調(diào),一個(gè)RANK數(shù)據(jù)丟失了,整個(gè)POOL都完了。
但大家都知道,LINUX和UNIX主機(jī)的LVM卷管理軟件也會(huì)做Striping,包括IBM自己的SVC也可以做Striping,因此,有可能存儲(chǔ)做了,主機(jī)(或者SVC)再做一次Striping。這種現(xiàn)象我們稱為雙重條帶現(xiàn)象。Double Striping可能會(huì)造成性能下降,下面這個(gè)示意圖就是,兩次條帶,正好相當(dāng)于不做條帶,性能就會(huì)出現(xiàn)問題。大家以后在實(shí)施的時(shí)候要注意。
如果需要支持Thin LUN,本來IBM應(yīng)該再?gòu)奈鞴细缳?gòu)買的一把小刀,把Extent再切成更小的塊的。但估計(jì)是IBM看不起西瓜哥的小刀吧,干脆不切了。直接按照1GB Extent的粒度來做分配(但好像IBM V7000就切成32K粒度,不知道DS8000以后是否要改?)這個(gè)谷粒 粒度,我感覺太大了,哈哈,一頓飯吃一幾顆就飽了。這種支持Thin的卷IBM叫ESE(extent space efficient volumes)。
這個(gè)1GB的粒度,做Thin的時(shí)候雖然有點(diǎn)浪費(fèi),但I(xiàn)BM財(cái)大氣粗,無所謂,每次多分一點(diǎn)空間,省事。但做快照是,這個(gè)粒度成問題了。你想象一下,數(shù)據(jù)庫的I/O典型是8K,一個(gè)8K的I/O下來,快照你需要分配1GB的空間,空間浪費(fèi)好辦,但COW的原來大家都懂,整個(gè)1GB的數(shù)據(jù)塊的數(shù)據(jù)你都需要COPY到快照資源池里。這個(gè)搬運(yùn)的數(shù)據(jù)量太大了,對(duì)系統(tǒng)的性能影響太大。怎么辦?IBM沒有辦法,只能再找西瓜哥購(gòu)買一把小刀,把Extent切成64K的Track,這樣的卷叫TSE(track space efficient volumes),專門給快照使用。前面我們講到,TSE不能建立在SATA的RANK上,主要考慮性能問題吧。
好,最后我們?cè)倏匆幌翫S8870的邏輯圖,大家按照箭頭再回顧一下IBM的西瓜刀法。
不過,別忘啦,RAID 1.5雖然解決了Tier和Thin的問題,但Extent Pool里面任何一個(gè)RAID Array壞了,這個(gè)Pool的數(shù)據(jù)都沒有了。這也容易理解IBM讓SATA盤必須用RAID 6的原因了。
好了,希望今天以后,很多人都說,哦,我也清楚什么是RAID 1.5,什么是LUN虛擬化了,我就覺得特別有成就感。
希望大家積極反饋你的意見和建議,微信掃描如下二維碼,關(guān)注微信公眾號(hào)“高端存儲(chǔ)知識(shí)”,與作者微信互動(dòng)。
公司簡(jiǎn)介 | 媒體優(yōu)勢(shì) | 廣告服務(wù) | 客戶寄語 | DOIT歷程 | 誠(chéng)聘英才 | 聯(lián)系我們 | 會(huì)員注冊(cè) | 訂閱中心
Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技術(shù)有限公司 版權(quán)所有.