天天看點

HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複

HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複
HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複

備援是一種資料保護方法,旨在作為針對硬碟驅動器故障的實時故障保護措施。

備份不提供實時保護,但可以提供對更多問題的保護,包括驅動器故障,裝置失竊,火災甚至隻是意外删除檔案。

通過鏡像或者存儲奇偶校驗資訊的方式,實作了對資料的備援保護。

HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複
HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複

奇偶校驗算法

相同為假,相異為真

HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複

RAID0

HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複

在所有RAID級别中,RAID 0(也被稱為條帶化RAID)具有最高的存儲性能。RAID 0使用條帶化技術将資料分布存儲在RAID組的所有硬碟中。

一個RAID 0包含至少2個成員盤。

RAID 0采用條帶化技術将資料寫入硬碟組中,它将資料分為資料塊,并均勻地分布存儲在RAID組中的所有硬碟上。隻有當RAID組的前一個分條被資料塊寫滿後,資料才會寫入到下一個分條。

HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複
HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複

RAID 1的兩個硬碟必須具有相同的大小。如果兩個硬碟的容量大小不同,可用容量是最小的硬碟的容量。

讀寫性能

資料讀取

資料恢複

HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複
HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複

寫懲罰

隻要是并行寫入的都會有寫懲罰

隻要是又XOR算法的都會有寫懲罰

寫入

資料讀取

資料恢複

異或(xor) 1+1=0 1+0=1 0+1=1相同為0,不同為1

在資料恢複過程中,由于所有操作在一個單獨的硬碟上運作,給資料恢複硬碟上造成沉重的壓力,同時降低了RAID的性能。

2、使用的硬碟容量非常大(通常超過2T)。大容量硬碟的重建時間較長,兩個硬碟都失效是會造成資料較長時間不能通路。在RAID 6中,可以實作一個硬碟重構時另一個硬碟失效。一些企業希望在使用大容量硬碟後,存儲陣列的供應商使用一個雙重保護的RAID組。

HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複

對于大多數的企業客戶而言,RAID 0并不是一個真正可以操作的選擇,而RAID 1受限于硬碟容量使用率。RAID 10組合了RAID 1和RAID 0,提供了最好的解決方案,特别是在随機寫入時,由于不存在寫懲罰,性能優勢比較明顯。

HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複

RAID 50是RAID 0和RAID 5的組合。兩個子組被配置成RAID 5,這兩個子組再形成RAID 0。每個RAID 5子組完全獨立于對方。RAID 50需要至少六個硬碟,因為一個RAID 5組最少需要三個硬碟。

HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複

随機寫性能:并發

連續寫性能:并行

并發是指一個處理器同時處理多個任務。

并行是指多個處理器或者是多核的處理器同時處理多個不同的任務。

HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複
HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複

僅被某一特定的RAID組使的熱備盤是一個局部熱備盤,如果有其它RAID組裡的硬碟失效,局部熱備盤不會投入使用。

HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複
HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複
HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複
HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複
HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複
  • RAID技術可以保護因實體硬碟故障而引起的資料丢失。每個RAID級别都有各自的特性,像RAID組性能、可以容忍的失效硬碟數、部署相應RAID類型的成本/開銷。開銷可以表為:為了資料保護而使用的硬碟(空間)的量。資料保護有兩種方法:使用複制的資料(RAID 1和RAID 10)和添加額外的校驗資訊幫助重建資料(RAID 3,RAID 5;RAID 6,RAID 50)。
  • RAID 0是不會在企業中使用的,因為它沒有提供資料保護。盡管RAID 0的I/O很快,沒有開銷。RAID 0硬碟組的所有容量都可用于存儲使用者資料。
  • RAID技術可以保護因實體硬碟故障而引起的資料丢失。每個RAID級别都有各自的特性,像RAID組性能、可以容忍的失效硬碟數、部署相應RAID類型的成本/開銷。開銷可以表為:為了資料保護而使用的硬碟(空間)的量。資料保護有兩種方法:使用複制的資料(RAID 1和RAID 10)和添加額外的校驗資訊幫助重建資料(RAID 3,RAID 5;RAID 6,RAID 50)。
  • RAID 0是不會在企業中使用的,因為它沒有提供資料保護。盡管RAID 0的I/O很快,沒有開銷。RAID 0硬碟組的所有容量都可用于存儲使用者資料。
  • 答案:
    • 1、條帶(strip):硬碟中單個或者多個連續的扇區構成一個條帶,他是一塊硬碟上進一次資料讀寫的最小單元。 它是組成分條的元素。分條(stipe):同一硬碟陣列中的多個硬碟驅動器上的相同“位置”(或者說是相同編号)的條帶的組合。
    • 2、正常:一切都是正常的,同時熱備盤可用;重構:有一個硬碟出現故障,熱備盤正在對資料進行重新建構;降級:硬碟故障但沒有熱備盤可用;失效:太多的硬碟故障同時有發生,資料不能再恢複,随後資料丢失将不可避免。
    • 3、RAID 5使用分布式奇偶校驗。資料被分割成塊(可選擇的大小),然後計算奇偶校驗值。資料塊和校驗塊并行寫入硬碟組中所有硬碟。
    • 4、當存儲容量不超過單個硬碟的大小,同時資料是非常重要的時候,使用RAID 1。RAID 5能保護一個硬碟失效,但随機寫性能比RAID1差。
    • 5、RAID 10
    • 6、LUN是某一RAID組硬碟容量空間的邏輯配置設定。RAID是一組硬碟一起工作,形成一個邏輯組合以提供存儲容量及性能。
      • 一個RAID組的可用空間計算公式如下:
      • (硬碟數量*硬碟容量)- 該RAID類型的開銷。
  • HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複
  • 例如:
    • 有4個實體硬碟,其中每一個是300G容量。當我們把它們放在一個RAID組中,代表了4×300GB=1.2TB的硬碟容量。假設我們将硬碟組設定成RAID 5進行資料保護,實際可用空間将是3×300=900GB。我們“浪費”了一個硬碟的容量 ,因為在4個硬碟中需要有相當于1個硬碟的空間儲存校驗資訊。
    • 從存儲管理者的角度來看,現在可以建立1個空間為900 GB的LUN,或多個較小的LUN,使用900 GB容量的一部分。
    • 每個LUN的資料保護都将是RAID 5級别。
  • 有兩種類型熱備盤,全局熱備盤和局部熱備盤。
    • 不同RAID組共用一個熱備盤,此熱備盤稱為全局熱備盤。它将替換任何硬碟組中的任何失效硬碟。熱備盤要求:熱備盤的容量需要比失效的硬碟具有相同的大小或更大,類型要和失效RAID組中的硬碟類型相同!
  • 一個RAID 6組的性能,無論算法是DP還是P+Q,相對都比較慢。是以,RAID 6适用兩種場景:
    • 1、資料非常重要,需要盡可能長的時間處于線上和可使用的狀态。
  • HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複
  • HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複
  • RAID 5是改進版的RAID 3,使用條帶化并計算奇偶校驗資訊。在RAID 3中有一塊專用硬碟負責奇偶校驗資料的寫入和讀取,這導緻了我們前面提到的性能瓶頸問題。RAID 5使用的是分布式奇偶校驗,每個成員硬碟将用于存儲使用者資料和奇偶校驗資料。是以RAID 5沒有瓶頸或熱點。
  • 假定一個RAID 5的硬碟數為N,其中有效使用者資料存儲容量為N-1個硬碟的容量。與其他RAID一樣,RAID 5陣列中的成員盤的容量和轉速應該是相同的。
  • 在RAID 3級别和RAID 5級别的硬碟陣列中,如果一個硬碟失效,該硬碟組将從線上(正常)狀态轉變為降級狀态,直到完成重構失效硬碟。如果RAID中的另一個硬碟也出現故障,則硬碟組的資料将丢失。
  • HCIE雲計算之路---RAID技術讀寫性能資料讀取資料恢複寫懲罰寫入資料讀取資料恢複
  • 對于資料恢複,RAID 3通過對資料硬碟和奇偶校驗硬碟進行異或運算來恢複故障硬碟上丢失的資料。
  • 如圖所示,當硬碟2失敗,資料塊A1,B1,C1丢失。恢複這些資料塊,首先要恢複A1,可以對硬碟1的A0、硬碟3上的A2、校驗硬碟上的P1運用異或操作得到A1。B1和C1也用同樣的方法恢複。在結束時,所有丢失的資料在硬碟2上恢複。
  • 在RAID 3中,資料以分條的方式進行讀取。RAID中的每個硬碟的硬碟驅動器被控制,是以RAID 3裡同一條帶上的資料塊可以并行讀取。是以,RAID 3的每一個硬碟被充分利用,提升了讀取性能。
  • RAID 3使用并行資料讀(寫)模式。
  • RAID 3的讀取性能取決于讀取的資料量和RAID 3陣列的硬碟數量。
  • RAID 3采用單硬碟容錯和并行資料傳輸。換句話說,RAID 3采用分條技術将資料分塊,這些塊進行異或算法,并将奇偶校驗資料寫到最後一個盤——RAID 3組的奇偶校驗硬碟。當硬碟出現故障時,資料被寫入到那些沒有故障的硬碟上,奇偶校驗繼續。
  • RAID 3的性能不是固定的。原則上,RAID 3采用的是N+1的資料保護方法。這意味着當有N個硬碟的使用者資料需要保護時,需要一個額外的硬碟來存儲校驗資訊。在這種情況下,新的資料塊被寫入硬碟同時,奇偶校驗資訊被計算生成後,寫入校驗硬碟。
  • 通常情況下,RAID 3組的所有的硬碟會在分條過程中合作,N個硬碟會并行寫入。但當新寫入的資料較少,隻需寫入一個或兩個硬碟時,按照RAID 3的工作原理,仍需要讀所有的硬碟以便重新計算新的奇偶校驗值。這種少量寫入資料的場景,因為需要額外的讀和寫操作,相對于對單個硬碟進行資料寫入,并沒有提升硬碟的性能,這種情況被稱為RAID 3的“寫懲罰”。
  • RAID 3與RAID 0類似,不同之處在于RAID 3帶有專用的奇偶校驗的分條。在RAID 3中,一塊專用硬碟(校驗盤)用來儲存同一分條上其他硬碟上的相應的條帶中的資料的奇偶校驗值。如果檢測到不正确的資料或硬碟出現故障,我們可以利用奇偶校驗資訊來恢複故障硬碟上的資料。RAID 3适用于資料密集型或單使用者環境,需要長期、連續通路的資料塊。RAID 3将資料寫入操作配置設定給RAID組内的資料成員盤。但是,當有新資料需要寫入時,無論寫入哪個硬碟,RAID 3都需要重新計算并重寫校驗資訊。是以,當某個應用程式需要大量寫入時,RAID 3的奇偶校驗盤将有很大的工作量。因為需要等待奇偶校驗,是以會對RAID 3組的讀寫性能有一定影響。此外,因為校驗盤有較高的工作負載,它往往是RAID 3裡最容易失效的硬碟。這就是為什麼校驗盤被稱為RAID 3的瓶頸的原因。
  • 假定一個RAID 3的硬碟數為N,其中有效使用者資料存儲容量為N-1個硬碟的容量。與其他RAID一樣,RAID 3中的成員盤的容量和轉速應該是相同的。
  • RAID 1的資料盤與鏡像盤具有相同的内容。當其中一個硬碟出現故障時,可以使用鏡像盤恢複資料。在圖中,硬碟1失敗,資料丢失,我們可以用一個新的硬碟替換硬碟1,并從硬碟2複制資料到新硬碟,以恢複丢失的資料。在大多數的存儲解決方案中,陣列會自動替換故障硬碟。
  • 當RAID 1組中有硬碟失效,隻要新的硬碟重建沒有完成,RAID 1就處于降級狀态。尤其當單個硬碟的容量越高,資料重建就越長。下面的表格羅列了不同容量硬碟重建所需時間。
  • RAID 1讀取資料時,會同時讀取資料盤和鏡像盤,以提高讀取性能。如果其中一個硬碟失敗,可以從另一個硬碟讀取資料。
  • RAID 1系統的讀取性能等于兩個硬碟的性能之和。在RAID組降級的情況下,性能下降一半。
  • RAID 0采用條帶化技術将不同資料并行寫入到硬碟中,而RAID 1則是同時寫入相同的資料到每個硬碟,資料在所有成員硬碟中都是相同的。在上圖所示,資料塊D0,D1和D2,等待寫入到硬碟。D0和D0的副本同時寫入到兩個硬碟中(硬碟1和硬碟2),其他資料塊也以相同的方式(鏡像)寫入到RAID 1硬碟組中。
  • 通常來說,一個RAID 1的寫性能是單個硬碟的寫性能。
  • RAID 1(也被稱為鏡像結構的硬碟陣列)旨在建立一個高安全性的RAID級别。RAID1使用2個相同的硬碟系統,并設定了鏡像。當資料寫入到一個硬碟上時,資料的副本會同時存儲在鏡像硬碟上。當源硬碟(實體)失敗時,鏡像硬碟從源硬碟接管服務,保證服務的連續性。鏡像盤作為備份,提供高資料可靠性。
  • 一個RAID 1組存儲的資料量隻是單個硬碟的容量,另一硬碟儲存的是資料的副本,相當于每一G位元組的資料存儲占用了2G位元組的硬碟空間,是以說兩個硬碟組成的RAID 1的空間使用率是50%。
  • 總結來說,RAID技術的優勢展現在如下幾個方面:
    • 把多個硬碟組合成一個邏輯盤組,以提供更大容量的存儲。
    • 将資料分割成資料塊,對多個硬碟并行進行寫入/讀出,提高硬碟通路速度。
    • 通過提供鏡像或奇偶校驗來提供容錯。
  • RAID技術出現的初衷是把多個小容量的硬碟組合起來,以獲得更大的存儲容量。目前我們所說的RAID技術更多則是與資料保護相關,換言之,當實體裝置失效時,RAID能夠用來防止資料的丢失。
  • RAID技術的主要功能:
    • 通過對硬碟上的資料進行條帶化,實作對資料成塊存取,減少硬碟的機械尋道時間,提高了資料存取速度。
    • 通過對一陣列中的幾塊硬碟同時讀取(并行通路),減少了硬碟的機械尋道時間,提高了資料存取速度。

繼續閱讀