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