iThome

誕生迄今剛好滿30年的RAID架構,目前正在歷經一波轉型,原有的RAID技術,已無法因應TB等級大容量硬碟造成的重建時間過長問題,以分散式區塊技術為基礎的新一代RAID架構,也就是我們所稱的RAID 2.0,被視為解決傳統RAID缺陷的一條路徑。

由於RAID是整個儲存系統的基礎,牽一髮而動全身,多數大廠受限於既有產品的包袱,難以導入RAID 2.0這種全新架構,因此是由沒有歷史包袱的新創廠商推出的全新產品線,率先應用了RAID 2.0架構。

第1家推出RAID 2.0架構儲存設備的廠商是3PAR,在尚未被HP併購之前,3PAR在2008年發表的T400、T800高階磁碟陣列上,就率先提供了稱作Fast RAID 5的新型式RAID技術,也是第一種實際應用到磁碟陣列產品上的RAID 2.0架構。

繼3PAR之後,又有幾種RAID 2.0技術問世,例如NetApp在2012年時,為併購自LSI Engenio的E系列磁碟陣列產品線,引進了稱作動態磁碟池(Dynamic Disk Pool)的新式RAID架構,接下來還有華為在2013年時為OceanStor產品線提供的RAID 2.0+,最新一個加入這股潮流的廠商是IBM,在2016年初為Spectrum Virtualize軟體7.6版引進了分散式RAID(Distributed RAID),以上便是目前主要的4種RAID 2.0技術。

雖然各家的RAID 2.0技術細節與實作方式互有差異,但基本精神與概念是一致的——將所有實體硬碟空間統一切割為一個個虛擬化區塊,然後利用虛擬化區塊建立跨所有實體硬碟的LUN,讓LUN的資料散布在所有硬碟中,藉此提高I/O效能與RAID重建速度。

此外還有幾種與RAID 2.0相近的技術,如IBM XIV採用的資料分散架構,可提供類似RAID 2.0的快速重建與加速I/O特性,但空間利用率只有50%。至於Dell Compellent的動態區塊(Dynamic Block)架構,雖然也採用了虛擬化區塊概念,但仍保留了傳統RAID的Hot Spare硬碟,重建時間仍存在瓶頸,與前述的RAID 2.0有所區別。

以下我們便依序簡介幾種主要的RAID 2.0架構。

HPE 3PAR的Fast RAID

Fast RAID從實體磁碟到前端主機使用的LUN,一共分為5層,每一層各有不同的管理與應用粒度,從實體硬碟切割出來的Chunklet區塊是1GB大小,Logical Disk的管理粒度是128MB的區域,一般Virtual Volume是使用32MB的Extent區塊,Thin型式的Volume則是16KB的page。圖片來源/HPE

以目前而言,HPE 3PAR的Fast RAID應該是最早實用化的RAID 2.0技術,在3PAR被HP併購後仍延續應用這套架構,目前被應用在HPE 3PAR的StoreServ儲存設備家族上。

Fast RAID的應用架構一共分為5層:

首先,HPE 3PAR作業系統會將底層所有可用的實體磁碟空間,切為一個個1GB大小、稱為Chunklet的小區塊(3PAR P10000系列以後機型的Chunklet單位是1GB,以前的3PAR T系列使用的Chunklet單位則為較小的256MB)。

第2層,是在Chunklet上,依照用戶的可用性需求,利用這些 Chunklet組成不同RAID層級的邏輯磁碟機(Logical Disk,LD),有RAID 10、50與60等具備不同容錯能力與效能的RAID型式可選。

第3層,是透過稱做CPG(Common Provisioning Groups)的虛擬儲存池,來集中管理分別擁有不同類型磁碟裝置、RAID組態等屬性的邏輯磁碟機組。

第4層是從CPG中,建立掛載給前端主機使用的Virtual Volume。

最後一層,則是再把Virtual Volume映射給主機成為LUN。

透過Fast RAID機制,可將每一個Virtual Volume,都由散布在所有磁碟櫃上的一個個Chunklet組成,從而利用跨多個磁碟櫃的底層整體硬碟資源,來共同承擔I/O存取需求,Spare空間也是由散布在所有硬碟上的Chunklet來提供,因而可比傳統RAID架構擁有更好的I/O效能與重建速度,還可實現在同一臺實體硬碟上,利用切割出來的Chunklet區塊,組成不同RAID等級邏輯磁碟機(LD)並存的應用架構,應用彈性也比傳統RAID更靈活。

 

NetApp的動態磁碟池

NetApp的動態磁碟池(DPP)技術會將所有硬碟的空間,分為一個個512MB大小的D-Piece,然後將將散布在不同硬碟上的D-Piece,以每10個D-Piece為單位組成1個D-Stripe,再以D-Stripe建立供主機使用的Volume。圖片來源/NetApp

動態磁碟池(DPP)是NetApp應用在E系列與EF系列磁碟陣列上的新型RAID架構,是SANtricity儲存軟體架構的一部分。

相比於傳統的RAID架構,DPP將所有磁碟機的空間分割為小區塊型式,在虛擬的儲存池中統一運用,所有資料、parity與spare空間,都以小區塊形式分散到整個儲存池的所有磁碟機上,藉此不僅可以改善儲存空間運用效率,還能有效改善磁碟機損壞時的資料重建效率。

整個DPP的架構可以分為3層:

首先,每個加入DPP的硬碟,空間都會被畫分為一個個512MB大小的D-Pieces區塊,其中一部分D-Piece區塊,會保留作為系統與Spare空間使用。

接下來系統會以每10個D-Piece區塊為單位,組成1個D-Stripe,其中2個D-Piece作為parity,剩餘8個D-Stripe用於存放資料,所以每1個D-Stripe就相當於1個8D+2P的RAID 6群組,扣除parity之後的有效空間是4GB。DPP的配置演算法,會將每個D-Stripe所用的D-Piece盡可能散布在不同硬碟上,以獲得提高效能的效益。

最後則是以D-Stripe為單位,來組成主機端需要的Volume,例如1個200GB的Volume,便是由50個D-Stripe組成。

DPP最小組態需求是11臺硬碟,可向既有DPP加入更多硬碟,但不能減少。也只提供相當於RAID 6的雙parity保謢,不像其他RAID 2.0技術有多種RAID等級選擇。

 

IBM的分散式RAID

這張圖解釋了在IBM分散式RAID架構中,如何建立一個分散式RAID 6,這是一個在10臺硬碟上建立的3+P+Q型式RAID 6(3個資料加2個parity),系統會把RAID區塊與紅色的Spare空間分散到10臺硬碟上,從而運用10臺硬碟的效能來執行存取與重建作業。圖片來源/IBM

這套分散式RAID(DRAID),是IBM在2016年初為Spectrum Virtualize軟體7.6版引進的新功能,適用於SVC、Storwize系列、FlashSystem V9000,以及VersaStack等儲存產品線。

在DRAID架構下,每個array(MDisk群組)可容納最多128臺硬碟,用戶可以在其中建立跨所有硬碟的分散式RAID 5、6、10群組(目前的7.6版尚不支援RAID 10),然後再於分散式RAID群組上,建立供主機使用的LUN。

IBM建議使用60~80臺硬碟來組成DRAID,此時的效能最理想(雖然上限是128臺)。DRAID另一特別之處,是可與傳統RAID並存,用戶可在同一系統中使用傳統RAID與DRAID,但不能互相轉換。另外目前的DRAID還有幾個限制,包括:尚不能擴展已建好的DRAID群組硬碟數量,只重建實際使用區塊資料的能力也尚未提供,預期這些功能將會在今年陸續補上。

 

華為的RAID 2.0+

