RAID0、1、3、5、6、10、50和熱備盤超詳細說明

来源:https://www.cnblogs.com/88223100/archive/2022/11/09/Detailed-description-of-RAID0_1_3_5_6_10_50-and-hot-spare.html
-Advertisement-
Play Games

RAID技術出現的初衷是把多個小容量的硬碟組合起來,以獲得更大的存儲容量。當前我們所說的RAID技術更多則是與數據保護相關,換言之,當物理設備失效時,RAID能夠用來防止數據的丟失。 隨著陣列技術的發展,已經產生了很多不同類型的RAID,但現在只有少數幾種RAID仍在使用。在這個章節中,我們將討論最... ...


 

 

傳統RAID技術
RAID概念說明

RAID技術出現的初衷是把多個小容量的硬碟組合起來,以獲得更大的存儲容量。當前我們所說的RAID技術更多則是與數據保護相關,換言之,當物理設備失效時,RAID能夠用來防止數據的丟失。

RAID技術的主要功能:

  • 通過對硬碟上的數據進行條帶化,實現對數據成塊存取,減少硬碟的機械尋道時間,提高了數據存取速度。
  • 通過對一陣列中的幾塊硬碟同時讀取(並行訪問),減少了硬碟的機械尋道時間,提高了數據存取速度。
  • 通過鏡像或者存儲奇偶校驗信息的方式,實現了對數據的冗餘保護。
  • 隨著陣列技術的發展,已經產生了很多不同類型的RAID,但現在只有少數幾種RAID仍在使用。在這個章節中,我們將討論最常用的RAID類型,也會學習RAID的其它相關功能,比數據保護等,同時,選擇不同的RAID類型意味著不同的性能/成本。

在存儲設備中,可以通過2種方式實現RAID功能:硬體RAID和軟體RAID。

  • 硬體RAID使用專用的RAID適配器、硬碟控制器或存儲處理器。RAID控制器有自己的處理器,I/O處理晶元,和記憶體,用來提高資源利用率和數據傳輸速度。RAID控制器管理路由、緩衝區,控制主機與RAID間數據流。硬體RAID通常在伺服器中使用。
  • 軟體實現的RAID沒有它自己的處理器或I/O處理晶元,而是完全依賴於主機處理器。因此,低速CPU不能滿足RAID實施的要求。軟體RAID通常在企業級存儲設備上使用。

  • 分條寬度

指在一個分條中數據成員盤的個數;

  • 分條深度

指一個條帶的容量大小。

  • RAID技術通常有2種不同的方式進行數據保護。

一種方法是在另一塊冗餘的硬碟上保存數據的副本。

二是使用奇偶校驗演算法。奇偶校驗碼是使用用戶數據計算出的額外信息。對於使用奇偶校驗的RAID類型,它意味著需要額外的校驗硬碟。奇偶校驗採用的是異或(XOR的計算符號⊕)演算法。

異或演算法的輸出見下表:

 

 

 

總結來說,RAID技術的優勢體現在如下幾個方面:

  • 把多個硬碟組合成一個邏輯盤組,以提供更大容量的存儲。
  • 將數據分割成數據塊,對多個硬碟並行進行寫入/讀出,提高硬碟訪問速度。
  • 通過提供鏡像或奇偶校驗來提供容錯。

 

熱備盤說明

  • 當壞盤出現後,伺服器會報警,人工可以手動將壞盤替換出來,當插入好盤的時候,RAID控制器會根據XOR,將的三塊盤的信息在後臺算出來,然後寫入新的硬碟。有些RAID控制系統會用NVRAM來存放陣列信息,因此和整列相關的條帶化數據也會重新分配到新盤上,這些工作都對用戶和應用程式來說都是透明的,用戶可能會感受到的就是系統會因為在後臺底層進行條帶數據的重新分配而帶來的伺服器響應延遲。
  • 當然,如果條件允許,用戶也可以強製作重新分配,當然是在維護停機時間內操作。
  • 但是由於XOR的限制和RAID 5這個級別的限制,如果連續兩個盤出現了問題,呢麽整個盤陣中的數據就完蛋了,系統也會不可用。
  • 特別是那些無人值守的機房,RAID 5中死掉一個盤,沒有關係,如果他們比較倒霉,在管理人員沒有更換壞盤的時候,第二個硬碟也死掉了,那麼就都完蛋了。
  • Hot-Spare盤就是一個不參與盤陣的,但是加電上線的盤,一點RAID 中的盤出現問題,它都可以自動的替換進入盤陣,你可以把它想象成一個"自動換盤"的概念。
  • 硬碟數量的話,就需要多一塊,比如raid1需要兩塊盤,做熱備的話就需要3塊盤了,但使用的依然是2快,剩下一塊隨時準備替換使用中的2快中壞了的盤。

