選擇需要的磁盤存儲(chǔ)陣列級別
選擇需要的磁盤存儲(chǔ)陣列級別
?眾所周知,最常用的磁盤存儲(chǔ)陣列配置等級分別是RAID-0、RAID-1、RAID-5。這三種磁盤存儲(chǔ)陣列等級針對數(shù)據(jù)的傳輸速度和保護(hù)程度都有所不同:RAID-0(數(shù)據(jù)條帶化存儲(chǔ)陣列)旨在提供速度,在所有RAID中速度最快,但是提供的保護(hù)最少;RAID-1(透明或條帶化存儲(chǔ)鏡像)這種磁盤存儲(chǔ)陣列能夠提供最好的數(shù)據(jù)保護(hù);而RAID-5(磁盤陣列,奇偶校驗(yàn)散布)能夠同時(shí)提供良好的速度和保護(hù),使得RAID-5在所有磁盤存儲(chǔ)陣列中使用最為廣泛。
??? 不過,我們發(fā)現(xiàn)了一個(gè)普遍性的現(xiàn)象,那就是:采用RAID-5(ZCR)的服務(wù)器,在測試中的表現(xiàn)(一個(gè)可靠MySQL資料庫測試項(xiàng)目),遠(yuǎn)不及采用Host RAID-1的系統(tǒng),而且測試表明,就算同樣的RAID-1,采用獨(dú)立磁盤存儲(chǔ)陣列控制器的效果,竟然還不如最簡單的集成的Host RAID-1,令人頗感意外。
??? 一、尋找原因
??? 確實(shí),為什么采用低價(jià)磁盤存儲(chǔ)陣列控制器的RAID-5的性能會(huì)不盡理想?要明白這一切,我們先要弄清楚RAID-5的運(yùn)作原理。RAID-5是經(jīng)過XOR運(yùn)算比對各硬盤寫入資料,再將所得到的奇偶校驗(yàn)的信息分散到陣列中的每個(gè)硬盤中。這樣可以進(jìn)行獨(dú)立或者并行的數(shù)據(jù)讀寫操作,可以在提高數(shù)據(jù)訪問速度的同時(shí)實(shí)現(xiàn)數(shù)據(jù)冗余性。
??? RAID-5將數(shù)據(jù)交錯(cuò)存儲(chǔ)在多個(gè)磁盤上(類似RAID0),同時(shí)維護(hù)著一個(gè)奇偶校驗(yàn)塊(parity blocks)系統(tǒng),由此使整個(gè)磁盤存儲(chǔ)陣列清楚每一個(gè)物理磁盤上所存儲(chǔ)的數(shù)據(jù),即使某個(gè)磁盤出現(xiàn)了故障也不會(huì)對訪問產(chǎn)生影響。
??? 采用這樣的模式需要至少三塊物理磁盤。此外,為了存儲(chǔ)奇偶校驗(yàn)數(shù)據(jù)以及在故障中進(jìn)行數(shù)據(jù)恢復(fù)還會(huì)損失一部分的磁盤空間。對于RAID5模式而言,通常需要基于硬件的磁盤存儲(chǔ)陣列控制器。絕大多數(shù)的服務(wù)器已經(jīng)具備了SCSI控制器,這也是RAID-5在企業(yè)服務(wù)器中被廣泛采用的原因,尤其對大多數(shù)只能安裝三個(gè)硬盤的1U服務(wù)器而言,更是相當(dāng)理想。
??? 不過從中我們可以明白:磁盤存儲(chǔ)陣列控制器的XOR運(yùn)算能力與快取記憶體的容量,對RAID-5的性能就有著舉足輕重的影響。從測試結(jié)果顯示,采用Intel RAID控制器的服務(wù)器,相較于采用Adaprec 120 ZCR控制器的服務(wù)器,RADI-5在性能上更享有相當(dāng)程度的優(yōu)勢,但都不如運(yùn)算原理最簡單的Host RAID-1。就算是RAID-1,獨(dú)立磁盤存儲(chǔ)陣列控制器也都不如集成的Host RAID。
??? 另一個(gè)值得注意的地方是,太大的硬盤分割區(qū)對于RAID-5的能性也有不利的影響。比方將三個(gè)73GB硬盤所組成的146GB RAID-5容量,全數(shù)作為一個(gè)超大的作業(yè)系統(tǒng)分割區(qū),MySQL的測試效果只能以“慘絕人寰”來比擬,但將測試用分割區(qū)縮小到36GB,效果就瞬間成長五倍之多。這主要是磁盤存儲(chǔ)陣列控制器卡快取記憶體容量不足之故,因?yàn)闇y試數(shù)據(jù)顯示,同樣的情況并沒有發(fā)生在內(nèi)建設(shè)256MB RAID快取記憶體的服務(wù)器上。
??? 如果要同時(shí)解決磁盤存儲(chǔ)陣列控制器的XOR運(yùn)算能力與快取記憶體的容量給RAID-5所帶來的限制,惟有購買高檔的磁盤存儲(chǔ)陣列控制卡,也就是單通道/多通道SCSI RAID HBA。一般一塊高檔SCSI RAID HBA約售20000至30000元,再加上三至四個(gè)SCSI硬盤約售10000元左右。大多數(shù)企業(yè)是難以承受如此高額的費(fèi)用。
??? 二、Host RAID 可取?
??? 不過,這是不是意味著,我們只需要采用最便宜的Host RAID,再也不需要獨(dú)立的磁盤存儲(chǔ)陣列控制器?答案絕對是否定的。首先,Host RAID并無法提供Hotfix之類的可靠性機(jī)制(平時(shí)多安裝一臺(tái)硬盤作為應(yīng)急之用,如果發(fā)生硬盤損壞,就立即補(bǔ)救),歷史的教訓(xùn)也證明了,在同一臺(tái)服務(wù)器上的硬盤是很有可能連續(xù)陣亡的。
??? 另外,采用Host RAID-1時(shí),在更換硬盤后,由于必須從一臺(tái)硬盤完全轉(zhuǎn)移資料到另一臺(tái)硬盤上,加上因缺乏輔助控制器和獨(dú)立快取記憶體,必須以來處理器進(jìn)行這個(gè)工作,所以進(jìn)行恢復(fù)作業(yè)時(shí)的時(shí)間會(huì)相當(dāng)?shù)拈L,也會(huì)大幅度降低系統(tǒng)的性能,對于某些高負(fù)載的服務(wù)器而言,在絕對是難以忍受的,尤其目前節(jié)節(jié)高升的硬盤容量,更會(huì)突顯這個(gè)問題的嚴(yán)重性。
??? 隱而不顯的是,Host RAID-1因以來處理器之故,會(huì)有著較高的處理器及系統(tǒng)主記憶體利用率。比方采用兩個(gè)硬盤組成的Host RAID-1,其效率明顯就會(huì)落后于單硬盤的情況。換言之,如果日后持續(xù)增加硬盤數(shù)量,Host RAID的擴(kuò)充性就會(huì)相當(dāng)?shù)牟焕@也就是不如獨(dú)立磁盤存儲(chǔ)陣列控制器之處。
??? 其實(shí)在表現(xiàn)方面,Host RAID-0及Host RAID-1并不需要太多的系統(tǒng)資源,但在重建損壞了的RAID(Degraded Mode)或是碰上大量運(yùn)算資源的RAID-5(需于每次寫入時(shí)計(jì)算Parity),Host RAID未必是一個(gè)良好的選擇,加上Host RAID須依賴操作系統(tǒng),如Windows2000、Solaris或 Linux等先啟動(dòng),所以操作系統(tǒng)并未能受到RAID的保護(hù)。Host RAID只需兩塊SCSI硬盤的價(jià)錢便可以完成,甚至可以是免費(fèi),但除非是用RAID-1(鏡像),否則RAID-0有任何差錯(cuò),資料盡毀!
??? 三、結(jié)論
??? 事實(shí)上,磁盤存儲(chǔ)陣列并不能完全保障硬盤自身的安全,就算是看起來很安全、能兼顧性能的RAID 0+1和1+0,只要兩個(gè)硬盤位于不同的RAID-0區(qū)域的硬盤接連損壞,資料照樣全軍覆沒,而RAID-5也無法承受一顆以上的硬盤損壞。更重要的是,在預(yù)算有限的前提下,企業(yè)不見得有能力采購昂貴的高檔磁盤存儲(chǔ)陣列控制卡和那么多的硬盤去構(gòu)建RAID 0+5或者RAID 5+0。
?
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
相關(guān)閱讀:
( 發(fā)表人:admin )