溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

RAID詳解

發(fā)布時(shí)間:2020-05-25 11:13:52 來源:網(wǎng)絡(luò) 閱讀:1207 作者:紫色的茶碗 欄目:移動開發(fā)

RAID的由來

    磁盤陣列簡稱RAID(Redundant Arrays of Inexpensive Disks,RAID),有“價(jià)格便宜且多余的磁盤陣列”之意。其原理是利用數(shù)組方式來作磁盤組,配合數(shù)據(jù)分散排列的設(shè)計(jì),提升數(shù)據(jù)的安全性。磁盤陣列主要針對硬盤,在容量及速度上,無法跟上CPU及內(nèi)存的發(fā)展,提出改善方法。磁盤陣列是由很多便宜、容量較小、穩(wěn)定性較高、速度較慢磁盤,組合成一個(gè)大型的磁盤組,利用個(gè)別磁盤提供數(shù)據(jù)所產(chǎn)生的加成效果來提升整個(gè)磁盤系統(tǒng)的效能。同時(shí),在儲存數(shù)據(jù)時(shí),利用這項(xiàng)技術(shù),將數(shù)據(jù)切割成許多區(qū)段,分別存放在各個(gè)硬盤上。

    磁盤陣列還能利用同位檢查(Parity Check)的觀念,在數(shù)組中任一顆硬盤故障時(shí),仍可讀出數(shù)據(jù),在數(shù)據(jù)重構(gòu)時(shí),將故障硬盤內(nèi)的數(shù)據(jù),經(jīng)計(jì)算后重新置入新硬盤中。

    磁盤陣列的由來:由美國柏克萊大學(xué)(University of California-Berkeley)在1987年,發(fā)表的文章:“A Case for Redundant Arrays of Inexpensive Disks”。文章中,談到了RAID這個(gè)字匯,而且定義了RAID的5層級。柏克萊大學(xué)研究其研究目的為,反應(yīng)當(dāng)時(shí)CPU快速的性能。CPU效能每年大約成長30~50%,而硬磁機(jī)只能成長約7%。研究小組希望能找出一種新的技術(shù),在短期內(nèi),立即提升效能來平衡計(jì)算機(jī)的運(yùn)算能力。在當(dāng)時(shí),柏克萊研究小組的主要研究目的是效能與成本。另外,研究小組也設(shè)計(jì)出容錯(fault-tolerance),邏輯數(shù)據(jù)備份(logical data redundancy),而產(chǎn)生了RAID理論。研究初期,便宜(Inexpensive)的磁盤也是主要的重點(diǎn),但后來發(fā)現(xiàn),大量便宜磁盤組合并不能適用于現(xiàn)實(shí)的生產(chǎn)環(huán)境,后來Inexpensive被改為independence。



RAID的實(shí)現(xiàn)形式

磁盤陣列(RAID)其樣式有三種,一是外接式磁盤陣列柜、二是內(nèi)接式磁盤陣列卡,三是利用軟件來仿真。

外接式磁盤陣列柜

    磁盤陣列柜就是裝配了眾多硬盤的外置的RAID,它有一塊名為RAID的卡來組織并管理各個(gè)磁盤設(shè)備。

    RAID卡是用來實(shí)現(xiàn)RAID功能的板卡,通常是由I/O處理器、SCSI控制器SCSI連接器緩存等一系列零組件構(gòu)成的。不同的RAID卡支持的 RAID功能不同。支持RADI0、RAID1、RAID3、RAID4、RAID5、RAID10不等。RAID卡可以讓很多磁盤驅(qū)動器同時(shí)傳輸數(shù)據(jù),而這些磁盤驅(qū)動器在邏輯上又是一個(gè)磁盤驅(qū)動器,所以使用RAID可以達(dá)到單個(gè)的磁盤驅(qū)動器幾倍、幾十倍甚至上百倍的速率。這也是RAID卡最初想要解決的問題??梢蕴峁┤蒎e功能,這是RAID卡的第二個(gè)重要功能。

下圖為HP的一款RAID卡

RAID詳解


磁盤陣列柜有小的跟個(gè)人PC主機(jī)箱一樣大的,有大的如小型集裝箱。下圖為HP的小型磁盤陣列柜。

RAID詳解


內(nèi)接式磁盤陣列卡

內(nèi)接式磁盤陣列卡,通常指內(nèi)嵌入主板上的RAID芯片。

RAID控制芯片的出現(xiàn)

    1993年,HighPoint公司推出了第一款I(lǐng)DE-RAID控制芯片,能夠利用相對廉價(jià)的IDE硬盤來組建RAID系統(tǒng),從而大大降低了RAID的“門檻”。從此,個(gè)人用戶也開始關(guān)注這項(xiàng)技術(shù),因?yàn)橛脖P是現(xiàn)代個(gè)人計(jì)算機(jī)中發(fā)展最為“緩慢”和最缺少安全性的設(shè)備,而用戶存儲在其中的數(shù)據(jù)卻常常遠(yuǎn)超計(jì)算機(jī)的本身價(jià)格。在花費(fèi)相對較少的情況下,RAID技術(shù)可以使個(gè)人用戶也享受到成倍的磁盤速度提升和更高的數(shù)據(jù)安全性,現(xiàn)在個(gè)人電腦市場上的IDE-RAID控制芯片主要出自HighPoint和Promise公司,此外還有一部分來自AMI公司。   

    面向個(gè)人用戶的IDE-RAID芯片一般只提供了RAID 0、RAID 1和RAID 0+1(RAID 10)等RAID規(guī)范的支持,雖然它們在技術(shù)上無法與商用系統(tǒng)相提并論,但是對普通用戶來說其提供的速度提升和安全保證已經(jīng)足夠了。隨著硬盤接口傳輸率的不斷提高,IDE-RAID芯片也不斷地更新?lián)Q代,芯片市場上的主流芯片已經(jīng)全部支持ATA 100標(biāo)準(zhǔn),而HighPoint公司新推出的HPT 372芯片和Promise最新的PDC20276芯片,甚至已經(jīng)可以支持ATA 133標(biāo)準(zhǔn)的IDE硬盤。在主板廠商競爭加劇、個(gè)人電腦用戶要求逐漸提高的今天,在主板上板載RAID芯片的廠商已經(jīng)不在少數(shù),用戶完全可以不用購置RAID卡,直接組建自己的磁盤陣列,感受磁盤狂飆的速度。

    Raid控制芯片則是指控制執(zhí)行Raid功能的輔助芯片,常見為Intel ICH5RVIA VT8237、SIS 964nVidia nForce3

RAID控制芯片是內(nèi)嵌在主板上的,在BIOS中可以啟用或關(guān)閉RAID功能。

下圖為內(nèi)嵌在主板上的RAID控制芯片。

RAID詳解

下圖為BIOS中的配置RAID的過程

以nForce為例

    nForce系列芯片組的BIOS里有關(guān)SATA和RAID的設(shè)置選項(xiàng)有兩處,都在Integrated Peripherals(整合周邊)菜單內(nèi)。

    SATA的設(shè)置項(xiàng):Serial-ATA,設(shè)定值有[Enabled], [Disabled]。這項(xiàng)的用途是開啟或關(guān)閉板載Serial-ATA控制器。使用SATA硬盤必須把此項(xiàng)設(shè)置為[Enabled]。如果不使用SATA硬盤可以將此項(xiàng)設(shè)置為[Disabled],可以減少占用的中斷資源。

    RAID的設(shè)置項(xiàng)在Integrated Peripherals/Onboard Device(板載設(shè)備)菜單內(nèi),光標(biāo)移到Onboard Device,按<Enter>進(jìn)入如子菜單:

RAID詳解

    其中RAID Config就是RAID配置選項(xiàng),光標(biāo)移到RAID Config,按<Enter>就進(jìn)入如RAID配置菜單:

RAID詳解

    菜單的第一項(xiàng)IDE RAID是確定是否設(shè)置RAID,設(shè)定值有[Enabled], [Disabled]。如果不做RAID,就保持缺省值[Disabled],此時(shí)下面的選項(xiàng)是不可設(shè)置的灰色。如果做RAID就選擇[Enabled],這時(shí)下面的選項(xiàng)才變成可以設(shè)置的×××。IDE RAID下面是4個(gè)IDE(PATA)通道,再下面是SATA通道。nForce2芯片組是2個(gè)SATA通道,nForce3/4芯片組是4個(gè)SATA通道??梢愿鶕?jù)你自己的意圖設(shè)置,準(zhǔn)備用哪個(gè)通道的硬盤做RAID,就把那個(gè)通道設(shè)置為[Enabled]


    設(shè)置完成就可退出保存BIOS設(shè)置,重新啟動。這里要說明的是,當(dāng)你設(shè)置RAID后,該通道就由RAID控制器管理,BIOS的Standard CMOS Features里看不到做RAID的硬盤了。


    BIOS設(shè)置后,僅僅是指定那些通道的硬盤作RAID,并沒有完成RAID的組建,前面說過做RAID的磁盤由RAID控制器管理,因此要由RAID控制器的RAID BIOS檢測硬盤,以及設(shè)置RAID模式。BIOS啟動自檢后,RAID BIOS啟動檢測做RAID的硬盤,檢測過程在顯示器上顯示,檢測到硬盤后留給用戶幾秒鐘時(shí)間,以便用戶按F10 進(jìn)入RAID BIOS Setup

    這個(gè)過程就參考各個(gè)廠商的RAID BIOS Setup的設(shè)置文檔了。這個(gè)過程很簡單,因?yàn)橐彩歉鶥IOS相同的圖形界面,因此設(shè)置過程按相關(guān)提示即可順利完成RAID設(shè)置。


軟RAID

    軟件RAID很多情況下已經(jīng)包含在系統(tǒng)之中,并成為其中一個(gè)功能,如Windows、Netware及Linux。軟件RAID中的所有操作皆由中央處理器負(fù)責(zé),所以系統(tǒng)資源的利用率會很高,從而使系統(tǒng)性能降低。軟件RAID是不需要另外添加任何硬件設(shè)備,因?yàn)樗强磕愕南到y(tǒng)——主要是中央處理器的功能——提供所有現(xiàn)成的資源

    軟RAID一般不做實(shí)際生產(chǎn)使用,通常用于熟悉RAID的功能。

下面展示W(wǎng)indows中軟RAID的實(shí)現(xiàn)

RAID詳解

  在Windows中的磁盤管理中可以實(shí)現(xiàn)軟RAID功能,它支持RAID 0 、RAID 1、RAID 5三種。

其具體實(shí)現(xiàn)方法可以自行查看,這里不再過多介紹。

  Linux中通過命令mdadm實(shí)現(xiàn)。




RAID級別


    簡單來說,RAID是一種把多塊獨(dú)立的硬盤(物理硬盤)按不同的方式組合起來形成一個(gè)硬盤組(邏輯硬盤),從而提供比單個(gè)硬盤更高的存儲性能和提供數(shù)據(jù)備份技術(shù)。根據(jù)磁盤陳列的不同組合方式,可以將RAID分為不同的級別。

    磁盤陣列中針對不同的應(yīng)用使用的不同技術(shù),稱為RAID level,而每一level都代表著不同技術(shù),目前業(yè)界公認(rèn)的標(biāo)準(zhǔn)是RAID 0-RAID 6。這個(gè)level并不代表技術(shù)的高低,level 5并不高于level 1,至于要選擇那一種RAID level的產(chǎn)品,純視用戶的操作環(huán)境(operating environment)及應(yīng)用(application)而定與level的高低沒有必然的關(guān)系。