RAID0 說明

 

 

 

  • 在所有RAID級別中,RAID 0(也被稱為條帶化RAID)具有最高的存儲性能。RAID 0使用條帶化技術將數據分佈存儲在RAID組的所有硬碟中。
  • 一個RAID 0包含至少2個成員盤。RAID 0組將數據分為大小不等的從512個位元組至兆位元組的數據塊(通常是512位元組的倍數),並行將其寫入到不同的硬碟中。如圖所示的兩個硬碟(驅動器)構成的RAID中:前兩塊數據被寫入到分條0上,其中,第一個數據塊被寫在硬碟1的條帶0上,第二個數據塊並行存放在硬碟2的條帶0上;這時,再下一個數據塊被寫到硬碟1上的下一個條帶(條帶1)上,以此類推。以這種方式,I/O的負載平衡分佈在RAID中的所有硬碟上,由於數據傳輸匯流排上的速度遠大於硬碟讀寫速度,因此,RAID組上的硬碟可以認為在同時進行讀寫。
  • 一個RAID 0的硬碟組中的硬碟必須具有相同的大小,轉速。如果一個RAID0的由4個硬碟組成,則讀寫速率理論上可達單個硬碟的4倍(實際上可能有系統損耗),容量為單個硬碟的4倍。RAID 0 中硬碟的容量大小不同,可用容量是最小的硬碟的容量的4倍,速度也是最小硬碟速度的4倍。
  • RAID 0像是提供了一個單一的大容量的硬碟,還同時具有非常快速I/O的特點。在RAID0技術使用之前,類似RAID 0的一種技術被稱為JBOD。一個JBOD(Just a Bundle OfDisks,簡稱一堆硬碟)是一組硬碟組合成一個虛擬的大硬碟。與RAID 0最大的區別是,一個JBOD的數據塊不是同時並行寫入不同硬碟的。在JBOD中,只有將第一塊硬碟的存儲空間使用完,才會使用第二塊硬碟。所以JBOD總的可用容量是所有個硬碟容量的總和,但性能是單個硬碟的性能!
  • RAID 0 安全相關說明:
    1. RAID 0是最不安全的,包括跟普通磁碟比較,也不如的。現在大部分硬碟壞的,都是硬故障。也就是磁碟本身問題,根文件沒關係。某個文件壞了,不管在RAID幾下麵,他都是壞的。RAID是提高物理設備,也就是磁碟,的性能或者安全性,與軟體,比如文件,沒有關係的。一個文件壞了,不影響別的文件,不管是單磁碟還是RAID任何級別的情況下。說RAID幾 安全不,都是說硬體,比如有磁碟壞了,數據會不會丟,會不會導致伺服器不能工作,等等。這一討論都是在硬體層上的,硬體壞了,數據文件依然可以完好,只是機器不能工作,就不能讀取這些文件了。
    2. 組建RAID0,所有的文件基本上(註意是基本上,除了很小的文件,具體多小不深入討論了,越說越多),都是跨磁碟存儲的,比如兩個磁碟組RAID0,那一個文件就被分稱多份,存在不同磁碟上,只有所有磁碟都可讀,才能把分開的多份,合併成一個完整文件,操作系統才能識別,這個文件。而普通模式【未做raid】的兩個磁碟A和B,每個文件還是單獨在要麼磁碟A,或者B 上面存的。A盤壞了,B盤文件還是可以讀的,不像RAID0文件被分割後分別存儲在A和B上,基本上,每次訪問文件都得要求讀取兩塊。這樣任何一個磁碟壞,兩個磁碟上的所有數據都無法訪問了,因為即使另一個磁碟好的,但是它上面的數據都是分開的,不是完整的,依賴於另一塊磁碟。三塊,四塊磁碟的RAID0風險就更高了。
    3. 既然你能創建RAID0,那不想要了,就不創建,刪了他,以普通模式工作,很簡單,在哪裡創建,就在那裡刪除(一般機器有專門的RAID管理界面,類似BIOS,啟動時候按規定的快捷鍵進入。)沒有什麼特殊的,備份數據了,就跟對一臺新設備操作一樣,想怎麼設置隨便你。

  • RAID 0採用條帶化技術將數據寫入硬碟組中,它將數據分為數據塊,並均勻地分佈存儲在RAID組中的所有硬碟上。只有當RAID組的前一個分條被數據塊寫滿後,數據才會寫入到下一個分條。在圖中,數據塊D0,D1,D2,D3,D4,D5正在等待寫入到RAID 0級別的硬碟組。D0將被寫入到第一個分條(分條0)的第一塊盤(硬碟1)上、D1寫到的第一個分條的硬碟2上。以此類推。正是通過條帶化並行的方式,將所有數據塊寫入到RAID 0組。
  • RAID 0組的寫入性能與硬碟的數量成正比。

  • 當RAID 0接收數據讀取請求時,它會在所有硬碟上搜索目標數據塊並讀取數據。在圖中,我們可以看到整個讀取過程。
  • 首先,陣列收到讀取數據塊D0,D1,D2,D3,D4,D5的請求。接下來,陣列並行從硬碟1讀取D0,從硬碟2讀取D1,其他數據塊也按類似的方式讀取。所有的數據塊從RAID讀取後,他們被集成到RAID控制器,然後發送到主機。
  • 同寫入數據一樣,RAID 0的讀取性能與硬碟的數量成正比。

 

