官术网_书友最值得收藏!

2.3.2 RAID技術

RAID(Redundant Array of Independent Disk,獨立冗余磁盤陣列)是加州大學伯克利分校David Patterson等人于1987年提出[11],最初是為了組合小的廉價磁盤來代替大的昂貴磁盤,同時希望磁盤失效時不會使對數據的訪問受損失而開發出一種水平的數據保護技術。RAID就是一種由多塊廉價磁盤構成的冗余陣列,在操作系統下是作為一個獨立的大型存儲設備出現。RAID可以充分發揮出多塊硬盤的優勢,可以提升硬盤速度,增大容量,提供容錯功能確保數據安全性,易于管理的優點,在任何一塊硬盤出現問題的情況下都可以繼續工作,不會受到損壞硬盤的影響。

RAID技術主要包含RAID 0~RAID 7等數個規范[17],它們的側重點各不相同,常見的規范有如下幾種:

RAID 0是最早出現的RAID模式,即數據分條(Data Stripping)技術。RAID 0是組建磁盤陣列中最簡單的一種形式,只需要兩塊以上同樣的硬盤通過智能磁盤控制器或操作系統中的磁盤驅動程序串聯在一起創建一個大的卷集,將數據依次寫入各塊硬盤中;因此,RAID 0可以整倍地提高硬盤的容量。在速度方面,將原先順序寫入的數據被分散到所有的硬盤中同時進行讀寫,可以提高整個存儲系統的性能和吞吐量。最大的缺點在于任何一塊硬盤出現故障,整個系統將會受到破壞,可靠性僅為單獨一塊硬盤的1/N。RAID 0實現成本最低,但沒有提供冗余或錯誤修復能力,不能應用于數據安全性要求高的場合。

RAID 1稱為磁盤鏡像(Disk Mirroring),原理是數據在寫入一塊磁盤的同時,會在另一塊閑置的磁盤上生成鏡像文件,在不影響性能的情況下最大限度地保證系統的可靠性和可修復性,只要系統中任何一對鏡像盤中至少有一塊磁盤可以使用,甚至可以在一半數量的硬盤出現問題時系統都可以正常運行。當一塊硬盤失效時,系統會忽略該硬盤,轉而使用剩余的鏡像盤讀寫數據,具備很好的磁盤冗余能力。雖然這樣對數據來講絕對安全,但是成本也會明顯增加,磁盤利用率為50%。當原始數據繁忙時,可直接從鏡像拷貝中讀取數據,因此RAID 1可以提高讀取性能。當一個磁盤失效時,系統可以自動切換到鏡像磁盤上讀寫,而不需要重組失效的數據。另外,出現硬盤故障的RAID系統不再可靠,應當及時更換損壞的硬盤,否則剩余的鏡像盤也會出現問題,那么整個系統就會崩潰。更換新盤后原有數據會需要很長時間同步鏡像,外界對數據的訪問不會受到影響,只是這時整個系統的性能有所下降。因此,RAID 1多用在保存關鍵性的重要數據的場合。

RAID 1+0實際是將RAID 0和RAID 1標準結合的產物,如圖2-10所示,在連續地以位或字節為單位分割數據并且并行讀/寫多個磁盤的同時,為每一塊磁盤作磁盤鏡像進行冗余。數據除分布在多個盤上外,每個盤都有其物理鏡像盤,提供全冗余能力,允許至少一個、最多一半磁盤故障,而不影響數據可用性,并具有快速讀寫能力。它的優點是同時擁有RAID 0的超凡速度和RAID 1的數據高可靠性,但是CPU占用率同樣也更高,而且磁盤的利用率比較低。

圖2-10 RAID 0、RAID 1和RAID 1+0示意圖

RAID 2是RAID 0的改良版,將數據條塊化地分布于不同的硬盤上,條塊單位為位或字節,并使用“加重平均糾錯碼(又叫漢明碼Hamming Code)”進行編碼后分割為獨立的位元,并將數據分別寫入硬盤中來提供錯誤檢查及恢復。在寫入時,RAID 2在寫入數據位的同時還要計算出它們的漢明碼并寫入校驗陣列,讀取時也要對數據即時進行校驗,最后再發向系統。漢明碼只能糾正一個位的錯誤,所以RAID 2只允許一個硬盤出問題,如果兩個或以上的硬盤出問題,RAID 2的數據就將受到破壞。由于數據是以位為單位并行傳輸,所以傳輸率相當快。這種編碼技術需要多個磁盤存放檢查及恢復信息,使得RAID 2技術實施更復雜,數據整體的容量會比原始數據大一些。RAID 2早期用于對數據即時安全性非常敏感的領域,目前在商業環境中已經很少使用。

