磁盤陣列(Redundant Arrays of Inexpensive Disks,RAID),有“價(jià)格便宜且多余的磁盤陣列”之意。原理是利用數(shù)組方式來作磁盤組,配合數(shù)據(jù)分散排列的設(shè)計(jì),提升數(shù)據(jù)的安全性。磁盤陣列是由很多便宜、容量較小、穩(wěn)定性較高、速度較慢磁盤,組合成一個(gè)大型的磁盤組,利用個(gè)別磁盤提供數(shù)據(jù)所產(chǎn)生加成效果提升整個(gè)磁盤系統(tǒng)效能。同時(shí)利用這項(xiàng)技術(shù),將數(shù)據(jù)切割成許多區(qū)段,分別存放在各個(gè)硬盤上。磁盤陣列還能利用同位檢查(Parity Check)的觀念,在數(shù)組中任一顆硬盤故障時(shí),仍可讀出數(shù)據(jù),在數(shù)據(jù)重構(gòu)時(shí),將數(shù)據(jù)經(jīng)計(jì)算后重新置入新硬盤中。
RAID技術(shù)的兩大特點(diǎn):一是速度、二是安全,由于這兩項(xiàng)優(yōu)點(diǎn),RAID技術(shù)早期被應(yīng)用于高級服務(wù)器中的SCSI接口的硬盤系統(tǒng)中,隨著近年計(jì)算機(jī)技術(shù)的發(fā)展,PC機(jī)的CPU的速度已進(jìn)入GHz 時(shí)代。IDE接口的硬盤也不甘落后,相繼推出了ATA66和ATA100硬盤。這就使得RAID技術(shù)被應(yīng)用于中低檔甚至個(gè)人PC機(jī)上成為可能。RAID通常是由在硬盤陣列塔中的RAID控制器或電腦中的RAID卡來實(shí)現(xiàn)的。
二、RAID的幾種工作模式
1、RAID0
即Data Stripping數(shù)據(jù)分條技術(shù)。RAID 0可以把多塊硬盤連成一個(gè)容量更大的硬盤群,可以提高磁盤的性能和吞吐量。RAID 0沒有冗余或錯(cuò)誤修復(fù)能力,成本低,要求至少兩個(gè)磁盤,一般只是在那些對數(shù)據(jù)安全性要求不高的情況下才被使用。
(1)、RAID 0最簡單方式
就是把x塊同樣的硬盤用硬件的形式通過智能磁盤控制器或用操作系統(tǒng)中的磁盤驅(qū)動(dòng)程序以軟件的方式串聯(lián)在一起,形成一個(gè)獨(dú)立的邏輯驅(qū)動(dòng)器,容量是單獨(dú)硬盤的x倍,在電腦數(shù)據(jù)寫時(shí)被依次寫入到各磁盤中,當(dāng)一塊磁盤的空間用盡時(shí),數(shù)據(jù)就會被自動(dòng)寫入到下一塊磁盤中,它的好處是可以增加磁盤的容量。速度與其中任何一塊磁盤的速度相同,如果其中的任何一塊磁盤出現(xiàn)故障,整個(gè)系統(tǒng)將會受到破壞,可靠性是單獨(dú)使用一塊硬盤的1/n。
(2)、RAID 0的另一方式?
是用n塊硬盤選擇合理的帶區(qū)大小創(chuàng)建帶區(qū)集,最好是為每一塊硬盤都配備一個(gè)專門的磁盤控制器,在電腦數(shù)據(jù)讀寫時(shí)同時(shí)向n塊磁盤讀寫數(shù)據(jù),速度提升n倍。提高系統(tǒng)的性能。
2、RAID 1
RAID 1稱為磁盤鏡像:把一個(gè)磁盤的數(shù)據(jù)鏡像到另一個(gè)磁盤上,在不影響性能情況下最大限度的保證系統(tǒng)的可靠性和可修復(fù)性上,具有很高的數(shù)據(jù)冗余能力,但磁盤利用率為50%,故成本最高,多用在保存關(guān)鍵性的重要數(shù)據(jù)的場合。RAID 1有以下特點(diǎn):
(1)、RAID 1的每一個(gè)磁盤都具有一個(gè)對應(yīng)的鏡像盤,任何時(shí)候數(shù)據(jù)都同步鏡像,系統(tǒng)可以從一組鏡像盤中的任何一個(gè)磁盤讀取數(shù)據(jù)。
(2)、磁盤所能使用的空間只有磁盤容量總和的一半,系統(tǒng)成本高。
(3)、只要系統(tǒng)中任何一對鏡像盤中至少有一塊磁盤可以使用,甚至可以在一半數(shù)量的硬盤出現(xiàn)問題時(shí)系統(tǒng)都可以正常運(yùn)行。
(4)、出現(xiàn)硬盤故障的RAID系統(tǒng)不再可靠,應(yīng)當(dāng)及時(shí)的更換損壞的硬盤,否則剩余的鏡像盤也出現(xiàn)問題,那么整個(gè)系統(tǒng)就會崩潰。
(5)、更換新盤后原有數(shù)據(jù)會需要很長時(shí)間同步鏡像,外界對數(shù)據(jù)的訪問不會受到影響,只是這時(shí)整個(gè)系統(tǒng)的性能有所下降。
(6)、RAID 1磁盤控制器的負(fù)載相當(dāng)大,用多個(gè)磁盤控制器可以提高數(shù)據(jù)的安全性和可用性。
3、RAID0+1
把RAID0和RAID1技術(shù)結(jié)合起來,數(shù)據(jù)除分布在多個(gè)盤上外,每個(gè)盤都有其物理鏡像盤,提供全冗余能力,允許一個(gè)以下磁盤故障,而不影響數(shù)據(jù)可用性,并具有快速讀/寫能力。RAID0+1要在磁盤鏡像中建立帶區(qū)集至少4個(gè)硬盤。
4、RAID2
電腦在寫入數(shù)據(jù)時(shí)在一個(gè)磁盤上保存數(shù)據(jù)的各個(gè)位,同時(shí)把一個(gè)數(shù)據(jù)不同的位運(yùn)算得到的海明校驗(yàn)碼保存另一組磁盤上,由于海明碼可以在數(shù)據(jù)發(fā)生錯(cuò)誤的情況下將錯(cuò)誤校正,以保證輸出的正確。但海明碼使用數(shù)據(jù)冗余技術(shù),使得輸出數(shù)據(jù)的速率取決于驅(qū)動(dòng)器組中速度最慢的磁盤。RAID2控制器的設(shè)計(jì)簡單。
5、RAID3
帶奇偶校驗(yàn)碼的并行傳送?
RAID 3使用一個(gè)專門的磁盤存放所有的校驗(yàn)數(shù)據(jù),而在剩余的磁盤中創(chuàng)建帶區(qū)集分散數(shù)據(jù)的讀寫操作。當(dāng)一個(gè)完好的RAID 3系統(tǒng)中讀取數(shù)據(jù),只需要在數(shù)據(jù)存儲盤中找到相應(yīng)的數(shù)據(jù)塊進(jìn)行讀取操作即可。但當(dāng)向RAID 3寫入數(shù)據(jù)時(shí),必須計(jì)算與該數(shù)據(jù)塊同處一個(gè)帶區(qū)的所有數(shù)據(jù)塊的校驗(yàn)值,并將新值重新寫入到校驗(yàn)塊中,這樣無形雖增加系統(tǒng)開銷。
當(dāng)一塊磁盤失效時(shí),該磁盤上的所有數(shù)據(jù)塊必須使用校驗(yàn)信息重新建立,如果所要讀取的數(shù)據(jù)塊正好位于已經(jīng)損壞的磁盤,則必須同時(shí)讀取同一帶區(qū)中的所有其它數(shù)據(jù)塊,并根據(jù)校驗(yàn)值重建丟失的數(shù)據(jù),這使系統(tǒng)減慢。當(dāng)更換了損壞的磁盤后,系統(tǒng)必須一個(gè)數(shù)據(jù)塊一個(gè)數(shù)據(jù)塊的重建壞盤中的數(shù)據(jù),整個(gè)系統(tǒng)的性能會受到嚴(yán)重的影響。RAID 3最大不足是校驗(yàn)盤很容易成為整個(gè)系統(tǒng)的瓶頸,對于經(jīng)常大量寫入操作的應(yīng)用會導(dǎo)致整個(gè)RAID系統(tǒng)性能的下降。RAID 3適合用于數(shù)據(jù)庫和WEB服務(wù)器等。
6、RAID4
RAID4即帶奇偶校驗(yàn)碼的獨(dú)立磁盤結(jié)構(gòu),RAID4和RAID3很象,它對數(shù)據(jù)的訪問是按數(shù)據(jù)塊進(jìn)行的,也就是按磁盤進(jìn)行的,每次是一個(gè)盤,RAID4的特點(diǎn)和RAID3也挺象,不過在失敗恢復(fù)時(shí),它的難度可要比RAID3大得多了,控制器的設(shè)計(jì)難度也要大許多,而且訪問數(shù)據(jù)的效率不怎么好。
7、RAID5
RAID 5把校驗(yàn)塊分散到所有的數(shù)據(jù)盤中。RAID 5使用了一種特殊的算法,可以計(jì)算出任何一個(gè)帶區(qū)校驗(yàn)塊的存放位置。這樣就可以確保任何對校驗(yàn)塊進(jìn)行的讀寫操作都會在所有的RAID磁盤中進(jìn)行均衡,從而消除了產(chǎn)生瓶頸的可能。RAID5的讀出效率很高,寫入效率一般,塊式的集體訪問效率不錯(cuò)。RAID 5提高了系統(tǒng)可靠性,但對數(shù)據(jù)傳輸?shù)牟⑿行越鉀Q不好,而且控制器的設(shè)計(jì)也相當(dāng)困難。
8、RAID6
RAID6即帶有兩種分布存儲的奇偶校驗(yàn)碼的獨(dú)立磁盤結(jié)構(gòu),它是對RAID5的擴(kuò)展,主要是用于要求數(shù)據(jù)絕對不能出錯(cuò)的場合,使用了二種奇偶校驗(yàn)值,所以需要N+2個(gè)磁盤,同時(shí)對控制器的設(shè)計(jì)變得十分復(fù)雜,寫入速度也不好,用于計(jì)算奇偶校驗(yàn)值和驗(yàn)證數(shù)據(jù)正確性所花費(fèi)的時(shí)間比較多,造成了不必須的負(fù)載,很少人用。
9、 RAID7
RAID7即優(yōu)化的高速數(shù)據(jù)傳送磁盤結(jié)構(gòu),它所有的I/O傳送均是同步進(jìn)行的,可以分別控制,這樣提高了系統(tǒng)的并行性和系統(tǒng)訪問數(shù)據(jù)的速度;每個(gè)磁盤都帶有高速緩沖存儲器,實(shí)時(shí)操作系統(tǒng)可以使用任何實(shí)時(shí)操作芯片,達(dá)到不同實(shí)時(shí)系統(tǒng)的需要。允許使用SNMP協(xié)議進(jìn)行管理和監(jiān)視,可以對校驗(yàn)區(qū)指定獨(dú)立的傳送信道以提高效率??梢赃B接多臺主機(jī),當(dāng)多用戶訪問系統(tǒng)時(shí),訪問時(shí)間幾乎接近于0。但如果系統(tǒng)斷電,在高速緩沖存儲器內(nèi)的數(shù)據(jù)就會全部丟失,因此需要和UPS一起工作,RAID7系統(tǒng)成本很高。