磁盤陣列(RAID)簡介

資料

RAID(Redundant Arrays of Inexpensive Disks 廉價磁盤冗余陣列)即磁盤陣列,磁盤陣列是由多個價格比較便宜的磁盤組合成的一個容量巨大的磁盤組,其原理是利用數組方式來制作磁盤組,配合數據分散排列的設計,配合數據分散排列的設計,提升數據的安全性。它把數據分別存放在多個硬盤上,輸入輸出操作能以平衡的方式交疊,改良性能,因為有多個硬盤,增加了平均故障間隔時間,儲存了冗余數據,增加了容錯機制。


1.RAID 0:無差錯控制的帶區組

RAID 0連續以位或字節為單位分割數據,并行讀/寫于多個磁盤上,因此具有很高的數據傳輸速率,但沒有數據冗余,因此并不能算是真正的RAID結構。RAID 0只是單純提高性能。并沒有為數據的可靠性提供保證,而且其中的一個磁盤失效將影響所有的數據。因此RAID 0不能應用于數據安全性要求高的場合。組成RAID 0最少需要一塊硬盤。圖中RAID 0中的block1至block8是一組數據,按照順序存儲在兩個硬盤中,從圖中可以看到數據存儲并沒有冗余,如其中一塊磁盤出現故障將有部分數據丟失。

enter image description here

2.RAID 1:鏡象結構

RAID 1通過磁盤數據鏡像實現數據冗余,在成對的獨立磁盤上產生互為備份的數據。當原始數據繁忙時,可直接從鏡像拷貝中讀取數據,因此RAID 1可以提高讀取性能。RAID 1是磁盤陣列中單位成本最高的,,但它提供了很高的數據安全性的可用性。當一個磁盤失效時,系統可以自動切換到鏡像磁盤上讀寫,溫柔不需要重組失效的數據,組成RAID 1最少需要兩塊硬盤。圖中RAID 1分別在Disk1和Disk2中存儲了相同兩份數據,如果其中一個出現故障,數據將不會丟失,更換新盤后將自動復制一份到新盤中。

enter image description here

3.RAID 10 與 RAID 01

根據組合分為RAID 10RAID 01,其實是將RAID 0 與 RAID 1標準結合的產物。在連續的以位或字節為單位分割數據并且并行讀/寫多個磁盤的同時,為每一塊磁盤制作磁盤鏡像進行冗余。它的優點是同時擁有RAID 0的超凡速度與RAID 1數據高可靠性,但是CPU占用率也同樣很高,而且磁盤利用率比較低。RAID 1+0是先鏡像再條帶化數據,再將所有硬盤分為兩組,視為是RAID 0的最低組合,然后將這兩組各視為RAID1運作。RAID 0+1RAID 1+0正好相反,是先條帶再將數據鏡像到兩組硬盤。它將所有的硬盤分為兩組,變成RAID 1的最低組合,而將兩組硬盤各自視為RAID 0運作。性能上,RAID 0+1RAID 1+0擁有更快的讀寫速度。可靠性上,當RAID 1+0有一塊硬盤受損時,其余三塊硬盤會繼續運作。而RAID 0+1只要有一塊硬盤受損,同組的另一塊硬盤亦會停止運作,可靠性較低。

enter image description here

4. RAID 5:分布式奇偶校驗的獨立磁盤結構

RAID 5不單獨指定奇偶盤,而是在所有磁盤上交叉地存取數據及奇偶校驗信息。在RAID 5上,讀/寫指針可以同時對陣列設備進行操作,提供了更高的數據流量。RAID 5更適合于小數據塊和隨機讀寫的數據。RAID 5中有“寫損失”,即每一次寫操作將產生四個實際的讀/寫操作,其中兩次讀取舊的數據及奇偶信息,兩次寫入新的數據及奇偶信息。組成RAID 5至少需要三塊磁盤。圖中block 1a、block 2a、block 3a表示一組數據,parity是這組的校驗數據,如block 2a所在的磁盤diak 2出現故障,可以通過block 1ablock 3aparity數據來推算block 2a的結構并進行重構,如一塊磁盤出現故障并不會導致數據丟失,連續兩塊磁盤出現故障將導致數據丟失。

enter image description here

5.其余RAID

RAID2:帶海明碼校驗

 
從概念上講,RAID 2 同RAID 3類似,兩者都是將數據條塊化分布于不同的硬盤上,條塊單位為位或字節。然而RAID 2 使用一定的編碼技術來提供錯誤檢查及恢復。這種編碼技術需要多個磁盤存放檢查及恢復信息,使得RAID 2技術實施更復雜。因此,在商業環境中很少使用。下圖左邊的各個磁盤上是數據的各個位,由一個數據不同的位運算得到的海明校驗碼可以保存另一組磁盤上,具體情況請見下圖。由于海明碼的特點,它可以在數據發生錯誤的情況下將錯誤校正,以保證輸出的正確。已被淘汰 