RAID1說明

  • RAID 1(也被稱為鏡像結構的硬碟陣列)旨在建立一個高安全性的RAID級別。RAID1使用2個相同的硬碟系統【raid1只能為2塊硬碟】,並設置了鏡像。當數據寫入到一個硬碟上時,數據的副本會同時存儲在鏡像硬碟上。當源硬碟(物理)失敗時,鏡像硬碟從源硬碟接管服務,保證服務的連續性。鏡像盤作為備份,提供高數據可靠性。
  • 一個RAID 1組存儲的數據量只是單個硬碟的容量,另一硬碟保存的是數據的副本,相當於每一G位元組的數據存儲占用了2G位元組的硬碟空間,所以說兩個硬碟組成的RAID 1的空間利用率是50%。
  • RAID 1的兩個硬碟必須具有相同的大小。如果兩個硬碟的容量大小不同,可用容量是最小的硬碟的容量。 壞一塊盤數據不會丟失,2塊同時壞,數據將丟失。

  • RAID 0採用條帶化技術將不同數據並行寫入到硬碟中,而RAID 1則是同時寫入相同的數據到每個硬碟,數據在所有成員硬碟中都是相同的。在上圖所示,數據塊D0,D1和D2,等待寫入到硬碟。D0和D0的副本同時寫入到兩個硬碟中(硬碟1和硬碟2),其他數據塊也以相同的方式(鏡像)寫入到RAID 1硬碟組中。
  • 通常來說,一個RAID 1的寫性能是單個硬碟的寫性能。

 

 

 

  • RAID 1讀取數據時,會同時讀取數據盤和鏡像盤,以提高讀取性能。如果其中一個硬碟失敗,可以從另一個硬碟讀取數據。
  • RAID 1系統的讀取性能等於兩個硬碟的性能之和。在RAID組降級的情況下,性能下降一半。

