存儲可靠性技術之 --RAID


  雲計算項目交付時,不可避免的需要考慮存儲磁盤采用何種RAID。例如:我們的項目工程師可能會建議大家連接克隆虛擬機系統盤組RAID 10,完整復制虛擬機數據盤

  使用RAID5或者RAID6等,那么RAID到底是什么?我們為什么要采用RAID?如何選取合適的RAID 形式呢?

  1)RAID 概念

  RAID是Redundant Array of Independent Disk 的縮寫,獨立磁盤冗余陣列。它是一種數據保護技術,它通過把多塊獨立的硬盤(物理硬盤)按不同方式組合起來

  形成一個硬盤組(邏輯硬盤),提供比單個硬盤更高的存儲性能和提供數據冗余。

  2)RAID的優點

  ·提高傳輸速率

  RAID 通過在多個磁盤上同時存儲和讀取數據來大幅提高存儲系統的數據吞吐量。在RAID 中,可以讓很多磁盤驅動器同時傳輸數據,而這些磁盤驅動器在邏輯上又是一個磁盤

  驅動器,所以使用RAID 可以達到單個磁盤驅動器幾倍、幾十倍甚至上百倍的速率。

  ·提供容錯功能

  普通磁盤驅動器無法提供容錯功能,RAID 可提供容錯功能,RAID容錯是建立在每個磁盤驅動器的硬件容錯功能之上的,所以它提供更高的安全性。在很多RAID模式中都有

  較為完備的相互校驗/恢復的措施,甚至是直接相互的鏡像備份,從而明顯提高了RAID系統的容錯度,提高了系統的穩定冗余性。

  二、RAID 分類

  目前業界公認的標准是 RAID0~RAID5。另外,其他還有6,7,10等。

  本文中只給出幾種常用的RAID 級別的簡要介紹:

  ·RAID0

  它將數據分成一定的大小,順序地寫到陣列的磁盤里。如下圖所示:

  

  理論上講,一個由N個磁盤組成的RAID0系統,它的讀寫性能將是單個磁盤讀取性能的N倍,且磁盤空間的存儲效率最大(100%)。由於總線帶寬等多種因素的影響,

  實際的提升速率會低於理論值。但是,大量數據並行傳輸與串行傳輸比較,性能必然大幅提高。RAID0有一個明顯的缺點:不提供數據冗余保護,一旦數據損壞,

  將無法恢復。RAID0至少需要2塊硬盤才能實現。

  ·RAID1

  也稱為鏡像(mirror),它將數據完全一致的分別寫到工作磁盤和鏡像磁盤。

  

  RAID1系統的磁盤空間利用率為50%,對數據寫入時間會產生影響,但是讀的時候沒有任何影響。RAID1提供了非常好的數據保護,一旦工作磁盤發生故障,系統自動從

  鏡像磁盤讀取數據,不會影響用戶工作。而且RAID1支持“熱替換”,即不斷電的情況下對故障磁盤進行更換,更換完畢只要從鏡像盤上恢復數據即可。RAID1至少需要2塊硬盤才能實現。---偶數塊。

  ·RAID5

  采用分布式奇偶校驗的獨立磁盤結構。數據校驗的信息被均勻的分散到陣列的各個磁盤上,陣列的磁盤上既有數據,也有數據校驗信息,數據塊和對應的校驗信息會存儲於不同的磁盤上。

  

  校驗位即P位是通過同一帶區的數據做異或求得的。當一個數據盤損壞時,RAID5系統可以根據同一帶區的其他數據塊和對應的校驗信息來重構損壞的數據。RAID5至少需要3塊硬盤才能實現。

  ·RAID6

  采用兩種奇偶校驗的磁盤結構。RAID6在RAID5的基礎上,進一步加強了數據保護,實際上是一種擴展RAID5等級。

  RAID6的數據冗余性能相當好。但是由於增加了一個校驗,所以寫入的效率較RAID5還差。而且控制系統的設計也更為復雜,第二塊的校驗區也減少了有效存儲空間。

  RAID6至少需要4塊硬盤才能實現。

  ·RAID10

  是一個RAID0與RAID1的組合體。RAID10的結構非常簡單,首先創建2個獨立的RAID1,然后將這兩個獨立的RAID0組成一個RAID0,當往這個邏輯RAID中寫入數據時,數據被有序的寫入兩個RAID1中。

  

 

  RAID10 以 RAID0 為執行陣列,以RAID1為數據保護陣列。具有與RAID1一樣的容錯能力,用於容錯處理的系統開銷與單獨的鏡像操作基本一樣,由於使用RAID0作為執行等級,因此具有較高的I/O寬帶。

  RAID10至少需要4塊硬盤才能實現。

  使用場景

  ·RAID0使用場景

  RAID0不提供容錯能力,但是它的讀取性能很高。故RAID0應用對於讀取性能要求較高但所存儲的數據為非重要數據的場合。

  ·RAID1使用場景

  RAID1提供了非常好的數據保護,一旦工作磁盤發生故障,系統自動從鏡像磁盤讀取數據,且支持“熱替換”,故RAID1應用於對數據保護極為重視的場合。

  ·RAID5及RAID6的使用場景

  RAID5是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案。RAID5可以為系統提供數據安全保障,但保障程度要比RAID1 低而磁盤空間利用率要比RAID1高。

  RAID6兩個獨立的奇偶系統使用不同的算法,數據的可靠性比RAID5 高,即使兩塊磁盤同時失效也不會影響數據的使用。

  故對於數據的保存所需級別要求並不是很高的情況下,我們只需要使用常規的RAID5即可。就現在而言,對於那些數據中心,信息中心等對數據安全級別要求比較高的企業,

  使用RAID6保護數據還是有必要的。

  ·RAID10使用場景

  RAID10適用於數據庫存儲服務器等需要高性能、高容錯但對容量要求不大的場合。

  實際項目中,需要綜合考慮客戶對數據存儲的安全要求,價格要求等各項因素選擇合理的RAID形式。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM