RAID存儲技術(shù)所面臨的挑戰(zhàn)之一就是重建故障磁盤所需的時間越來越長,這增加了數(shù)據(jù)丟失的風(fēng)險,并威脅著那些歷史悠久的數(shù)據(jù)存儲技術(shù)的生存。
磁盤密度的增長速度遠(yuǎn)遠(yuǎn)超過了性能和可靠性方面的改善,一些存儲網(wǎng)絡(luò)行業(yè)人士甚至質(zhì)疑RAID能夠足夠快地恢復(fù)故障磁盤以維持企業(yè)數(shù)據(jù)存儲領(lǐng)域的相 互關(guān)聯(lián)性。
但是一些數(shù)據(jù)存儲廠商選擇了一種古老的方法來維持RAID的:分簇RAID(Declustered RAID),或者Parity Declustering,這是RAID先驅(qū)者Garth Gibson和Mark Holland在1992年的一份文件中提出的理念。
StorageIO Group創(chuàng)始人、高級分析師Greg Schulz表示:“我發(fā)現(xiàn)有趣的一點(diǎn),如今RAID所面臨的一些難題與十幾年前是類似的。”
Schulz表示,這些問題包括:大容量磁盤驅(qū)動器的重建、分布式數(shù)據(jù)保護(hù)、可用性、性能和易用性。
分簇RAID的定義
分簇最早是針對鏡像磁盤推出的,之后在卡內(nèi)基梅隆大學(xué)的Gibson實(shí)驗(yàn)室中針對RAID 5陣列開發(fā)的。
高性能存儲公司Panasas共同創(chuàng)始人、首席技術(shù)官卡Gibson表示:“分簇技術(shù)將小簇磁盤集群的一個RAID控制器替代成多個RAID控制器 的集合,每一個都可以通過光纖通道或者iSCSI SAN訪問所有磁盤。”
分簇技術(shù)因RAID的替換而有所不同,這樣每個校驗(yàn)計(jì)算只涉及少數(shù)幾個磁盤,這些磁盤的設(shè)置會根據(jù)每個磁盤的字位而有所變化。結(jié)果是,分簇RAID 5中的每對磁盤都涉及相同數(shù)量的RAID替換。
不同的RAID有不同的分簇技術(shù),因此每個校驗(yàn)計(jì)算只涉及少數(shù)幾個磁盤,
Gibson表示:“當(dāng)一個磁盤發(fā)生故障的時候,每個磁盤都承擔(dān)一部分恢復(fù)工作,分散到所有RAID控制器,而不是由一個RAID控制器和幾個磁盤 做所有恢復(fù)工作,而其他磁盤和RAID控制器不參與恢復(fù)工作。”
因?yàn)榉执丶夹g(shù)還會將在線冗余空間分配給所有磁盤——而不是有幾個在線冗余空間處于空閑狀態(tài),因此即使是在恢復(fù)故障磁盤過程中的寫入操作也是分配到整 個陣列的。
Gibson表示:“最終結(jié)果是,從一臺計(jì)算機(jī)上的一個應(yīng)用,到所有磁盤和所有控制器的并行計(jì)算和分布式計(jì)算,RAID都會有所變化。計(jì)算會完成的 更快,或者它在恢復(fù)期間對用戶性能的影響越來越小,或者兩者兼有。”
解決RAID重建難題
存儲、策略和系統(tǒng)資訊服務(wù)公司Silverton Consulting總裁Ray Lucchesi表示,驅(qū)動器重建時間的難題在于,重建一個1TB或者更大的磁盤驅(qū)動器所需的時間是按小時計(jì)算(如果不是按天的話),并且取決于存儲系統(tǒng) 和RAID組是否繁忙。
不過,通過創(chuàng)建更大的單校驗(yàn)RAID組(RAID條帶中有更多磁盤盤片)、交錯耦合RAID組或者使用擁有更多盤片的RAID 6等方法可以縮短重建時間。
但是對于一個大型RAID組來說,問題是數(shù)據(jù)覆寫可能會引發(fā)校驗(yàn)磁盤上的性能瓶頸,因此RAID用戶所面臨的難題就是如何將大型RAID組更短的驅(qū) 動器重建時間與小型RAID組更小的寫懲罰兩個特點(diǎn)結(jié)合起來。
Lucchesi認(rèn)為,可以把校驗(yàn)分簇作為一種解決方案,因?yàn)樗鼤诙鄠€磁盤驅(qū)動器之間分布校驗(yàn)和數(shù)據(jù),因此不會有一個磁盤來承擔(dān)所有驅(qū)動器的校 驗(yàn)。
這么做可以消除熱驅(qū)動器現(xiàn)象,而這一般審核通過使用更小的RAID組來實(shí)現(xiàn)的。
Gibson表示:“問題的核心是,讀取整個磁盤所花費(fèi)的時間越來越長,每年增加大約20%。磁盤數(shù)據(jù)速率的增長速度逐漸落后于容量的增長,因此讀 取容量更大的磁盤就要花費(fèi)更長的時間。”
由于磁盤容量越來越大,所以RAID系統(tǒng)恢復(fù)一個故障磁盤就需要更長時間。傳統(tǒng)RAID系統(tǒng)通過從頭到尾讀取所有剩余磁盤、將缺失數(shù)據(jù)寫入到在線冗 余磁盤中來實(shí)現(xiàn)磁盤恢復(fù)。
Gibson表示,需要更長時間恢復(fù)故障磁盤和被取代磁盤是一件糟糕的事,這有兩方面的原因。
首先,這意味著會危險期——更換故障磁盤和恢復(fù)其中內(nèi)容的一段時間——變得越來越長。在這期間,可能會有更多故障導(dǎo)致數(shù)據(jù)丟失。而危險期的加長意味 著數(shù)據(jù)可靠性降低。
其次,恢復(fù)是一項(xiàng)繁重的工作。這期間,有用的磁盤訪問減少,用戶工作負(fù)載的磁盤性能降低。恢復(fù)期越長,用戶“事倍功半”的時間就越長。
結(jié)果就是,RAID系統(tǒng)需要更長時間恢復(fù)到全面保護(hù)狀態(tài),發(fā)生其他故障的幾率和數(shù)據(jù)丟失的可能性也有所增加。
Gibson表示,Panasas的校驗(yàn)分簇技術(shù)將RAID從一個控制器和幾個磁盤的本地操作轉(zhuǎn)變成使用存儲池中所有控制器和磁盤的并行算法。
通過由上萬個單個磁盤陣列所組成的存儲池,校驗(yàn)分簇技術(shù)能夠?qū)⒒謴?fù)速度提高十幾倍甚至幾百倍。它將工作細(xì)微地分配到每個磁盤中,減少恢復(fù)流程對并發(fā) 用戶工作的干擾。
將所有數(shù)據(jù)分布到多個磁盤中的方法并非Panasas獨(dú)有的。其他掌握這項(xiàng)技術(shù)的廠商還包括EMC、Google、日立、惠普、IBM和 Isilon。
IBM XIV和RAID-X
IBM XIV是一款基于網(wǎng)格、不使用傳統(tǒng)RAID的存儲系統(tǒng)。
IBM系統(tǒng)存儲高級存儲咨詢師Tony Pearson表示:“數(shù)據(jù)被分布到松散連接的數(shù)據(jù)模塊中,這些模塊被當(dāng)作是獨(dú)立的構(gòu)建塊。”
他說:“XIV將每個LUN分割成1MB的塊,將每個塊的兩個副本保存在彼此分開的模塊中的單獨(dú)驅(qū)動器上。我們稱其為RAID-X。”
有趣的是,描述這種分簇技術(shù)的術(shù)語五花八門,例如RAID-X、寬條帶、metavolume、區(qū)間池、條帶間條帶(stripes across stripes)、格條帶(plaid stripes)和RAID 500,每一種叫法都證明了RAID持續(xù)創(chuàng)新的獨(dú)特方式——即使每種創(chuàng)新并不都命名為RAID。