RAID3 說明

  • RAID 3與RAID 0類似,不同之處在於RAID 3帶有專用的奇偶校驗的分條。在RAID 3中,一塊專用硬碟(校驗盤)用來保存同一分條上其他硬碟上的相應的條帶中的數據的奇偶校驗值。如果檢測到不正確的數據或硬碟出現故障,我們可以利用奇偶校驗信息來恢復故障硬碟上的數據。RAID 3適用於數據密集型或單用戶環境,需要長期、連續訪問的數據塊。RAID 3將數據寫入操作分配給RAID組內的數據成員盤。但是,當有新數據需要寫入時,無論寫入哪個硬碟,RAID 3都需要重新計算並重寫校驗信息。因此,當某個應用程式需要大量寫入時,RAID 3的奇偶校驗盤將有很大的工作量。因為需要等待奇偶校驗,所以會對RAID 3組的讀寫性能有一定影響。此外,因為校驗盤有較高的工作負載,它往往是RAID 3里最容易失效的硬碟。這就是為什麼校驗盤被稱為RAID 3的瓶頸的原因。
  • RAID3 最少硬碟數為3塊,假定一個RAID 3的硬碟數為N,其中有效用戶數據存儲容量為N-1個硬碟的容量。與其他RAID一樣,RAID 3中的成員盤的容量和轉速應該是相同的。
  • 在RAID 3級別和RAID 5級別的硬碟陣列中,如果一個硬碟失效,該硬碟組將從線上(正常)狀態轉變為降級狀態,直到完成重構失效硬碟。如果RAID中的另一個硬碟也出現故障,則硬碟組的數據將丟失。

  • RAID 3採用單硬碟容錯和並行數據傳輸。換句話說,RAID 3採用分條技術將數據分塊,這些塊進行異或演算法,並將奇偶校驗數據寫到最後一個盤——RAID 3組的奇偶校驗硬碟。當硬碟出現故障時,數據被寫入到那些沒有故障的硬碟上,奇偶校驗繼續。
  • RAID 3的性能不是固定的。原則上,RAID 3採用的是N+1的數據保護方法。這意味著當有N個硬碟的用戶數據需要保護時,需要一個額外的硬碟來存儲校驗信息。在這種情況下,新的數據塊被寫入硬碟同時,奇偶校驗信息被計算生成後,寫入校驗硬碟。
  • 通常情況下,RAID 3組的所有的硬碟會在分條過程中合作,N個硬碟會並行寫入。但當新寫入的數據較少,只需寫入一個或兩個硬碟時,按照RAID 3的工作原理,仍需要讀所有的硬碟以便重新計算新的奇偶校驗值。這種少量寫入數據的場景,因為需要額外的讀和寫操作,相對於對單個硬碟進行數據寫入,並沒有提升硬碟的性能,這種情況被稱為RAID 3的“寫懲罰”。
  • RAID 3的寫入性能取決於更改數據的數量、硬碟的數目、以及計算和存儲奇偶校驗信息所需的時間。假定一個RAID 3的硬碟數為N,當所有成員盤的轉速相同時,在不考慮寫懲罰,滿分條寫的情況下,RAID 3的順序IO寫性能理論上略小於 N-1倍單個硬碟的性能(計算冗餘校驗需要額外的計算時間)。

  • 在RAID 3中,數據以分條的方式進行讀取。RAID中的每個硬碟的硬碟驅動器被控制,所以RAID 3里同一條帶上的數據塊可以並行讀取。所以,RAID 3的每一個硬碟被充分利用,提升了讀取性能。
  • RAID 3使用並行數據讀(寫)模式。
  • RAID 3的讀取性能取決於讀取的數據量和RAID 3陣列的硬碟數量。

RAID5 說明

  • RAID 5是改進版的RAID 3,使用條帶化並計算奇偶校驗信息。在RAID 3中有一塊專用硬碟負責奇偶校驗數據的寫入和讀取,這導致了我們前面提到的性能瓶頸問題。RAID 5使用的是分散式奇偶校驗,每個成員硬碟將用於存儲用戶數據和奇偶校驗數據。所以RAID 5沒有瓶頸或熱點。
  • RAID5 最少硬碟數為3塊,假定一個RAID 5的硬碟數為N,其中有效用戶數據存儲容量為N-1個硬碟的容量。與其他RAID一樣,RAID 5陣列中的成員盤的容量和轉速應該是相同的。
  • 在RAID 3級別和RAID 5級別的硬碟陣列中,如果一個硬碟失效,該硬碟組將從線上(正常)狀態轉變為降級狀態,直到完成重構失效硬碟。如果RAID中的另一個硬碟也出現故障,則硬碟組的數據將丟失。

 

 

 

 

  • 在RAID 5中,數據以分條的形式寫入硬碟組中。硬碟組中的每個硬碟都存儲數據塊和校驗信息,數據塊寫一個分條時,奇偶信息被寫入相應的校驗硬碟。在RAID 5進行連續寫入的時候,不同分條用來存儲奇偶校驗的硬碟是不同的。因此RAID 5的不同分條的奇偶校驗數據不是單獨存在一個固定的校驗盤裡的,而是按一定規律分散存放的。
  • RAID 3在少量的數據被寫入時有寫懲罰,RAID 5類似。
  • RAID 5的寫入性能取決於所寫的數據量和RAID 5組中硬碟的數量。假定一個RAID 5的硬碟數為N,當所有成員盤的轉速相同時,在不考慮寫懲罰,滿分條寫的情況下,RAID 5的順序IO寫性能理論上略小於 N-1倍單個硬碟的性能(計算冗餘校驗需要額外的計算時間)。

  • RAID 5組的數據以分條的形式存儲在硬碟上。只需N-1個硬碟的數據就可以恢復全部數據。
  • RAID 5組的讀取性能取決於所寫的數據量和RAID組中的硬碟數量。