RAID 3是在RAID 2基礎上發展而來的,如圖2-11所示,都是將數據按位或字節條塊化分布于不同的硬盤上,區別在于用簡單的異或邏輯運算校驗代替復雜的漢明碼校驗,只需要單塊磁盤存放奇偶校驗信息,從而也大幅降低了存儲成本。RAID 3也可以容忍一塊硬盤出錯:如果一塊磁盤失效,奇偶盤及其他數據盤可以重新產生數據;如果奇偶盤失效則不影響數據使用。RAID 3對于大量的連續數據可提供很好的傳輸率,但奇偶盤很容易成為整個系統的寫操作瓶頸,也是導致RAID 3很少被人們采用的原因。RAID 3會把數據寫入操作分散到多個硬盤上進行,然而不管是向哪一個數據盤寫入數據,都需要同時重寫校驗盤中的相關信息。因此,對于那些經常需要執行大量寫入操作的應用來說,校驗盤的負載將會很大,無法滿足程序的運行速度,從而導致整個RAID系統性能的下降。

圖2-11 RAID 2和RAID 3示意圖

RAID 4和RAID 3類似,同樣將數據條塊化并分布于不同的磁盤上,但條塊單位為粗粒度的塊或扇區,而不是細粒度的位或字節。無須像RAID 3那樣,哪怕每一次小I/O操作也要涉及全組,只需涉及組中兩塊硬盤(一塊數據盤,一塊校驗盤)即可,從而提高了小量數據的I/O速度。RAID 4使用一塊磁盤作為奇偶校驗盤,每次寫操作都需要訪問奇偶盤,跟RAID 3一樣,奇偶校驗盤容易成為寫操作的瓶頸,因此RAID 4在商業環境中也很少使用。

RAID 5是對RAID 4的改進,為避免校驗盤成為寫瓶頸,不單獨指定奇偶盤,而是在所有磁盤上交叉地存取數據及奇偶校驗信息,如圖2-12所示。在RAID 5上,讀/寫指針可同時對陣列設備進行操作,提供更高的數據流量。RAID 5更適合小數據塊和隨機讀寫的數據。RAID 5是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案。RAID 5也可以理解為是RAID 0和RAID 1的折中方案。RAID 5可以為系統提供數據安全保障,但保障程度要比RAID 1低而磁盤空間利用率要比RAID 1高;它具有和RAID 0相近似的數據讀取速度,只是多一個奇偶校驗信息,寫入數據的速度比對單個磁盤進行寫入操作稍慢。同時由于多個數據對應一個奇偶校驗信息,RAID 5的磁盤空間利用率要比RAID 1高,存儲成本相對較低,是目前運用較多的一種解決方案。

圖2-12 RAID 4和RAID 5示意圖

RAID 6是RAID 5基礎上的擴展,在原有同級數據奇偶校驗碼的基礎上增加第二個獨立的奇偶校驗碼,都是交錯存儲的,具體如圖2-13所示。兩個獨立的奇偶系統使用不同的算法,數據的可靠性非常高,即使兩塊磁盤同時失效也不會影響數據的使用。但是,由于增加了一個校驗碼,需要分配給奇偶校驗信息更大的磁盤空間,相對于RAID 5有更多的寫損失,寫性能非常差,而且控制系統的設計也更為復雜,第二塊的校驗區也減少了有效存儲空間。較差的性能和復雜的實施方式使得RAID 6很少得到實際應用。

RAID 7是一種全新的RAID架構,由于其自身就帶有實時操作系統和用于存儲管理的軟件工具,可完全獨立于主機運行,且不占用主機CPU資源。如圖2-13所示,RAID 7可以看作是一種小型存儲計算機(Storage Computer),使得它與其他RAID標準有明顯區別。RAID 7是非同步訪問的,每個I/O接口都有一條專用的高速通道,作為數據或控制信息的流通路徑,可獨立地控制自身系統中每個磁盤的數據存取。如果一個磁盤出現故障,還可自動執行恢復操作,并可管理備份磁盤的重建過程。RAID 7系統內置實時操作系統還可自動對主機發送過來的讀/寫指令進行優化處理,以智能化方式將可能被讀取的數據預先讀入快速緩存中,提高I/O速度。RAID7可幫助用戶有效地管理日益龐大的數據存儲系統,并使系統的運行效率提高至少一倍以上,滿足各類用戶的不同需求。

圖2-13 RAID 6和RAID 7示意圖

主站蜘蛛池模板: 静海县| 万盛区| 巍山| 金华市| 阳谷县| 宾阳县| 石屏县| 鹿泉市| 收藏| 山丹县| 股票| 澄迈县| 汝南县| 南宁市| 凤翔县| 施甸县| 安多县| 栾城县| 霍城县| 惠东县| 闽侯县| 桐庐县| 新营市| 绥德县| 理塘县| 桐柏县| 东莞市| 武义县| 达州市| 荣昌县| 社会| 淮滨县| 临潭县| 罗田县| 永康市| 柳州市| 开阳县| 达拉特旗| 江门市| 聊城市| 黎川县|