“拆”解RAID工作原理

一、什么是RAID

RAID:Redundant Arrays of InexpensiveIndependentDisks,廉價(獨立)的冗余磁盤陣列。1988年由加利福尼亞大學伯克利分校提出。使用多個相對便宜的磁盤通過某種方式組合成一個陣列,來提供更好的性能、冗余,或兩者同時提供。

性能提高:

         磁盤并行讀寫,可提高I/O能力。

穩定性提高:

         磁盤冗余來實現。

RAID實現的方式:

         外接式磁盤陣列:通過擴展卡提供適配能力。

         內接式磁盤陣列:主板集成RAID控制器。安裝OS前在BIOS里配置

         軟件RAID:通過OS實現。

RAID有級別之分,不同的級別僅代表磁盤組織工作的方式不同,并未有優劣之分。

常用的RAID級別有:

RAID-0:條帶卷

RAID-1:鏡像卷

RAID-5:單磁盤分布式奇偶校驗

RAID-6:雙磁盤雙分布式奇偶校驗

RAID-10RAID-1嵌套在RAID-0中使用

RAID-01RAID-0嵌套在RAID-1中使用

二、RAID級別詳解

         RAID-0:條帶化

                   存儲時,把數據條帶化,并切成塊(chunk),分散存入磁盤陣列下的不同磁盤中。

“拆”解RAID工作原理圖示RAID-0可以看出,數據在條帶化后被分隔存儲,讀取時再分別從不同的磁盤中讀取數據進行組合。這樣就能實現并行讀寫,大大提升I/o能力。但沒有磁盤備份數據,所以無容錯性,任何一塊磁盤損壞,都會導致數據損壞,從而使業務中止。

總結:RAID-0

1、讀寫能力明顯提升;

2、實際可用空間:N*min(S1,S2…)   N為組成磁盤陣列的磁盤數。下同。)

3、無容錯能力;

4、磁盤陣列最小使用磁盤數:2。

         RAID-1:鏡像卷

                   存儲時,每塊磁盤設備中都存儲了完整的數據塊。由于數據被存儲了兩次,所以寫性能是有所下降的,但讀取時可以分散讀取,所有讀性能是有提升的。兩塊磁盤中存儲的數據完全相同,這就意味當有一塊設備壞掉的時候,另一塊設備是完全不受影響的,業務也就不會終止。

總結:RAID-1“拆”解RAID工作原理

1、  讀性能提升、寫性能略有下降;

2、  實際可用空間:1*minS1,S2…);

3、  有容錯能力;

4、  最少磁盤數:2。

RAID-5:單磁盤分布式奇偶校驗

         其實,還存在一種RAID-4的排列方式,類似于RAID-0,只是額外多了一塊硬盤用來存儲數據的校驗為。并且數據的讀寫也不是簡單的分散存儲以及合并讀取了。而是通過把兩塊(chunk)數據進行異或運算得到一個校驗位,把校驗位一并存儲到第三塊磁盤中。當其中一塊數據盤損壞時,就可以通過把校驗位與另一塊數據盤的數據異或運算,得到缺失的數據。

         但人們發現把校驗位集中存放在同一個設備上,導致該設備的讀寫負擔過重,該磁盤經常損壞,所以在RAID-4的基礎上設計了RAID-5。AID-5不再區分數據盤和校驗盤,而是把校驗位循環分散存儲到各個磁盤上。RAID-5如圖所示(x代表校驗位。),校驗位也可以左對齊排列。這樣一來便分散了校驗盤的負擔。

總結:RAID-5“拆”解RAID工作原理

1、  同樣實現數據的分散并行存儲,提高了讀、寫性能

2、  存在校驗位,有容錯能力,但只允許一塊磁盤損壞。

3、  實際可用空間:校驗位占用了一個磁盤,所以 (N-1)*min(S1,S2…)

4、  最少磁盤數:3

RARD-6:雙磁盤分布式奇偶校驗

         RAID-6類似與RAID-5的工作方式,在RAID-5的基礎上再添一塊校驗位硬盤,即存在兩個校驗位。大家都知道,一個方程組中,兩個方程式可以求出兩個未知數,同樣的兩個校驗位也可以算出兩個缺失的數據。因此,RAID-6最大可以允許兩塊磁盤損壞。

總結:RAID-6

1、  讀、寫性能提升

2、  有容錯能力:最多允許壞兩塊磁盤

3、  可用空間:(N-2)*min(S1,S2…)

