1. 程式人生 > 實用技巧 >Raid的幾種模式的簡介,以及linux下建立raid方法

Raid的幾種模式的簡介,以及linux下建立raid方法

>>> hot3.png

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級別中最低的。




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中,任何一塊硬碟出現錯誤甚至是完全損壞都沒有問題,而且能完全修復,這就是奇偶校驗的優勢)

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

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




(PS.raid10其實就是raid1+raid0)

Linux下建立Raid (以raid1為例子)

1、先用fdisk在硬碟上劃分出空間。

fdisk /dev/sdc (後面的根據自己實際情況修改,因為我這裡是虛擬機器,所以就用2個500M的來做成一個raid)

然後將其的功能改為 Linux raid autodetect

(也就是在fdisk下面 用t選擇功能然後輸入 -->fd)




2、建立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 檢視是否成功




3、格式化

mkfs.ext3 /dev/md1

4、掛載

mount /dev/md1 /raid1

5、建立mdadm.conf檔案

mdadm -Ds > /etc/mdadm.conf

6、編輯mdadm.conf

加入DEVICE /dev/sdc1 /dev/sdc2




5、6部在一些人寫的文章中很少提到,但是我在實際工作中遇到過如果不建立mdadm.conf檔案導致伺服器重啟之後raid無法正常執行.



轉載於:https://my.oschina.net/cxz001/blog/108862