RAID 0又稱為Stripe或Striping,它代表了所有RAID級別中最高的存儲性能。RAID 0提高存儲性能的原理是把連續(xù)的數(shù)據(jù)分散到多個(gè)磁盤上存取,這樣,系統(tǒng)有數(shù)據(jù)請求就可以被多個(gè)磁盤并行的執(zhí)行,每個(gè)磁盤執(zhí)行屬于它自己的那部分?jǐn)?shù)據(jù)請求。這種數(shù)據(jù)上的并行操作可以充分利用總線的帶寬,顯著提高磁盤整體存取性能

RAID詳解

RAID詳解

RAID 0的局限性

RAID 0 連續(xù)地分割數(shù)據(jù)并并行地讀/寫于多個(gè)磁盤上。 因此具有很高的數(shù)據(jù)傳輸率。 但RAID 0在提高性能的同時(shí),并沒有提供數(shù)據(jù)可靠性,如果一個(gè)磁盤失效, 將影響整個(gè)數(shù)據(jù).因此RAID 0 不可應(yīng)用于需要數(shù)據(jù)高可用性的關(guān)鍵應(yīng)用。


RAID 1又稱為Mirror或Mirroring,它的宗旨是最大限度的保證用戶數(shù)據(jù)的可用性可修復(fù)性。 RAID 1的操作方式是把用戶寫入硬盤的數(shù)據(jù)百分之百地自動復(fù)制到另外一個(gè)硬盤上。由于對存儲的數(shù)據(jù)進(jìn)行百分之百的備份,在所有RAID級別中,RAID 1提供最高的數(shù)據(jù)安全保障。同樣,由于數(shù)據(jù)的百分之百備份,備份數(shù)據(jù)占了總存儲空間的一半,因而,Mirror的磁盤空間利用率低,存儲成本高。

RAID詳解

RAID詳解

Mirror雖不能提高存儲性能,但由于其具有的高數(shù)據(jù)安全性,使其尤其適用于存放重要數(shù)據(jù),如服務(wù)器和數(shù)據(jù)庫存儲等領(lǐng)域。


RAID 5 是一種存儲性能、數(shù)據(jù)安全和存儲成本兼顧的存儲解決方案。RAID 5不對存儲的數(shù)據(jù)進(jìn)行備份,而是把數(shù)據(jù)和相對應(yīng)的奇偶校驗(yàn)信息存儲到組成RAID5的各個(gè)磁盤上,并且奇偶校驗(yàn)信息和相對應(yīng)的數(shù)據(jù)分別存儲于不同的磁盤上。當(dāng)RAID5的一個(gè)磁盤數(shù)據(jù)發(fā)生損壞后,利用剩下的數(shù)據(jù)和相應(yīng)的奇偶校驗(yàn)信息去恢復(fù)被損壞的數(shù)據(jù)。

RAID詳解

RAID詳解

RAID 5可以理解為是RAID 0和RAID 1的折衷方案。RAID 5可以為系統(tǒng)提供數(shù)據(jù)安全保障,但保障程度要比Mirror低而磁盤空間利用率要比Mirror高。RAID 5具有和RAID 0相近似的數(shù)據(jù)讀取速度,只是多了一個(gè)奇偶校驗(yàn)信息,寫入數(shù)據(jù)的速度比對單個(gè)磁盤進(jìn)行寫入操作稍慢。同時(shí)由于多個(gè)數(shù)據(jù)對應(yīng)一個(gè)奇偶校驗(yàn)信息,RAID 5的磁盤空間利用率要比RAID 1高,存儲成本相對較低。


