RAID的學(xué)習(xí)
?
??? RAID(Redundant Array of Independent Disk):獨(dú)立冗余磁盤陣列。該技術(shù)是加州大學(xué)伯克利分校1987年提出,最初是為了組合小的廉價(jià)磁盤來(lái)代替大的昂貴磁盤,同時(shí)希望磁盤失效時(shí)不會(huì)使對(duì)數(shù)據(jù)的訪問受損失而開發(fā)出一定水平的數(shù)據(jù)保護(hù)技術(shù)。RAID就是一種由多塊廉價(jià)磁盤構(gòu)成的冗余陣列,在操作系統(tǒng)下是作為一個(gè)獨(dú)立的大型存儲(chǔ)設(shè)備出現(xiàn)。RAID可以充分發(fā)揮出多塊硬盤的優(yōu)勢(shì),可以提升硬盤速度,增大容量,提供容錯(cuò)功能夠確保數(shù)據(jù)安全性,易于管理的優(yōu)點(diǎn),在任何一塊硬盤出現(xiàn)問題的情況下都可以繼續(xù)工作,不會(huì)受到損壞硬盤的影響。
?
??? RAID有以下集中工作模式:
?
???
1、RAID 0
?
??? 即Data Stripping數(shù)據(jù)分條技術(shù)。RAID 0可以把多塊硬盤連成一個(gè)容量更大的硬盤群,可以提高磁盤的性能和吞吐量。數(shù)據(jù)按系統(tǒng)規(guī)定的“段”(Segment)為單位依次寫入多個(gè)硬盤,例如數(shù)據(jù)段1寫入硬盤0,段2寫入硬盤1,段3寫入硬盤2等等。當(dāng)數(shù)據(jù)寫完最后一個(gè)硬盤時(shí),它就重新從盤0的下一可用段開始寫入,寫數(shù)據(jù)的全過程按此重復(fù)直至數(shù)據(jù)寫完。
?
??? 由于硬盤分段的方法,是把數(shù)據(jù)立即寫入(讀出)多個(gè)硬盤,因此它的速度比較快。實(shí)際上,數(shù)據(jù)的傳輸是順序的,但多個(gè)讀(或?qū)懀┎僮鲃t可以相互重迭進(jìn)行。這就是說,正當(dāng)段1在寫入驅(qū)動(dòng)器0時(shí),段2寫入驅(qū)動(dòng)器1的操作也開始了;而當(dāng)段2尚在寫盤驅(qū)動(dòng)器1時(shí),段3數(shù)據(jù)已送驅(qū)動(dòng)器2;如此類推,在同一時(shí)刻有幾個(gè)盤(即使不是所有的盤)在同時(shí)寫數(shù)據(jù)。因?yàn)閿?shù)據(jù)送入盤驅(qū)動(dòng)器的速度要遠(yuǎn)大于寫入物理盤的速度。因此只要根據(jù)這個(gè)特點(diǎn)編制出控制軟件,就能實(shí)現(xiàn)上述數(shù)據(jù)同時(shí)寫盤的操作。
?
??? RAID 0沒有冗余或錯(cuò)誤修復(fù)能力,成本低,要求至少兩個(gè)磁盤,一般只是在那些對(duì)數(shù)據(jù)安全性要求不高的情況下才被使用。
?
?
???
2、RAID 1
?
??? RAID 1稱為磁盤鏡像:把一個(gè)磁盤的數(shù)據(jù)鏡像到另一個(gè)磁盤上,在不影響性能情況下最大限度的保證系統(tǒng)的可靠性和可修復(fù)性上,具有很高的數(shù)據(jù)冗余能力,但磁盤利用率為50%,故成本最高,多用在保存關(guān)鍵性的重要數(shù)據(jù)的場(chǎng)合。RAID 1有以下特點(diǎn):
?
??? 1、RAID 1的每一個(gè)磁盤都具有一個(gè)對(duì)應(yīng)的鏡像盤,任何時(shí)候數(shù)據(jù)都同步鏡像,系統(tǒng)可以從一組鏡像盤中的任何一個(gè)磁盤讀取數(shù)據(jù)。
??? 2、磁盤所能使用的空間只有磁盤容量總和的一半,系統(tǒng)成本高。
??? 3
、只要系統(tǒng)中任何一對(duì)鏡像盤中至少有一塊磁盤可以使用,甚至可以在一半數(shù)量的硬盤出現(xiàn)問題時(shí)系統(tǒng)都可以正常運(yùn)行。
??? 4、出現(xiàn)硬盤故障的RAID系統(tǒng)不再可靠,應(yīng)當(dāng)及時(shí)的更換損壞的硬盤,否則剩余的鏡像盤也出現(xiàn)問題,那么整個(gè)系統(tǒng)就會(huì)崩潰。
??? 5
、更換新盤后原有數(shù)據(jù)會(huì)需要很長(zhǎng)時(shí)間同步鏡像,外界對(duì)數(shù)據(jù)的訪問不會(huì)受到影響,只是這時(shí)整個(gè)系統(tǒng)的性能有所下降。
??? 6
、RAID 1磁盤控制器的負(fù)載相當(dāng)大,用多個(gè)磁盤控制器可以提高數(shù)據(jù)的安全性和可用性。
?
??? 3、RAID 0+1
?
??? 把RAID 0和RAID 1技術(shù)結(jié)合起來(lái),數(shù)據(jù)除分布在多個(gè)盤上外,每個(gè)盤都有其物理鏡像盤,提供全冗余能力,允許一個(gè)以下磁盤故障,而不影響數(shù)據(jù)可用性,并具有快速讀
/寫能力。RAID0+1要在磁盤鏡像中建立帶區(qū)集至少4個(gè)硬盤。
?
?
??? 4、RAID 2
?
??? 電腦在寫入數(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ì)簡(jiǎn)單。
?
?
???
5、RAID 3
?
??? RAID 3使用一個(gè)專門的磁盤存放所有的校驗(yàn)數(shù)據(jù),而在剩余的磁盤中創(chuàng)建帶區(qū)集分散數(shù)據(jù)的讀寫操作。
?
??? 當(dāng)一個(gè)完好的RAID 3系統(tǒng)中讀取數(shù)據(jù),只需要在數(shù)據(jù)存儲(chǔ)盤中找到相應(yīng)的數(shù)據(jù)塊進(jìn)行讀取操作即可。但當(dāng)向RAID 3寫入數(shù)據(jù)時(shí),必須計(jì)算與該數(shù)據(jù)塊同處一個(gè)帶區(qū)的所有數(shù)據(jù)塊的校驗(yàn)值,并將新值重新寫入到校驗(yàn)塊中,這樣無(wú)形雖增加系統(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)的性能會(huì)受到嚴(yán)重的影響。
?
??? RAID 3最大不足是校驗(yàn)盤很容易成為整個(gè)系統(tǒng)的瓶頸,對(duì)于經(jīng)常大量寫入操作的應(yīng)用會(huì)導(dǎo)致整個(gè)RAID系統(tǒng)性能的下降。RAID 3適合用于數(shù)據(jù)庫(kù)和WEB服務(wù)器等。
?
?
??? 6、RAID 4
?
??? RAID 4即帶奇偶校驗(yàn)碼的獨(dú)立磁盤結(jié)構(gòu),RAID 4和RAID 3很象,它對(duì)數(shù)據(jù)的訪問是按數(shù)據(jù)塊進(jìn)行的,也就是按磁盤進(jìn)行的,每次是一個(gè)盤,RAID 4的特點(diǎn)和RAID 3也挺象,不過在失敗恢復(fù)時(shí),它的難度可要比RAID 3大得多了,控制器的設(shè)計(jì)難度也要大許多,而且訪問數(shù)據(jù)的效率不怎么好。
?
?
??? 7、RAID 5
?
??? RAID 5把校驗(yàn)塊分散到所有的數(shù)據(jù)盤中。RAID 5使用了一種特殊的算法,可以計(jì)算出任何一個(gè)帶區(qū)校驗(yàn)塊的存放位置。這樣就可以確保任何對(duì)校驗(yàn)塊進(jìn)行的讀寫操作都會(huì)在所有的RAID磁盤中進(jìn)行均衡,從而消除了產(chǎn)生瓶頸的可能。
?
??? RAID5的讀出效率很高,寫入效率一般,塊式的集體訪問效率不錯(cuò)。RAID 5提高了系統(tǒng)可靠性,但對(duì)數(shù)據(jù)傳輸?shù)牟⑿行越鉀Q不好,而且控制器的設(shè)計(jì)也相當(dāng)困難。
?
??? 這種方法將提高硬盤子系統(tǒng)的事務(wù)處理速度。所謂事務(wù)處理,是指處理從許多不同用戶來(lái)的多個(gè)硬盤I/O操作,由于可能同時(shí)有很多用戶與硬盤打交道,迅速向硬盤寫入數(shù)據(jù),有時(shí)幾乎是同時(shí)進(jìn)行的,這種情況下,用分布式奇偶盤的方式比起用專用奇偶盤,瓶頸效應(yīng)發(fā)生的可能性要小。
?
??? 對(duì)硬盤操作來(lái)說,RAID 5的寫性能比不上直接硬盤分段(指沒有校驗(yàn)信息的RAID 0)。因?yàn)楫a(chǎn)生或存儲(chǔ)奇偶碼需要一些額外操作。例如,在修改一個(gè)硬盤上的數(shù)據(jù)時(shí),其它盤上對(duì)應(yīng)段的數(shù)據(jù)(即使是無(wú)關(guān)的數(shù)據(jù))也要讀入主機(jī),以便產(chǎn)生必要的奇偶信息。奇偶段產(chǎn)生后(這要花一些時(shí)間),我們要將更新的數(shù)據(jù)段和奇偶段寫入硬盤,這通常稱為讀-修改-寫策略。因此,雖然RAID 5比RAID 0優(yōu)越,但就寫性能來(lái)說,RAID 5不如RAID 0
?
??? 采用RAID 5時(shí),對(duì)于5個(gè)硬盤的數(shù)組,有大約20%的硬盤空間用于存放奇偶碼,而十個(gè)硬盤的數(shù)組只有約10%的空間存放奇偶碼。在可用空間總的格式化空間的意義上來(lái)說,硬盤系統(tǒng)中的硬盤越多該系統(tǒng)就越省錢。
總之,RAID 5把硬盤分段和奇偶冗余技術(shù)的優(yōu)點(diǎn)結(jié)合在一起,這樣的硬盤子系統(tǒng)特別適合于事務(wù)處理環(huán)境,例如民航售票處,汽車出租站,銷售系統(tǒng)的終端,等等。在某些場(chǎng)合,可優(yōu)先考慮RAID 1(在那些寫數(shù)據(jù)比讀數(shù)據(jù)更頻繁的情況)。但許多情況,RAID 5提供了將高性能,低價(jià)格和數(shù)據(jù)安全性綜合在一起的解決辦法。
?
??? 8、RAID 6
?
??? RAID 6即帶有兩種分布存儲(chǔ)的奇偶校驗(yàn)碼的獨(dú)立磁盤結(jié)構(gòu),它是對(duì)RAID 5的擴(kuò)展,主要是用于要求數(shù)據(jù)絕對(duì)不能出錯(cuò)的場(chǎng)合,使用了二種奇偶校驗(yàn)值,所以需要N+2個(gè)磁盤,同時(shí)對(duì)控制器的設(shè)計(jì)變得十分復(fù)雜,寫入速度也不好,用于計(jì)算奇偶校驗(yàn)值和驗(yàn)證數(shù)據(jù)正確性所花費(fèi)的時(shí)間比較多,造成了不必須的負(fù)載,很少人用。
?
?
??? 9、RAID 7
?
??? RAID 7即優(yōu)化的高速數(shù)據(jù)傳送磁盤結(jié)構(gòu),它所有的I/O傳送均是同步進(jìn)行的,可以分別控制,這樣提高了系統(tǒng)的并行性和系統(tǒng)訪問數(shù)據(jù)的速度;
?
??? 每個(gè)磁盤都帶有高速緩沖存儲(chǔ)器,實(shí)時(shí)操作系統(tǒng)可以使用任何實(shí)時(shí)操作芯片,達(dá)到不同實(shí)時(shí)系統(tǒng)的需要。允許使用SNMP協(xié)議進(jìn)行管理和監(jiān)視,可以對(duì)校驗(yàn)區(qū)指定獨(dú)立的傳送信道以提高效率。
?
??? RAID 7可以連接多臺(tái)主機(jī),當(dāng)多用戶訪問系統(tǒng)時(shí),訪問時(shí)間幾乎接近于0。但如果系統(tǒng)斷電,在高速緩沖存儲(chǔ)器內(nèi)的數(shù)據(jù)就會(huì)全部丟失,因此需要和UPS一起工作,RAID 7系統(tǒng)成本很高。
?
?
??? 10、RAID 10
?
??? RAID 10即高可靠性與高效磁盤結(jié)構(gòu),它是一個(gè)帶區(qū)結(jié)構(gòu)加一個(gè)鏡象結(jié)構(gòu),可以達(dá)到既高效又高速的目的。這種新結(jié)構(gòu)的價(jià)格高,可擴(kuò)充性不好。
?
??? RAID 10可以簡(jiǎn)單得理解為RAID 1 + RAID 0,先鏡像后條帶,而RAID 0+1是:先條帶后鏡像。如圖所示:
?
???
??? 總體來(lái)說,RAID10的性能和安全性都是優(yōu)于RAID 0+1的
?
?
?
===================================================================================================
?
??? 列舉一下磁盤陣列技術(shù)術(shù)語(yǔ):
?
???
硬盤鏡像(Disk Mirroring):硬盤鏡像最簡(jiǎn)單的形式是,一個(gè)主機(jī)控制器帶二個(gè)互為鏡像的硬盤。數(shù)據(jù)同時(shí)寫入二個(gè)硬盤,二個(gè)硬盤上的數(shù)據(jù)完全相同,因此一個(gè)硬盤故障時(shí),另一個(gè)硬盤可提供數(shù)據(jù)。
?
??? 硬盤數(shù)據(jù)跨盤(Disk Spanning):利用這種技術(shù),幾個(gè)硬盤看上去像是一個(gè)大硬盤;這個(gè)虛擬盤可以把數(shù)據(jù)跨盤存儲(chǔ)在不同的物理盤上,用戶不需關(guān)心哪個(gè)盤上存有他需要的數(shù)據(jù)。
?
??? 硬盤數(shù)據(jù)分段(Disk Striping):數(shù)據(jù)分散存儲(chǔ)在幾個(gè)盤上。數(shù)據(jù)的第一段放在盤0,第2段放在盤1,……直至達(dá)到硬盤鏈中的最后一個(gè)盤,然后下一個(gè)邏輯段將放在硬盤0,再下一個(gè)邏輯段放在盤1,如此循環(huán)直至完成寫操作。
?
??? 雙控(Duplexing):這里指的是用二個(gè)控制器來(lái)驅(qū)動(dòng)一個(gè)硬盤子系統(tǒng)。一個(gè)控制器發(fā)生故障,另一個(gè)控制器馬上控制硬盤操作。此外,如果編寫恰當(dāng)?shù)目刂破鬈浖?,可?shí)現(xiàn)不同的硬盤驅(qū)動(dòng)器同時(shí)工作。
?
??? 容錯(cuò)(Fault Tolerant):具有容錯(cuò)功能的機(jī)器有抗故障的能力。例如RAID 1鏡像系統(tǒng)是容錯(cuò)的,鏡像盤中的一個(gè)出故障,硬盤子系統(tǒng)仍能正常工作。
?
??? 主機(jī)控制器(Host Adapter):這里指的是使主機(jī)和外設(shè)進(jìn)行數(shù)據(jù)交換的控制部件(如SCSI控制器)。
?
??? 熱修復(fù)(Hot Fix):指用一個(gè)硬盤熱備份來(lái)替換發(fā)生的故障的硬盤。要注意故障盤并不是真正地被物理替換了。用作熱備份的盤被加載上故障盤原來(lái)的數(shù)據(jù),然后系統(tǒng)恢復(fù)工作。
?
??? 熱補(bǔ)(Hot Patch):具有硬盤熱備份,可隨時(shí)替換故障盤的系統(tǒng)。
?
??? 熱備份(Hot Spare):與CPU系統(tǒng)電連接的硬盤,它能替換下系統(tǒng)中的故障盤。與冷備份的區(qū)別是,冷備份盤平時(shí)與機(jī)器不相連接,硬盤故障時(shí)才換下故障盤。
?
??? 平均數(shù)據(jù)丟失時(shí)間(MTBDL-Mean Time Between Data Loss):發(fā)生數(shù)據(jù)丟失的事件間的平均時(shí)間。
?
??? 平均無(wú)故障工作時(shí)間(MTBF-Mean Time Between Failure或MTIF):設(shè)備平均無(wú)故障運(yùn)行時(shí)間。
?
??? 廉價(jià)冗余磁盤陣列(RAID-Redundant Array of Inexpensive Drives):一種將多個(gè)廉價(jià)硬盤組合成快速,有容錯(cuò)功能的硬盤子系統(tǒng)的技術(shù)。
?
??? 系統(tǒng)重建(Reconstruction or Rebuild):一個(gè)硬盤發(fā)生故障后,從其它正確的硬盤數(shù)據(jù)和奇偶信息恢復(fù)故障盤數(shù)據(jù)的過程。
?
??? 恢復(fù)時(shí)間(Reconstruction Time):為故障盤重建數(shù)據(jù)所需要的時(shí)間。
?
??? 單個(gè)大容量硬盤(SLED-Singe Expensive Drive):就是一個(gè)大硬盤。
?
??? 傳輸速率(Transfer Rate):指在不同條件下存取數(shù)據(jù)的速度。
?
??? 虛擬盤(Virtual Disk):與虛擬存儲(chǔ)器類似,虛擬盤是一個(gè)概念盤,用戶不必關(guān)心他的數(shù)據(jù)寫在哪個(gè)物理盤上。虛擬盤一般跨越幾個(gè)物理盤,但用戶看到的只是一個(gè)盤。
?
?