欧美久久天堂_亚欧美视频_日本熟乱_欧美亚洲图区 - 成人毛片网站

Raid 2.0 及重構原理舉例

Raid 2.0 及重構原理舉例

時間:2020-3-30 分享到:

原理介紹
我認為Raid 2.0為代表的硬盤虛擬化技術是另一場“虛擬化革命”。虛擬化技術就像一把萬能鑰匙,每當遇到難以解決的問題時,工程師們總會把問題層層抽象,在層級之間加上虛擬化層。有的虛擬化技術表現為“分”,有的虛擬化技術表現為“合”,或者先“合”再“分”。

Raid 2.0 及重構原理舉例
計算機系統發展歷史上經歷了數次虛擬化革命。比如x86架構虛擬化技術的出現,使服務器脫離了物理主機的禁錮,并催生了云計算架構;而網絡設備的“分”、“合”把戲早已爐火純青,代表“分”的VLAN、VRF等技術,代表“合”的集群技術,早在十幾年前就已廣泛應用。目前網絡層跟隨云計算的趨勢,將合成一個統一的抽象層,然后在抽象層上再次分區(比如VxLAN)。終于人們把注意力再次放在了硬盤上,實際上Raid 就是一種虛擬化技術,多塊硬盤組成一個組,對操作系統可以表現為一塊硬盤,或者在Raid組上劃分LUN,對主機表現為多塊硬盤。傳統Raid是虛擬化中典型的先“合”再“分”。Raid2.0 更進一步,先“分”再“合”再“分”再“合”,這看起來有點暈,請看本文開頭的圖示,我具體說一下:

首先 Raid 2.0 先將硬盤等分成若干個虛擬硬盤(CHUNK); (分)
然后將來自不同硬盤的虛擬硬盤組做傳統Raid(CHUNK
Group);(合)
再將虛擬硬盤組進一步分切為若干個小塊(Extent);(分)
最后將來自不同虛擬硬盤組(CHUNK Group)的小塊按照一定規則組成LUN; (合)
經過數次分合,數據完全脫離了物理硬盤的限制,好像“浮”在一堆硬盤上一樣。Raid2.0 在解決熱點盤爭用、重構效率、數據管理方面都有極大提高。

Raid 2.0重構
Raid 2.0 一直重點宣傳的特點就是重構速度快,我覺得可能表現在兩個方面,一是重構的數據少,二是參與的硬盤多。

Raid 2.0 及重構原理舉例

重構數據少
重構數據少我認為主要是在一個硬盤組空間分配相對少的情況下。如下圖,整個硬盤組目前只指分配了一個LUN0,每個磁盤只有1個CHUNK被標記使用(這里只是為了便于描述,一塊磁盤上可能有數百上千個CHUNK)。

由于Extent的劃分,一個LUN可以跨多個CHUNK Group(CKG),因此LUN上的數據被相對均分到整個硬盤組的所有硬盤上,當Disk4故障時,只需要將Disk5-7中對應的數據讀出,然后計算出Disk4上面的數據寫入到熱備空間即可,需要重構的數據為LUN0大小的 1/6,可以看出硬盤組中硬盤的數量越多,重構的數據量越少(上圖所示的情況下);
當然傳統Raid5也可以通過增加raid組中的硬盤的數量,平均分布LUN上的數據,但是raid組中的硬盤增多,同時壞兩塊硬盤的概率就會增多,并且出于性能等多方面的考慮,raid5 組中不建議放太多成員盤。

“分布式重構”
對應下文描述的情況,我自己起了個名字:“分布式重構”。如下圖,Disk3 上的其中兩個CHUNK 分別分配到兩個CHUNK Group:

當Disk3 發生故障,Disk0-2 為一組將對應數據塊讀出,并計算出Disk3上的塊,寫入熱備空間x;Disk4-5 為一組將對應數據塊讀出,并計算出Disk3上的塊 寫入熱備空間y。一塊磁盤故障,多組硬盤參與重構,并且寫入不同熱備空間,重構效率大大提高。
對于傳統Raid 5,同樣是7塊硬盤+1個熱備盤,傳統Raid 5的重構速度差不多等于熱備盤的寫入速度。而Raid2.0 重構過程分為兩組,分布式重構,熱備空間分布在不同硬盤,不存在爭用熱備盤的情況,重構速度至少是傳統Raid5的兩倍。當硬盤數量多的時候,重構速度更快。

Raid 2.0 及重構原理舉例

后記
前文描述了Raid2.0 這么多優點,難道Raid2.0沒有缺點嗎?當然還是有的。Raid2.0相較于傳統Raid 更消耗資源,并且有一定的安全風險,開發維護難度較大。Raid 2.0 很像一個文件系統,文件系統組織文件數據在磁盤上的存放,記錄文件與物理塊的映射鏈表, 而這個記錄存放在磁盤的對應區域,開機后操作系統將映射記錄讀取到內存中,隨用隨取 ;同樣的 LUN 相當于文件,Extend相當于物理塊,存儲系統需要維護LUN 與Extend的映射關系,這份映射表相當大,且需要駐存在快速介質中,維護如此龐大復雜的映射關系需要消耗大量計算資源,慶幸的是硬件發展速度飛快,目前計算機系統動輒幾百G字節甚至上T字節內存,并且當前主流存儲系統使用X86芯片搭配大量硬件加速邏輯,計算能力極大提高,計算資源不在是瓶頸。
另一方面Raid 2.0 將數據打散,大量映射表存放在內存中。如果發生系統掉電,內存數據丟失,映射表損壞,對于用戶來講,就好像鏡子摔到地上,摔成了一灘分子,幾乎不可能復原。因此當前存儲系統采用多方面措施來避免這種情況,比如在發生掉電情況時,使用電容供電,將內存中的數據刷入固態介質,以保證數據安全。雖然如此還是建議,一如既往的建議:重要數據請多點備份!
————————————————
版權聲明:本文為CSDN博主「shrun」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/ozhuzhiyuan/java/article/details/72803056

版權所有:http://www.z9394.com 轉載請注明出處