4、  最少磁盤數:4

RAID-10RAID-1嵌套在RAID-0中使用

         如圖:可以看出,從底層往上,先用四個磁盤,兩兩一組做成RAID-1鏡像組,把兩組RAID-1做成RAID-0條帶卷。這樣簡單的組合便可以把RAID-1RAID-0的優勢組合起來利用。

總結:RAID-10“拆”解RAID工作原理

1、  讀、寫性能提升

2、  有容錯能力:每組鏡像最多只能壞一塊

3、  實際空用空間:N*min(S1,S2…)/2

4、  最少磁盤數:4。

RAID-01 RAID-0嵌套在RAID-1中使用

         RAID-10原理相似,只是順序顛倒,先組成RAID-0,再把RAID-0組成RAID-1。

個人認為其實RAID-01RAID-10來說更有優勢,RAID-10只允許每個條帶組中最多有一個磁盤損壞,而RAID-01還可以允許其中一整個鏡像組損壞。

總結:RAID-01“拆”解RAID工作原理

1、  讀、寫性能提升

2、  有容錯能力:可以允許整個鏡像組的磁盤全數損壞;

3、  實際空用空間:N*min(S1,S2…)/2

4、  最少磁盤數:4。

三、注意:

        RAID磁盤陣列不同于備份,只是為日常業務的高效穩定運行提供了更多的保障機制,并不能替代備份。因為所有的冗余磁盤在讀寫時都是同步進行的,一個文件改了就全改了,刪了也就全刪了。所以,RAID并不能替代日常的備份工作。

原創文章,作者:Hulk,如若轉載,請注明出處:http://www.www58058.com/58833

(0)
HulkHulk
上一篇 2016-11-22 16:51
下一篇 2016-11-23 01:00

相關推薦

  • class9 bash編程基礎(一)

    一、編程基礎 程序:指令+ 數據 程序編程風格: 過程式:以指令為中心,數據服務于指令 對象式:以數據為中心,指令服務于數據 shell 程序:提供了編程能力,解釋執行 程序的執行方式 計算機:運行二進制指令; 編程語言: 低級:匯編 高級: 編譯:高級語言–> 編譯器–> 目標代碼   &n…

    Linux干貨 2016-08-15
  • 馬哥教育網絡班N22期+第6周課程練習

    一、總結vim編輯器的使用方法 vim文本編輯器 全屏編輯器,模式化編輯器 vim的教程文件命令:vimtutor vim /path/to/somefile vim模式: 編輯模式(命令模式),默認模式 輸入模式 末行模式 內置的命令行接口; 模式轉換: 編輯模式—>輸入模式: i:insert, 在光標所在處前方輸入,轉為輸入模式 a:append…

    Linux干貨 2016-10-09
  • 磁盤管理(三)邏輯卷快照

      概述:邏輯卷管理(LVM)提供了為任何邏輯卷作一個快照的功能,目的是在一致的狀態下來得到一個文件系統的備份.因為在備份過程中,應用程序可能訪問一個分區的文件或者數據庫.一些文件可能在一個狀態被備份,而后面的文件可能在一個更新后被備份,導致備份的不完整 .傳統的解決方法是以只讀的方式掛載一個分區,對數據庫應用表級鎖或者關閉數據庫的引擎等;所有的措…

    Linux干貨 2016-09-05
  • ?{ nfs共享mysql數據;nfs共享web資源 }

    ?{ nfs共享mysql數據;nfs共享web資源 } MySQL基于NFS共享數據 測試環境 node1安裝nfs服務 配置共享目錄,設定用戶權限 開啟nfs服務,添加iptables規則 node2安裝mysql-server(yum 安裝) node2掛載nfs共享至/mydata目錄,拷貝mysql數據 修改mysql-server數據目錄 nod…

    Linux干貨 2016-10-20
  • N22-第十周作業

    第十周    1、請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情)    POST–>BootSequence(BOIS)–>BootLoader(MBR)–>Kernel(ramfs或者ramdisk)–&gt…

    Linux干貨 2016-11-07
  • awk多分隔符

    awk的-F參數可以指定新的分隔符,有些時候可能需求指定多個分隔符,比如下面的內容 [root@N1 ~]# netstat -an | grep ESTAB udp 0 0 192.168.1.120:35570 212.47.249.141:123 ESTABLISHED udp 0 0 192.168.1.120:55589 108.59.2.24:1…

    Linux干貨 2017-08-09
欧美性久久久久