RAID3:帶奇偶校驗碼的并行傳送

 
這種校驗碼與RAID2不同,只能查錯不能糾錯。它訪問數據時一次處理一個帶區,這樣可以提高讀取和寫入速度,它象RAID 0一樣以并行的方式來存放數,但速度沒有RAID 0快。校驗碼在寫入數據時產生并保存在另一個磁盤上。需要實現時用戶必須要有三個以上的驅動器,寫入速率與讀出速率都很高,因為校驗位比較少,因此計算時間相對而言比較少。用軟件實現RAID控制將是十分困難的,控制器的實現也不是很容易。它主要用于圖形(包括動畫)等要求吞吐率比較高的場合。不同于RAID 2,RAID 3使用單塊磁盤存放奇偶校驗信息。如果一塊磁盤失效,奇偶盤及其他數據盤可以重新產生數據。如果奇偶盤失效,則不影響數據使用。RAID 3對于大量的連續數據可提供很好的傳輸率,但對于隨機數據,奇偶盤會成為寫操作的瓶頸。利用單獨的校驗盤來保護數據雖然沒有鏡像的安全性高,但是硬盤利用率得到了很大的提高,為n-1。

RAID4:帶奇偶校驗碼的獨立磁盤結構

 
RAID4和RAID3很象,不同的是,它對數據的訪問是按數據塊進行的,也就是按磁盤進行的,每次是一個盤。在圖上可以這么看,RAID3是一次一橫條,而RAID4一次一豎條。它的特點的RAID3也挺象,不過在失敗恢復時,它的難度可要比RAID3大得多了,控制器的設計難度也要大許多,而且訪問數據的效率不怎么好。

RAID6:帶有兩種分布存儲的奇偶校驗碼的獨立磁盤結構

 
名字很長,但是如果看到圖,大家立刻會明白是為什么,請注意p0代表第0帶區的奇偶校驗值,而pA代表數據塊A的奇偶校驗值。它是對RAID5的擴展,主要是用于要求數據絕對不能出錯的場合。當然了,由于引入了第二種奇偶校驗值,所以需要N+2個磁盤,同時對控制器的設計變得十分復雜,寫入速度也不好,用于計算奇偶校驗值和驗證數據正確性所花費的時間比較多,造成了不必須的負載。我想除了軍隊沒有人用得起這種東西。

RAID7:優化的高速數據傳送磁盤結構

RAID7所有的I/O傳送均是同步進行的,可以分別控制,這樣提高了系統的并行性,提高系統訪問數據的速度;每個磁盤都帶有高速緩沖存儲器,實時操作系統可以使用任何實時操作芯片,達到不同實時系統的需要。允許使用SNMP協議進行管理和監視,可以對校驗區指定獨立的傳送信道以提高效率。可以連接多臺主機,因為加入高速緩沖存儲器,當多用戶訪問系統時,訪問時間幾乎接近于0。由于采用并行結構,因此數據訪問效率大大提高。需要注意的是它引入了一個高速緩沖存儲器,這有利有弊,因為一旦系統斷電,在高速緩沖存儲器內的數據就會全部丟失,因此需要和UPS一起工作。當然了,這么快的東西,價格也非常昂貴。 

RAID10:高可靠性與高效磁盤結構

這種結構無非是一個帶區結構加一個鏡象結構,因為兩種結構各有優缺點,因此可以相互補充,達到既高效又高速還可以的目的。大家可以結合兩種結構的優點和缺點來理解這種新結構。這種新結構的價格高,可擴充性不好。主要用于容量不大,但要求速度和差錯控制的數據庫中。

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

(1)
zerozero
上一篇 2017-04-17 21:46
下一篇 2017-04-17 22:21

相關推薦

  • vim基本總結

    ASCII可以將計算機存儲的0或1轉成我們認識的文字。在Linux中,絕大部分的配置文件都是以ASCII的純文本形態存在。通過文本編輯器,可以實現對這些文本文件的更改。常風的文本編輯器有emacs, pico,nano,joe與vi(vim是vi的升級版)等。那么為會么要學vi呢? l 因為vi是內置編輯器,系統安裝好就有了 l 很多軟件…

    2017-08-05
  • 顯示列表和復制文件的各種實例

    顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。 [root@localhost tmp]# ls -d /var/l*[[:lower:]] 顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。 [root@localhost tmp]# ls -d /etc/[0-9]*[^0-9…

    Linux干貨 2018-03-01
  • DNS實驗

    正向解析 編輯/etc/named.conf listen-on port 53 { 172.0.0.1; 192.168.209.134; }; //listen-on-v6 port 53 { ::1; }; allow-query { any; }; dnssec-enable no; dnssec-validation no; 編輯/etc/name…

    Linux干貨 2017-05-31
  • btrfs初步應用

    前言 一種技術要知其然,還要知其所以然。 Btrfs文件系統 Btrfs(B-tree文件系統,通常念成Butter FS,Better FS或B-tree FS),一種支持寫入時復制(COW)的文件系統,運行在Linux操作系統,采用GPL授權。Oracle于2007年對外宣布這項計劃,并發布源代碼,在2014年8月發布穩定版目標是替換Linux目前的ex…

    Linux干貨 2016-05-22
  • LVS基本原理

    LVS基本原理 簡介 負載調度器、真實服務器群節點一起被稱為LVS。LVS負載調度器(有時也稱為負載平衡器),接收所服務的所有接入服務集群的請求,并決定集群中的哪個節點應該回復其請求。 1)負載調度器(Director):作為整個集群的前端,主要將用戶請求分發至真實服務器中進行處理。 2)真實服務器池:由多個功能相同的真實服務器組成,為用戶提供真正的網絡服務…

    Linux干貨 2016-12-27

評論列表(1條)

  • renjin
    renjin 2017-04-21 11:17

    主要介紹了RAID的分類及特性,內容總結的很詳細,排版也很好,但是在排版上有一些圖片沒能正常的顯示出來,在下次寫博客的時候要檢查一下,或者把圖片再改改

欧美性久久久久