華為RAID 2.0+是典型的區塊虛擬化架構,從底層的硬碟,到最上層主機端使用的LUN之間,先後經過Chunk區塊、Chunk區塊群組、Extent/Grain區塊等多個層次的虛擬化切割與配置組合。圖片來源/華為

身為中國儲存廠商龍頭的華為,應用在其OceanStor儲存產品家族上的RAID 2.0+架構,與3PAR的Fast RAID十分相似,但管理粒度更精細。

華為的RAID 2.0+架構也是分為5層:

第1層是將硬碟空間切割為64MB的Chunk區塊。

第2層是視容錯能力與空間效率的需求,將散布在不同硬碟上的Chunk區塊,組成擁有不同RAID等級的Chunk群組(CKG),可以選擇建立RAID 5、6、10等3種各具不同效能、空間利用率與效能的CKG群組。

第3層是將CKG群組的空間,以512KB到64MB的Extent區塊,組成主機需要的Volume,如果是Thin Provisioning的Volume,則會將Extent切為更細的Grain,以Grain來組成Volume。最後,再將Volume映射給主機成為LUN。

透過這樣的架構,華為的RAID 2.0+也擁有改善效能、加速重建速度的效益。而與3PAR的Fast RAID相比,華為RAID 2.0+的粒度更精細,可具備更佳的空間利用效益,但相對的系統管理負擔也會更大。

 

 RAID 2.0的重建速度效益 

我們這裡以NetApp動態磁碟池(DPP)技術與傳統RAID 6技術的重建時間對比實測,來檢視RAID 2.0架構相對於傳統RAID的優勢。測試中使用的磁碟陣列是Dell PowerVault MD3860f,這其實就是NetApp E系列的OEM版本,可同時支援傳統RAID與RAID 2.0類型的DPP技術,在使用10+2臺硬碟的RAID 6組態時,發生失效1臺硬碟與2臺硬碟的情況下,分別需要51與100小時的重建時間,若改用DPP架構,便能將重建時間縮短到8小時與12小時,速度提高了6~8倍以上。圖片來源/Dell

傳統RAID的資料重建作業,是一個「少對一」的作業,由RAID群組內數量有限的完好硬碟,對1到2臺Hot Spare硬碟間的資料重建與寫入,無論讀取或寫入效能都受限,尤其是Hot Spare硬碟的寫入性能,形成了整個重建作業的瓶頸。

而RAID 2.0的資料重建作業,則是一個「多對多」的作業,由整個陣列中所有完好硬碟,對散布在所有硬碟中的Spare空間,執行重建寫入作業,而且參與的硬碟數量越多,速度也越快。透過RAID 2.0技術,理論上可讓上百臺硬碟加入重建作業,也消除了寫入瓶頸。

依據各RAID 2.0技術供應商宣稱的重建效能,大約相當於傳統RAID架構的5到10倍,某些條件下甚至可有20倍效能,例如華為表示,他們的RAID 2.0+技術可提供30分鐘重建1TB資料的效能,而傳統RAID在高負載情況下,需要長達10小時才能重建1TB資料;IBM Distributed RAID的重建速度也是在這個等級,無負載時,只需90分鐘就能重建4TB資料,平均每TB只需22.5分鐘。

藉由這樣的效能,即使是使用數TB等級的大容量硬碟組成陣列,RAID 2.0也可以把傳統RAID需要長達數十小時以上的重建時間,縮短到數小時以內,大幅減少重建作業對儲存服務帶來的衝擊。

反過來說,考慮到RAID重建時間的問題,對於採用舊RAID架構的磁碟陣列來說,實際上並不十分適合使用數TB等級的大容量硬碟。必須藉由可大幅改善重建效率的RAID 2.0架構,才能讓TB等級大容量硬碟在磁碟陣列上的應用,真正進入實用化。

 相關報導  RAID 2.0興起

熱門新聞

Advertisement