RAID 6 說明

  • 如上圖,RAID 6 最少需要5個硬碟,公式為:N+2(N>2)個硬碟
  • 前面討論到的RAID組數據保護都是考慮單一硬碟失效的場景(RAID 0排除在外)。現在,硬碟的容量已經增加了很多,同時重構時間也增加了。很多大容量的硬碟組合起來形成的一個RAID 5組重建失效硬碟可能需要幾天,而不是幾個小時。在重建過程中,系統處於降級狀態,這種情況下,任何額外的硬碟故障都會導致硬碟組失效和數據丟失。這就是為什麼一些組織或單位需要一個雙冗餘系統。換句話說:一個RAID組應該允許2個硬碟故障時,同時所有的數據應該是可訪問的。這種雙重冗餘數據保護類型的實現有一些不同的方式:
    1. 第一種是多重鏡像。多重鏡像是指數據塊存儲在主盤時同步存儲多個多個副本到多餘硬碟的方法。這種方式意味著大量的開銷。
    2. 第二種方式是RAID 6級別硬碟陣列。RAID 6組對2個硬碟失效提供保護。這些硬碟甚至可以在同一時間失效。
    3. RAID 6的正式名稱是分散式雙校驗RAID。本質上它是一種改進的RAID 5,也具有條帶化和分散式奇偶校驗。現在在RAID 6有雙校驗,這意味著兩點:
    4. 寫入用戶數據時,附加的雙校驗計算需要進行。所以,在所有RAID 類型中,RAID 6是 “最慢”的。
    5. 額外的校驗信息需要占用兩個盤的存儲空間。這就是為什麼我們把RAID 6看作是一個N+2類型的RAID。
    6. 目前,RAID 6沒有一個統一的標準。不同公司以不同的方式實施RAID 6。以下2個是主要的實現方式:
    7. RAID P + Q:華為,HDS
    8. RAID DP:NetApp
  • 這2種模式獲得校驗數據的方法不同。然而,在RAID組有2塊硬碟故障的情況下,他們可以確保數據的完整性,並支持數據訪問。

RAID 6 P+Q說明

  • RAID 6採用P+Q校驗時,P和Q是2個彼此獨立的校驗值。它們使用不同的演算法,用戶數據和校驗數據分佈在同一分條的所有硬碟上。
  • P是用戶數據塊的簡單的異或運算得到的。Q是對用戶數據進行GF(GF =伽羅瓦域)變換再異或運算得到,α,β和γ為常量系統,由此產生的值是一個所謂的“蘆葦碼”。該演算法將數據硬碟相同分條的所有數據進行轉換和異或運算。
  • 如圖所示,P1是通過對D0,D1,D2所在的分條0進行異或操作獲得的,P2是對D3,D4,D5所在的分條1異或操作實現的,P3則是對D6,D7,D8 所在的分條2條進行異或操作。
  • Q1是對D0,D1,D2 所在的分條0條進行GF變換再異或操作實現的,Q2是對D3,D4,D5 所在的分條1進行GF變換再異或運算, Q3實現對D6,D7,D8分條2進行GF變換再異或。
  • 如果一個硬碟中的一個分條失效,只需有P校驗值即可恢復失效硬碟上的數據,異或運算在P校驗值和其它數據硬碟間執行。如果同一個分條有2個硬碟同時故障,不同的場景有不同的處理方法。如果Q校驗值不在失效的一個硬碟上,數據可以被恢復到數據盤上,然後重新計算校驗信息。如果Q在其中一個失效的硬碟上,兩個的公式都需要使用才能恢復兩個失效硬碟上的數據。

RAID 6 DP說明

  • 另一種演算法是RAID 6 DP。RAID 6 DP也有兩個獨立的校驗數據塊。第一個校驗信息與RAID 6 P+Q的第一個校驗值是相同的,第二個不同於RAID 6 P+Q,採用的是斜向異或運算得到行對角奇偶校驗數據塊。行奇偶校驗值是同一分條的用戶數據異或運算獲得到,所圖所示:P0是由分條0上的D0,D1,D2和D3異或運算得到,P1由分條1上的D4,D5,D6,D7異或運算,等等。所以,P0 = D0 ⊕D1⊕ D2⊕D3,P1 = D4⊕D5⊕D6⊕D7,如此類推。
  • 第二個校驗數據塊是由陣列的對角線數據塊進行異或運算。數據塊的選擇過程比較複雜。DP0是由硬碟1 的分條0上的D0,硬碟2的分條1上的D5,硬碟3上的分條2的D10,和硬碟上4 分條3上的D15異或操作得到。DP1是對硬碟2 的分條0上的D1,硬碟3的分條1上的D6,硬碟4上分條2的 D11,和的第一塊校驗硬碟上分條3 上的P3進行異或運算得到。DP2是硬碟3 分條0上的D2,硬碟4上的分條1的 D7,奇偶硬碟分條2的P2,和硬碟1 分條3上的D12進行異或運算得到。所以,DP0 = D0⊕D5⊕D10⊕D15,DP1 =D1⊕D6⊕D11⊕P3,如此類推。
  • 一個RAID 6陣列能夠容忍雙硬碟失效。如上圖所示,如果硬碟1和2失效,上面的所有數據會丟失,但其他硬碟上的數據和奇偶校驗信息是有效的,我們瞭解一下陣列數據是如何恢復的。恢復D12採用DP2和斜向校驗(D12 = D2⊕D7⊕P2⊕DP2);恢復D13利用P3和橫向校驗(D13 = D12⊕D14⊕D15⊕P3),通過使用DP3和斜向校驗恢復D8(D8 = D3⊕P1⊕DP3⊕D13),使用P2和橫向校驗得到D9(D9 =D8⊕D10⊕D11⊕P2),恢復D4採用DP4和斜向校驗,利用P1和橫向校驗得到D5等。這些操作是重覆的,直到所有數據在故障盤被恢復。
  • 一個RAID 6組的性能,無論演算法是DP還是P+Q,相對都比較慢。因此,RAID 6適用兩種場景:
  1. 數據非常重要,需要儘可能長的時間處於線上和可使用的狀態。
  2. 使用的硬碟容量非常大(通常超過2T)。大容量硬碟的重建時間較長,兩個硬碟都失效是會造成數據較長時間不能訪問。在RAID 6中,可以實現一個硬碟重構時另一個硬碟失效。一些企業希望在使用大容量硬碟後,存儲陣列的供應商使用一個雙重保護的RAID組。

混合RAID 10 說明

  • 對於大多數的企業客戶而言,RAID 0並不是一個真正可以操作的選擇,而RAID 1受限於硬碟容量利用率。RAID 10組合了RAID 1和RAID 0,提供了最好的解決方案,特別是在隨機寫入時,由於不存在寫懲罰,性能優勢比較明顯。
  • RAID 10組的硬碟數量總是偶數,最少需要4塊硬碟(2個RAID1組成一個RAID0)。一半硬碟進行用戶數據寫入,另一半保存用戶數據的鏡像副本。鏡像基於分條執行。
  • 我們一般使用RAID1+RAID0模式,如上圖,在圖中,物理硬碟1和2構成一個RAID 1,物理硬碟3和物理硬碟4形成另一個RAID 1。這2個RAID 1子組再形成RAID 0。
  • RAID 10組寫入數據時,子組間採用並行的方式寫入數據塊,子組內數據採用鏡像的方式寫入。如圖所示,D0將寫入物理硬碟1,副本將被寫入物理硬碟2。
  • 當硬碟在不同的RAID 1組故障(例如硬碟2和4),RAID 10組的數據訪問不受影響。這是因為其他2個硬碟(3和1)上有故障盤2和4上數據的完整副本。但是,如果同一RAID1子組的硬碟(例如,硬碟1和2)在同一時間失敗,數據將不能訪問。
  • 從理論上講,RAID 10可以忍受總數一半的物理硬碟失效,然而,從最壞的情況來看,在同一個子組的兩個硬碟故障時,RAID 10也可能出現數據丟失。通常RAID 10用來保護單一的硬碟失效。

