RAID 0

2、RAID 1

RAID 1也被稱為磁盤鏡像。系統(tǒng)將數(shù)據(jù)同時重復(fù)的寫入兩個硬盤,但是在操作系統(tǒng)中表現(xiàn)為一個邏輯盤。所以如果一個硬盤發(fā)生了故障,另一個硬盤中仍然保留了一份完整的數(shù)據(jù),系統(tǒng)仍然可以照常工作。系統(tǒng)可以同時從兩個硬盤讀取數(shù)據(jù),所以會提高硬盤讀的速度;但由于在系統(tǒng)寫數(shù)據(jù)需要重復(fù)一次,所以會影響系統(tǒng)寫數(shù)據(jù)的速度。硬盤容量的利用率只有50%。

RAID 1

3、RAID 0+1

對RAID0陣列做鏡像。這是一種Dual Level RAID,也有人稱之為RAID level 10。是兩組硬盤先做RAID 0,組成兩顆大容量的邏輯硬盤,再互相為“鏡像”。在每次寫入數(shù)據(jù),磁盤陣列控制器會將資料同時寫入該兩組“大容量數(shù)組硬盤組”內(nèi)。

同RAID level 1 一樣,雖然其硬盤使用率亦只有50%,但它卻是最具高效率的規(guī)劃方式。

RAID 0+1

4、RAID 5

是在RAID 3和RAID 4的基礎(chǔ)上發(fā)展來的,它繼承了它們的數(shù)據(jù)冗余和條帶化的特點,并將數(shù)據(jù)校驗信息均勻保存在陣列中的所有硬盤上。系統(tǒng)可以對陣列中所有的硬盤同時讀寫,減少了由硬盤機械系統(tǒng)引起的時間延遲,提高了磁盤系統(tǒng)的I/O能力;當(dāng)陣列中的一塊硬盤仿生故障,系統(tǒng)可以使用保存在其它硬盤上的奇偶校驗信息恢復(fù)故障硬盤的數(shù)據(jù),繼續(xù)進行正常工作。

RAID 5

二、RAID的實現(xiàn)

RAID可以通過軟件或硬件實現(xiàn)。軟件實現(xiàn)RAID需要操作系統(tǒng)的支持。硬件實現(xiàn)就是使用專用的RAID卡來實現(xiàn)。

1、軟件RAID

一些網(wǎng)絡(luò)操作系統(tǒng)可以使用標(biāo)準(zhǔn)的SCSI適配卡支持和管理驅(qū)動器。一些網(wǎng)絡(luò)操作系統(tǒng)支持RAID 0,RAID 1和RAID 5。

由于是操作系統(tǒng)下實現(xiàn)RAID,軟RAID不能保護系統(tǒng)盤。亦即系統(tǒng)分區(qū)不能參與實現(xiàn)RAID。有些操作系統(tǒng),RAID的配置信息存在系統(tǒng)信息中,而不是存在硬盤上;當(dāng)系統(tǒng)崩潰,需重新安裝時,RAID的信息也會丟失。

當(dāng)運行I/O增強應(yīng)用程序,如文件服務(wù)器或應(yīng)用程序服務(wù)器,可適當(dāng)?shù)氖褂密浖AID。RAID 5是CPU的增強方式,所以不建議使用軟件RAID在增強的處理器服務(wù)器中。

磁盤的容錯技術(shù)并不等于完全支持在線更換,熱插拔或熱交換,有些操作系統(tǒng)不能支持系統(tǒng)不經(jīng)過重啟的在線熱交換。能否支持錯誤硬盤的熱交換與操作系統(tǒng)有關(guān)。

NetWare支持 RAID 1 (鏡像和雙工) 。 Windows NT 、Windows2000、LINUX、OPENSERVER支持RAID 0, RAID1和RAID5。

另一種方案是配置系統(tǒng)在線擴充,服務(wù)器中配置一塊備用硬盤,當(dāng)系統(tǒng)中沒有硬盤錯誤時,它處于等待狀態(tài),當(dāng)RAID5或RAID1中出現(xiàn)硬盤錯誤時,它可以自動取代壞盤,當(dāng)系統(tǒng)確認(rèn)后,即可成為陣列的一部分。

2、硬件RAID

硬件 RAID是采用集成的陣列卡或?qū)S玫年嚵锌▉砜刂朴脖P驅(qū)動器,這樣可以極大節(jié)省服務(wù)器系統(tǒng)CPU和操作系統(tǒng)的資源。從而使網(wǎng)絡(luò)服務(wù)器的性能獲得很大的提高。

RAID控制器對主系統(tǒng),是藉由連接至其存取接口(目前以SCSI 為主)作信道。換言之,它在主系統(tǒng)的存取接口上,是一個獨立的直接存取儲存體DASD Direct Access Storage Device。 而這個大的儲存體內(nèi),可以有不只一個的邏輯磁盤LUN Logical Unit Number。 RAID控制器,對下管理多顆數(shù)組硬盤機們。而主系統(tǒng)是不會看到或直接管理該硬盤的。例如:Mylex、AMI、Adaptec等 … 都有相關(guān)的產(chǎn)品。

現(xiàn)在的RAID卡產(chǎn)品,都支持在線更換,熱插拔或熱交換。并在部分操作系統(tǒng)下實現(xiàn)軟件監(jiān)控和管理。

三、RAID卡原理

RAID卡結(jié)構(gòu)1

