http://page.renren.com/600235506/note/486081565?op=pre&curTime=1282876355000 數據庫
RAID是「Redundant Array of Independent Disk」的縮寫,中文意思是獨立冗餘磁盤陣列。冗餘磁盤陣列技術誕生於1987年,由美國加州大學伯克利分校提出。簡單地解釋,就是將N臺硬盤經過RAID Controller(分Hardware,Software)結合成虛擬單臺大容量的硬盤使用。RAID的採用爲存儲系統(或者服務器的內置存儲)帶來巨大利益,其中提升傳輸速率和提供容錯功能是最大的優勢。 安全
常見的raid種類有0,1,5,10等。 服務器
RAID 0:無差錯控制的帶區組 分佈式
要實現RAID0必需要有兩個以上硬盤驅動器,RAID0實現了帶區組,數據並非保存在一個硬盤上,而是分紅數據塊保存在不一樣驅動器上。由於將數據分佈在不一樣驅動器上,因此數據吞吐率大大提升,驅動器的負載也比較平衡。若是恰好所須要的數據在不一樣的驅動器上效率最好。它不須要計算校驗碼,實現容易。它的缺點是它沒有數據差錯控制,若是一個驅動器中的數據發生錯誤,即便其它盤上的數據正確也無濟於事了。不該該將它用於對數據穩定性要求高的場合。若是用戶進行圖象(包括動畫)編輯和其它要求傳輸比較大的場合使用RAID0比較合適。同時,RAID能夠提升數據傳輸速率,好比所需讀取的文件分佈在兩個硬盤上,這兩個硬盤能夠同時讀取。那麼原來讀取一樣文件的時間被縮短爲1/2。在全部的級別中,RAID 0的速度是最快的。可是RAID 0沒有冗餘功能的,若是一個磁盤(物理)損壞,則全部的數據都沒法使用。 性能
RAID 1:鏡象結構 動畫
raid1對於使用這種RAID1結構的設備來講,RAID控制器必須可以同時對兩個盤進行讀操做和對兩個鏡象盤進行寫操做。經過下面的結構圖您也能夠看到必須有兩個驅動器。由於是鏡象結構在一組盤出現問題時,可使用鏡象,提升系統的容錯能力。它比較容易設計和實現。每讀一次盤只能讀出一塊數據,也就是說數據塊傳送速率與單獨的盤的讀取速率相同。由於RAID1的校驗十分完備,所以對系統的處理能力有很大的影響,一般的RAID功能由軟件實現,而這樣的實現方法在服務器負載比較重的時候會大大影響服務器效率。當您的系統須要極高的可靠性時,如進行數據統計,那麼使用RAID1比較合適。並且RAID1技術支持「熱替換」,即不斷電的狀況下對故障磁盤進行更換,更換完畢只要從鏡像盤上恢復數據便可。當主硬盤損壞時,鏡像硬盤就能夠代替主硬盤工做。鏡像硬盤至關於一個備份盤,可想而知,這種硬盤模式的安全性是很是高的,RAID 1的數據安全性在全部的RAID級別上來講是最好的。可是其磁盤的利用率卻只有50%,是全部RAID級別中最低的。 spa
RAID5:分佈式奇偶校驗的獨立磁盤結構 設計
RAID5清晰圖片從它的示意圖上能夠看到,它的奇偶校驗碼存在於全部磁盤上,其中的p0表明第0帶區的奇偶校驗值,其它的意思也相同。RAID5的讀出效率很高,寫入效率通常,塊式的集體訪問效率不錯。由於奇偶校驗碼在不一樣的磁盤上,因此提升了可靠性,容許單個磁盤出錯。RAID 5也是以數據的校驗位來保證數據的安全,但它不是以單獨硬盤來存放數據的校驗位,而是將數據段的校驗位交互存放於各個硬盤上。這樣,任何一個硬盤損壞,均可以根據其它硬盤上的校驗位來重建損壞的數據。硬盤的利用率爲n-1。 可是它對數據傳輸的並行性解決很差,並且控制器的設計也至關困難。RAID 3 與RAID 5相比,重要的區別在於RAID 3每進行一次數據傳輸,需涉及到全部的陣列盤。而對於RAID 5來講,大部分數據傳輸只對一塊磁盤操做,可進行並行操做。在RAID 5中有「寫損失」,即每一次寫操做,將產生四個實際的讀/寫操做,其中兩次讀舊的數據及奇偶信息,兩次寫新的數據及奇偶信息。 RAID-5的話,優勢是提供了冗餘性(支持一塊盤掉線後仍然正常運行),磁盤空間利用率較高(N-1/N),讀寫速度較快(N-1倍)。RAID5最大的好處是在一塊盤掉線的狀況下,RAID照常工做,相對於RAID0必須每一塊盤都正常才能夠正常工做的情況容錯性能好多了。所以RAID5是RAID級別中最多見的一個類型。RAID5校驗位即P位是經過其它條帶數據作異或(xor)求得的。計算公式爲P=D0xorD1xorD2…xorDn,其中p表明校驗塊,Dn表明相應的數據塊,xor是數學運算符號異或。 圖片
(PS.在raid5中,任何一塊硬盤出現錯誤甚至是徹底損壞都沒有問題,並且能徹底修復,這就是奇偶校驗的優點) get
RAID10:高可靠性與高效磁盤結構
這種結構無非是一個帶區結構加一個鏡象結構,由於兩種結構各有優缺點,所以能夠相互補充,達到既高效又高速還能夠互爲鏡像的目的。你們能夠結合兩種結構的優勢和缺點來理解這種新結構。這種新結構的價格高,可擴充性很差。主要用於容量不大,但要求速度和差錯控制的數據庫中。
(PS.raid10其實就是raid1+raid0)
Linux下創建Raid (以raid1爲例子)
一、先用fdisk在硬盤上劃分出空間。
fdisk /dev/sdc (後面的根據本身實際狀況修改,由於我這裏是虛擬機,因此就用2個500M的來作成一個raid)
而後將其的功能改成 Linux raid autodetect
(也就是在fdisk下面 用t選擇功能而後輸入 -->fd)
二、創建raid
mdadm -C /dev/md1 -l 1 -n 2 /dev/sdc -n 2 /dev/sdc1 /dev/sdc2
mdadm -C 【raid陣列所在】 -l 【raid等級】 -n 【設備數】 【設備分別是什麼】
創建完畢以後,能夠經過cat /proc/mdstat 查看是否成功
三、格式化
mkfs.ext3 /dev/md1
四、掛載
mount /dev/md1 /raid1
五、創建mdadm.conf文件
mdadm -Ds > /etc/mdadm.conf
六、編輯mdadm.conf
加入DEVICE /dev/sdc1 /dev/sdc2
五、6部在一些人寫的文章中不多提到,可是我在實際工做中遇到過若是不創建mdadm.conf文件致使服務器重啓以後raid沒法正常運行.