混合RAID 50 說明

  • RAID 50是RAID 0和RAID 5的組合。兩個子組被配置成RAID 5,這兩個子組再形成RAID0。每個RAID 5子組完全獨立於對方。RAID 50需要至少六個硬碟,因為一個RAID 5組最少需要三個硬碟
  • 所圖所示,物理硬碟1,2,和3形成一個RAID 5,物理硬碟4,5,和6形成另一組RAID5組。兩個RAID 5子組間再構成一個RAID 0。
  • 在RAID 50中,RAID可以同時接受多個硬碟的併發故障。然而,一旦兩塊硬碟在同一RAID5組同時失敗,RAID 50的數據將丟失。

 

本文來自博客園,作者:古道輕風,轉載請註明原文鏈接:https://www.cnblogs.com/88223100/p/Detailed-description-of-RAID0_1_3_5_6_10_50-and-hot-spare.html


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 課件獲取:關註公眾號 “數棧研習社”,後臺私信 “ChengYing” 獲得直播課件 視頻回放:點擊這裡 ChengYing 開源項目地址:github 丨 gitee 喜歡我們的項目給我們點個__ STAR!STAR!!STAR!!!(重要的事情說三遍)__ 技術交流釘釘 qun:30537511 ...
  • 不知不覺間,2022年的腳步已經走到了倒數第二個月。臨近年末,我們對產品本身以及客戶反饋的一些問題進行了持續的更新和優化,例如基線告警、數據服務平臺新增TDengine 數據源支持、行級許可權根據用戶屬性實現動態賦權。 以下為袋鼠雲產品功能更新報告第二期內容,更多探索,請繼續閱讀。 數棧DTinsig ...
  • 數據也有冷熱之分,你知道嗎? 根據訪問的頻率的高低可將數據分為熱數據和冷數據,訪問頻率高的則為熱數據,低為冷數據。如果熱、冷數據不區分,一併存儲,顯然不科學。將冷數據也存儲在昂貴的記憶體中,那麼你想,成本得多高呢? 有趣的是,根據我們實際的觀察,目前很多使用 Redis 的業務就是這樣操作的。 得益於 ...
  • 這本書去年11月出的,今年中文版也出了,並且直接上了微信讀書,之後有空就讀一讀,分享下讀書筆記~ 原文內容比較充實,建議有時間可以讀一下原文. 第一章主要是個概覽. MySQL的邏輯架構 預設情況下,每個客戶端連接都會在伺服器進程中擁有一個線程,該連接的查詢只會在這個單獨的線程中執行,該線程駐留在一 ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 1.uni.getLocation 獲取當前經維度 先上代碼 let that = this // 獲取用戶是否開啟 授權獲取當前的地理位置、速度的許可權。 uni.getSetting({ success (res) { console. ...
  • android studio 升級 Android Studio Dolphin | 2021.3.1 Patch 1後,xml佈局預覽界面報錯 一開始以為是那些警告導致的,有很多黃色的xml警告,比如命名的名字不是英文,或者設置了各種顏色值警告,或者系統要求你添加 contentDescripti ...
  • 面向對象之設計模式 一、設計模式概述 ​ 設計模式(Design Pattern)是前輩們對代碼開發經驗的總結,是解決特定問題的一系列套路。它不是語法規定,而是一套用來提高代碼可復用性、可維護性、穩健性以及安全性的解決方案。 ​ 1995年,GoF(Gang of Four,四人組/四人幫)合作出版 ...
  • 中介模式屬於行為型設計模式,可以將原本難以理解的網狀結構轉換成了相對加單的星型結構,主要用來降低多個對象和類之間的通信複雜性。 ...
一周排行
    -Advertisement-
    Play Games
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...