RAID卡有自己的CPU,Cache Memory,通過集成或借用主板上的SCSI控制器來管理硬盤,可以稱之為一個智能化的設(shè)備。

RAID卡的分類一般根據(jù)集成的SCSI控制器來劃分。如果沒有集成SCSI控制器,而是借用主板上的SCSI控制器來管理硬盤,則為零通道 RAID卡。根據(jù)RAID卡集成的SCSI控制器的通道數(shù)量,可以分為單通道、雙通道、三通道RAID卡。還可以按照SCSI控制器的標(biāo)準(zhǔn)來劃分RAID 卡的種類,如Ultra Wide、 Ultra2 Wide、Ultra160 Wide。

RAID處理器是一個PCI從設(shè)備,接受并執(zhí)行來自系統(tǒng)的命令。 同時占用PCI中斷,代表SCSI磁盤子系統(tǒng)向系統(tǒng) 提出中斷請求,請求占用PCI總線,返回對系統(tǒng)命令的響應(yīng),如輸送SCSI硬盤上的數(shù)據(jù)。

作為RAID卡的CPU,通過執(zhí)行閃存中的Firmware,控制SCSI控制器、Cache Memory以及指示報警電路,來實現(xiàn)RAID卡的功能,運作流程如下:

1) 初始化RAID卡寄存器

2) 讀取NVRAM的上次RAID參數(shù),與硬盤實際信息進行比較,顯示結(jié)果

3) 發(fā)送配置提示、響應(yīng) HOST 命令進入配置界面

4) 提供配置菜單、將用戶提供的RAID卡參數(shù)、RAID參數(shù)存入NVRAM

5) 根據(jù)RAID參數(shù),通過SCSI控制器對硬盤進行初始化寫操作

6) 完成配置

7) 等待Host發(fā)出讀寫操作命令

RAID卡提高磁盤讀寫性能的另一手段是:磁盤CACHE

對于磁盤I/O來說,如果沒有CACHE,就直接從硬盤讀寫;如果有CACHE,則首先從CACHE讀寫。

CACHE具有兩大功能:

1、預(yù)讀

CACHE預(yù)讀提高了計算機系統(tǒng)中的硬盤讀的功能,尤其是在讀取含有大量文件碎片的文件時。具有良好預(yù)讀功能的RAID卡能在看起來很隨機的讀訪問中,識別出讀取磁盤的規(guī)律, 通過這個規(guī)律提前將系統(tǒng)要讀取的數(shù)據(jù)放在CACHE中。

預(yù)讀的兩種方式:

Read Ahead

由于硬盤數(shù)據(jù)經(jīng)常是以一族連續(xù)的硬盤扇區(qū)組織起來的,所以有時侯如把系統(tǒng)所請求的扇區(qū)隨后的一個扇區(qū)里的數(shù)據(jù) 同時讀進來是有價值的。對于數(shù)據(jù)文件的讀取有利,特別是系統(tǒng)CPU的性能低時。

Pre-Fetch

當(dāng)RAID卡發(fā)現(xiàn)系統(tǒng)要讀的是先前已經(jīng)讀過的數(shù)據(jù)時,在 這一次,便將這一個數(shù)據(jù)塊的數(shù)據(jù)寫到CACHE里。對于程序文件的讀取有利 。

2、回寫

回寫是通過暫時將數(shù)據(jù)存在CACHE里,從而推遲將數(shù)據(jù)寫到慢設(shè)備(如硬盤、磁帶機)的一種工作方式。數(shù)據(jù)將在隨后的時間,硬盤閑置的時候?qū)懙接脖P中。寫的時候也是統(tǒng)一將CACHE內(nèi)的尚未寫出的數(shù)據(jù)按照數(shù)據(jù)塊的在硬盤中的BLOCK序號寫入,這樣可以提高寫的效率。

回寫需要加電池給CACHE供電,以免數(shù)據(jù)在寫到硬盤之前系統(tǒng)斷電導(dǎo)致硬盤數(shù)據(jù)丟失。

增加CACHE大小對于預(yù)讀來說,為系統(tǒng)提供了更多的來自CACHE的可供讀取的記錄。 對于回寫來說,允許控制卡保存更多的記錄留待后期寫磁盤。特別是對于電梯式回寫,使得連續(xù)的回寫段之間有更近的間隔,降低硬盤寫操作的平均訪時間并提高了吞吐率。

寫策略

通寫模式下,所有數(shù)據(jù)在以命令完成狀態(tài)返回到計算機之前,直接寫到硬盤。兩種寫策略比較來說,寫策略由通寫改為回寫時,可大幅度提高RAID性能。但回寫具有一定的數(shù)據(jù)危險性。在突然斷電的情況下,會丟失存于Cache尚未寫入硬盤的數(shù)據(jù)。

RAID卡工作在寫策略為THROUGH時,緩存大小對RAID卡的性能影響很小,只有當(dāng)寫策略改為BACK時,緩存的作用才會發(fā)揮出來。

影響RAID卡性能的因素很多,其中可調(diào)因素主要有RAID卡緩存(CACHE)大小、寫策略(WRITE POLICY)、讀策略(READ POLICY)、條帶的大小(STRIPE SIZE)。不同的RAID卡雖然說法略有不同,但意思是一樣的。很多設(shè)置可以在RAID卡的配置工具中調(diào)整。

分享到

zhaohang

相關(guān)推薦