RAID 6:RAID 6 與RAID 5相比,增加了第二個(gè)獨(dú)立的奇偶校驗(yàn)信息塊。 兩個(gè)獨(dú)立的奇偶系統(tǒng)使用不同的算法, 數(shù)據(jù)的可靠性非常高. 即使兩塊磁盤同時(shí)失效,也不會影響數(shù)據(jù)的使用。 但需要分配給奇偶校驗(yàn)信息更大的磁盤空間,相對于RAID 5有更大的“寫損失”。RAID 6 的寫性能非常差, 較差的性能和復(fù)雜的實(shí)施使得RAID 6很少使用。


RAID 7:簡單來說,RAID 7并不僅僅是一種技術(shù),而是一種存儲計(jì)算機(jī)(Storage Computer )。RAID 7通過使用存儲計(jì)算機(jī)操作系統(tǒng)(Storage Computer Operating System )來初始化和安排磁盤陣列的所有數(shù)據(jù)傳輸。它實(shí)際上是一套實(shí)時(shí)事件驅(qū)動操作系統(tǒng),可以把數(shù)據(jù)轉(zhuǎn)換成磁盤陣列需要的模式,傳輸?shù)较鄳?yīng)的物理存儲驅(qū)動器上。


RAID0+1:正如其名字一樣RAID 0+1是RAID 0和RAID 1的組合形式,也稱為RAID 10。


RAID 0+1是存儲性能和數(shù)據(jù)安全兼顧的方案。它在提供與RAID 1一樣的數(shù)據(jù)安全保障的同時(shí),也提供了與RAID 0近似的存儲性能。

由于RAID 0+1也通過數(shù)據(jù)的100%備份提供數(shù)據(jù)安全保障,因此RAID 0+1的磁盤空間利用率與RAID 1相同,存儲成本高。

RAID 0+1的特點(diǎn)使其特別適用于既有大量數(shù)據(jù)需要存取,同時(shí)又對數(shù)據(jù)安全性要求嚴(yán)格的領(lǐng)域,如銀行、金融、商業(yè)超市、倉儲庫房、各種檔案管理等。



RAID 0+1與RAID 1+0的對比

    大家都知道RAID 0+1是先條帶化,再鏡像,RAID 1+0是先鏡像再條帶化。下面為大家詳細(xì)介紹一下它們的優(yōu)劣

這兩種RAID配置哪種更好呢?

我們舉個(gè)例子,總共6塊硬盤。

RAID 0+1的配置圖如下:

RAID詳解

RAID 1+0的配置圖如下:

RAID詳解


    針對RAID 0+1,一個(gè)Set中的硬盤損壞都會導(dǎo)致該Set損壞。這樣的話,如果A,B兩個(gè)Set中都各壞一個(gè)硬盤的話,則整個(gè)RAID都將損壞。

    而RAID 1+0,只有一個(gè)Set中的硬盤都損壞時(shí),才會導(dǎo)致整個(gè)RAID損壞。也就是說當(dāng)1中的兩塊硬盤都壞掉時(shí),整個(gè)RAID都會損壞。只要不是同一個(gè)Set中的兩塊硬盤損壞,則整個(gè)RAID就不會損壞。

    按概率的角度來講,RAID 0+1損壞第二塊盤導(dǎo)致整個(gè)RAID損壞的機(jī)率為(n/2)/(n-1)RAID 1+0 損壞第二塊盤導(dǎo)致整個(gè)RAID損壞的機(jī)率為1/(n-1).

    顯然RAID 0+1的穩(wěn)定性不如RAID 1+0.

    在有硬盤損壞但整個(gè)RAID沒有損壞的情況下,RAID 0+1其實(shí)就變成了RAID 0,只有一 個(gè)Set工作(4塊盤),這樣讀的速度顯然變慢了。

    而RAID 1+0還有7塊盤工作,性能影響較小。

    另外,RAID 0+1在以好盤替代壞盤時(shí),recover的性能將比RAID 1+0慢很多。

    所以在做raid的時(shí)候最好做RAID1+0而不做RAID 0+1


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI