一、RAID5的寫和格式化操作模式
1、認(rèn)識(shí)RAID5 RAID 5 是一種存儲(chǔ)性能、數(shù)據(jù)安全和存儲(chǔ)成本兼顧的存儲(chǔ)解決方案,它使用的是Disk Striping(硬盤分割)技術(shù),RAID 5不是利用鏡像而是利用分散奇偶校驗(yàn)冗余數(shù)據(jù)。RAID 5可以理解為是RAID 0和RAID 1的折衷方案,RAID 5可以為系統(tǒng)提供數(shù)據(jù)安全保障,但保障程度要比Mirror低而磁盤空間利用率要比Mirror高。圖中假定采用P3的PC服務(wù)器,我們一般都需要增加RAID卡實(shí)現(xiàn)對(duì)RAID 5的支持,保護(hù)數(shù)據(jù)存儲(chǔ)安全。 支持RAID5的RAID卡一般是使用SCSI RAID卡,它是用來實(shí)現(xiàn)RAID功能的板卡,通常是由I/O處理器、SCSI控制器、SCSI連接器和緩存等一系列零組件構(gòu)成的。RAID卡可以讓很多磁盤驅(qū)動(dòng)器同時(shí)傳輸數(shù)據(jù),而這些磁盤驅(qū)動(dòng)器在邏輯上又是一個(gè)磁盤驅(qū)動(dòng)器,所以使用RAID可以達(dá)到單個(gè)的磁盤驅(qū)動(dòng)器幾倍、幾十倍甚至上百倍的速率,這也是RAID卡最初想要解決的問題;另外也可以提供容錯(cuò)功能,這是RAID卡的第二個(gè)重要功能。 因此RAID陣列卡不僅僅是提供數(shù)據(jù)存儲(chǔ)安全保障,還能擴(kuò)展硬盤的掛載數(shù)量,所以,在企業(yè)購買陣列卡之后也會(huì)增加一些硬盤,來滿足數(shù)據(jù)存儲(chǔ)的需要,這里我們僅以四個(gè)硬盤組成的RAID 5為例來說明。 2、RAID5的寫(Write)操作 圖2:RAID5的寫(Write)操作 圖中的四個(gè)硬盤組成的RAID 5采用數(shù)據(jù)分塊并行傳送的方法,但所有同的是它在數(shù)據(jù)分塊之后計(jì)算它們的奇偶校驗(yàn)和。數(shù)據(jù)存儲(chǔ)方式為: P4為磁盤1的數(shù)據(jù)0,數(shù)據(jù)3和數(shù)據(jù)6的奇偶校驗(yàn)信息,其它以此類推;3為磁盤2的數(shù)據(jù)1,數(shù)據(jù)4和數(shù)據(jù)9的奇偶校驗(yàn)信息;2為磁盤3的數(shù)據(jù)2,數(shù)據(jù)7和數(shù)據(jù)10的奇偶校驗(yàn)信息;1為磁盤4的數(shù)據(jù)5,數(shù)據(jù)8和數(shù)據(jù)11的奇偶校驗(yàn)信息。由圖中可以看出,RAID 5不對(duì)存儲(chǔ)的數(shù)據(jù)進(jìn)行備份,而是把數(shù)據(jù)和相對(duì)應(yīng)的奇偶校驗(yàn)信息存儲(chǔ)到組成RAID5的各個(gè)磁盤上,并且奇偶校驗(yàn)信息和相對(duì)應(yīng)的數(shù)據(jù)分別存儲(chǔ)于不同的磁盤上。RAID 5具有和RAID 0相近似的數(shù)據(jù)讀取速度,只是多了一個(gè)奇偶校驗(yàn)信息,寫入數(shù)據(jù)的速度比對(duì)單個(gè)磁盤進(jìn)行寫入操作稍慢。同時(shí)由于多個(gè)數(shù)據(jù)對(duì)應(yīng)一個(gè)奇偶校驗(yàn)信息,RAID 5的磁盤空間利用率要比RAID 1高,存儲(chǔ)成本相對(duì)較低。RAID5是采用奇偶校驗(yàn)的方法維護(hù)數(shù)據(jù),這些奇偶校驗(yàn)的信息只占用一塊磁盤的容量,所以RAID5的實(shí)際容量相當(dāng)于陣列中的磁盤數(shù)-1,數(shù)據(jù)讀寫速度等于單盤的速度*盤數(shù),RAID5具有最好的綜合性能,因此是目前服務(wù)器使用最多的選擇之一。 3、RAID 5的數(shù)據(jù)損壞(Crash)與恢復(fù)(Recover)操作 圖3:RAID 5的數(shù)據(jù)損壞(Crash)操作 當(dāng)組成RAID5的一個(gè)磁盤1數(shù)據(jù)發(fā)生損壞后,磁盤中的數(shù)據(jù)0、數(shù)據(jù)3、數(shù)據(jù)6以及奇偶校驗(yàn)信息P4將全部丟失,如圖3所示。圖4:Recover S/W數(shù)據(jù)恢復(fù)方式 RAID5的數(shù)據(jù)恢復(fù)有二種方式:Recover S/W和Recover H/W,Recover S/W主要是指用軟件(如操作系統(tǒng)或第三方軟件)做的RAID 5的數(shù)據(jù)恢復(fù),由于是操作系統(tǒng)下實(shí)現(xiàn)RAID,軟RAID不能保護(hù)系統(tǒng)盤。軟件RAID很多情況下已經(jīng)包含在系統(tǒng)之中,并成為其中一個(gè)功能,如 Windows、Netware及Linux。軟件RAID中的所有操作皆由中央處理器負(fù)責(zé),所以系統(tǒng)資源的利用率會(huì)很高,從而使系統(tǒng)性能降低。軟件RAID是不需要另外添加任何硬件設(shè)備,因?yàn)樗强糠?wù)器的系統(tǒng),主要是中央處理器(如圖中的PIII)的功能,提供所有現(xiàn)成的資源。 如果磁盤1壞了,系統(tǒng)將受到影響;必須進(jìn)行更換新的硬盤,利用剩下的數(shù)據(jù)和相應(yīng)的奇偶校驗(yàn)信息去恢復(fù)被損壞的數(shù)據(jù),將數(shù)據(jù)數(shù)據(jù)0、數(shù)據(jù)3、數(shù)據(jù)6和奇偶校驗(yàn)信息P4寫到新硬盤(磁盤1)中后,系統(tǒng)才能正常操作運(yùn)行,如上圖4所示。 圖5:Recover H/W數(shù)據(jù)恢復(fù)方式 Recover H/W主要是指用硬件做熱備份的RAID 5的數(shù)據(jù)恢復(fù),如果磁盤1壞了,系統(tǒng)一點(diǎn)都不受到影響;當(dāng)我們更換新的硬盤,利用剩下的數(shù)據(jù)和相應(yīng)的奇偶校驗(yàn)信息去恢復(fù)被損壞的數(shù)據(jù),將數(shù)據(jù)0、數(shù)據(jù)3、數(shù)據(jù)6和奇偶校驗(yàn)信息P4寫到新硬盤(磁盤1)中,在整個(gè)數(shù)據(jù)恢復(fù)過程中,系統(tǒng)仍能正常操作運(yùn)行,如上圖5所示。因此筆者推薦在RAID5的時(shí)候最好做真正的硬件磁盤陣列。二、RAID 10的寫和恢復(fù)操作模式 1、認(rèn)識(shí)RAID 10 Raid 10是一個(gè)Raid 0與Raid1的組合體,它是利用奇偶校驗(yàn)實(shí)現(xiàn)條帶集鏡像,所以它繼承了Raid0的快速和Raid1的安全。我們知道,RAID 1在這里就是一個(gè)冗余的備份陣列,而RAID 0則負(fù)責(zé)數(shù)據(jù)的讀寫陣列。其實(shí),圖6只是一種RAID 10方式,更多的情況是從主通路分出兩路,做Striping操作,即把數(shù)據(jù)分割,而這分出來的每一路則再分兩路,做Mirroring操作,即互做鏡像。 圖6:認(rèn)識(shí)RAID 10 由于利用了RAID 0極高的讀寫效率和RAID 1較高的數(shù)據(jù)保護(hù)、恢復(fù)能力,使RAID 10成為了一種性價(jià)比較高的等級(jí),目前幾乎所有的RAID控制卡都支持這一等級(jí)。但是,RAID 10對(duì)存儲(chǔ)容量的利用率和RAID 1一樣低,只有50%。因此,RAID10即高可靠性與高效磁盤結(jié)構(gòu)它是一個(gè)帶區(qū)結(jié)構(gòu)加一個(gè)鏡象結(jié)構(gòu),可以達(dá)到既高效又高速的目的,RAID 10能提供比RAID 5更好的性能。這種新結(jié)構(gòu)的可擴(kuò)充性不好,這種解決方案被廣泛應(yīng)用,使用此方案比較昂貴。 2、RAID 10的寫(Write)操作圖7:RAID 10的寫(Write)操作 Raid 10其實(shí)結(jié)構(gòu)非常簡單,首先創(chuàng)建2個(gè)獨(dú)立的Raid1,然后將這兩個(gè)獨(dú)立的Raid1組成一個(gè)Raid0,當(dāng)往這個(gè)邏輯Raid中寫數(shù)據(jù)時(shí),數(shù)據(jù)被有序的寫入兩個(gè)Raid1中。圖中磁盤1和磁盤2組成一個(gè)Raid1,磁盤2和磁盤3又組成另外一個(gè)Raid1;這兩個(gè)Raid1組成了一個(gè)新的Raid0。如寫在硬盤1上的數(shù)據(jù)0、1、3、4,寫在硬盤2中則為數(shù)據(jù)0、2、3、5,硬盤3中的數(shù)據(jù)為1、2、4、5,因此數(shù)據(jù)在三個(gè)硬盤上的分布不同于Raid1和Raid0,但又具有兩者的特性。3、RAID 10的數(shù)據(jù)損壞(Crash)與恢復(fù)(Recover)操作 圖8:RAID 10的數(shù)據(jù)損壞(Crash)操作 雖然Raid10方案造成了50%的磁盤浪費(fèi),但是它提供了200%的速度和單磁盤損壞的數(shù)據(jù)安全性,并且當(dāng)同時(shí)損壞的磁盤不在同一Raid1中,就能保證數(shù)據(jù)安全性。上圖中顯示磁盤2損壞了,整個(gè)邏輯磁盤仍能正常工作的。圖9:RAID 10恢復(fù)(Recover)操作 當(dāng)我們需要恢復(fù)RAID 10中損壞的磁盤2時(shí),只需要更換新的硬盤,安裝RAID10的工作原理來進(jìn)行數(shù)據(jù)恢復(fù),恢復(fù)數(shù)據(jù)過程中系統(tǒng)仍能正常工作。圖8中新?lián)Q硬盤2,原先的數(shù)據(jù)0、2、3、5會(huì)同步恢復(fù)到硬盤2中。 總的來說,RAID 10以RAID 0為執(zhí)行陣列,以RAID 1為數(shù)據(jù)保護(hù)陣列,它具有與RAID 1一樣的容錯(cuò)能力,用于容錯(cuò)處理的系統(tǒng)開銷與單獨(dú)的鏡像操作基本一樣,由于使用RAID 0作為執(zhí)行等級(jí),因此具有較高的I/O寬帶;對(duì)于那些想在RAID 1基礎(chǔ)上大幅提高性能的用戶,它是一個(gè)完美的解決方案。RAID 10適用于數(shù)據(jù)庫存儲(chǔ)服務(wù)器等需要高性能、高容錯(cuò)但對(duì)容量要求不大的場(chǎng)合。 |
|