分別解析如下:
1. RAID2.0
把單個硬盤按照一定size分成邏輯塊,用邏輯塊來做RAID而非磁盤。它同樣可以實現(xiàn)0,1,5,6多種RAID級別,并且熱備塊分布在各磁盤上。
在磁盤故障做RAID重建時,只需計算該磁盤上有數(shù)據(jù)部分,同時由于邏輯塊是分布在多個磁盤的,讀取校驗和寫入新數(shù)據(jù)都能能夠調(diào)動多個磁盤,改變傳統(tǒng)RAID寫熱備的瓶頸問題,大大提升RAID重建速度,在磁盤容量越來越大的今天,這個技術(shù)就顯得更有價值。IBM和華為都宣稱1TB盤的重建時間能夠縮短到30分鐘。
但可靠性和性能常常是矛盾的,雖然重建加速減低了再壞一塊磁盤的風(fēng)險,但是數(shù)據(jù)分散到更多磁盤,兩個盤幾乎同時失效的風(fēng)險也增加了。磁盤數(shù)量到達(dá)一定程度,整體的可靠性反而會降低。
2.網(wǎng)絡(luò)RAID技術(shù)有利有弊
傳統(tǒng)RAID以磁盤為組建磁盤組,而網(wǎng)絡(luò)RAID以節(jié)點(存儲設(shè)備)作為組建RAID的單位,相比傳統(tǒng)RAID高一層次。若節(jié)點損壞或者斷網(wǎng),可以從其他節(jié)點讀取副本(RAID
1)或計算校驗(RAID5,6)獲得數(shù)據(jù),保證可靠性。
(如果節(jié)點(存儲設(shè)備)內(nèi)部先在磁盤層面做RAID組,再以節(jié)點為單位組建網(wǎng)絡(luò)RAID,如此將獲得兩層RAID保護(hù),有更好的安全性,但是性能和容量會有更多損失)
通常網(wǎng)絡(luò)RAID在實際方案中選擇RAID1和RAID5較多,RAID1鏡像機(jī)制同樣提供一倍冗余和更好性能,但容量損失。另外網(wǎng)絡(luò)RAID5、網(wǎng)絡(luò)RAID6性能和網(wǎng)絡(luò)RAID1
RAID0相比會有20%的下降
但是網(wǎng)絡(luò)RAID帶來的網(wǎng)絡(luò)問題也很明顯,尤其以RAID5和6為甚,
整個節(jié)點的大量數(shù)據(jù)需要在網(wǎng)絡(luò)間傳輸,以完成校驗計算(讀寫都會),而原來這些數(shù)據(jù)是在機(jī)器內(nèi)部的背板上傳輸?shù)?。故障恢?fù)時,數(shù)據(jù)重建產(chǎn)生的網(wǎng)絡(luò)風(fēng)暴,更對網(wǎng)絡(luò)產(chǎn)生大的壓力,因此大多數(shù)方案都必須采用萬兆網(wǎng)絡(luò),從整體方案上看,會有額外成本的增加和性能的損失。
另外網(wǎng)絡(luò)RAID在性能上尤其是IOps有較大的損失,寫懲罰(Write
Penalty)仍然存在,RAID5的寫懲罰是4,RAID 6的寫懲罰更高達(dá)6.
這對整個RAID組甚至整個存儲子系統(tǒng)來說,會造成大量的IOps性能下降,尤其是以寫數(shù)據(jù)為主的應(yīng)用場景中。
3. 糾刪瑪技術(shù)理論優(yōu)秀,但成熟的實現(xiàn)不多
糾刪碼通過對數(shù)據(jù)分塊后計算校驗產(chǎn)生校驗塊,并與原始數(shù)據(jù)塊共同存儲,在部分?jǐn)?shù)據(jù)塊或校驗塊丟失的情況下,可以通過計算恢復(fù)原始數(shù)據(jù),糾刪碼的特別之處在于容錯率可設(shè)定,如總數(shù)10塊磁盤可以容忍1,2,3,4多塊磁盤損壞,系統(tǒng)仍然可用。這種情況下冗余配比分別為1.1,1.2,1.3和1.4。
糾刪碼同樣可以磁盤為單位或以節(jié)點為單位組建,實現(xiàn)全局冗余,這意味著數(shù)據(jù)分片是跨節(jié)點,并不限于一臺節(jié)點(存儲設(shè)備)以內(nèi)。一些糾刪碼的產(chǎn)品在存儲系統(tǒng)在線,有數(shù)據(jù)讀寫的情況下,可以調(diào)整冗余配比參數(shù)。
糾刪碼技術(shù)在存儲領(lǐng)域還較新,理論上可以達(dá)到的效果較好,但實際產(chǎn)品中還缺乏大量應(yīng)用。同樣它在讀寫過程中有大量計算和額外校驗塊的負(fù)擔(dān),也會給網(wǎng)絡(luò)帶來較大壓力,方案中需要更高成本的網(wǎng)絡(luò)。
例如使用糾刪碼的OneFS產(chǎn)品在存儲節(jié)點間使用的是造價更加昂貴的Infinity Band網(wǎng)絡(luò)。
4. 多數(shù)據(jù)副本是分布式系統(tǒng)中成熟的冗余機(jī)制。
多副本是指數(shù)據(jù)在系統(tǒng)中切片,而每一個數(shù)據(jù)的切片都有多個副本,分布在不同節(jié)點中。這種機(jī)制不僅提供數(shù)據(jù)的可靠性,還能改善性能。由于多副本能夠支持更多并發(fā)訪問,無論是多個應(yīng)用并發(fā)訪問還是單個訪問,數(shù)據(jù)可以從最快響應(yīng)的節(jié)點獲得,因此系統(tǒng)會提供更好的性能響應(yīng)。
多數(shù)據(jù)副本明顯的弊端在于容量的損失。如果兩副本就等于RAID10的損失,但是因為切片,性能比RAID10好
PS. 寫懲罰影響的計算方法
寫懲罰對整個磁盤組的IOPS性能影響很大,可以按以下方法計算
如果讀寫比例為 Pr%和Pw%
理論上RAW的IOPS= 單盤IOps x 磁盤數(shù)
實際 IOPS
= (Raw
IOPS * Pw% / 寫懲罰) + (RAW IOPS * Pr %)
|