偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

RAID(獨(dú)立冗余磁盤陣列)技術(shù)淺析

存儲
RAID作為一種磁盤冗余陣列,能夠提供一個(gè)獨(dú)立的大型存儲設(shè)備解決方案。將幾個(gè)物理磁盤合并成一個(gè)更大的虛擬設(shè)備,在提高硬盤容量的同時(shí),還能夠充分提高硬盤的速度,使數(shù)據(jù)更加安全,更加易于磁盤的管理。

RAID技術(shù)的由來

人類自有活動(dòng)以來,就伴隨著信息的記錄和保存。原始社會(huì)的刻痕和結(jié)繩,到中國古代的竹簡和紙張,以及20世紀(jì)中期出現(xiàn)的磁帶,軟盤和硬盤。到了20世紀(jì)后期,隨著集成電路的飛速發(fā)展,固態(tài)硅芯片的出現(xiàn),代表有RAM芯片,F(xiàn)lash芯片,CPU芯片等。技術(shù)在不斷進(jìn)步,其中一個(gè)大的趨勢是單位體積的存儲量越來越大。不過,隨著21世紀(jì)的到來,網(wǎng)絡(luò)日益發(fā)達(dá)和全球的一體化導(dǎo)致信息的大爆炸,對存儲量和存儲的速度有了更大的要求。縱然,如今的單碟SATA(Serial ATA)硬盤已經(jīng)可以達(dá)到幾個(gè)TB的容量,但是也遠(yuǎn)遠(yuǎn)無法滿足容量和速度上的需求。

要解決這個(gè)問題,除了提高單碟的容量和存取速度以外,還可以將多個(gè)磁盤進(jìn)行組合,這就是RAID技術(shù),即Redundant Array of Idependent Disks,中文名是由獨(dú)立的磁盤組成的具有冗余特性的陣列——磁盤陣列。RAID作為一種磁盤冗余陣列,能夠提供一個(gè)獨(dú)立的大型存儲設(shè)備解決方案。將幾個(gè)物理磁盤合并成一個(gè)更大的虛擬設(shè)備,在提高硬盤容量的同時(shí),還能夠充分提高硬盤的速度,使數(shù)據(jù)更加安全,更加易于磁盤的管理。

引言

如果我們有一個(gè)需要很大容量,一塊硬盤存儲不了的數(shù)據(jù),只能存儲到多個(gè)硬盤上,最簡單的思維是:一塊硬盤一塊硬盤的讀取/存儲。

很顯然,這樣單純的堆積法雖然解決了容量的問題,但是也帶來的浪費(fèi),因?yàn)橐淮沃皇菑囊粔K硬盤上進(jìn)行讀/寫,同時(shí),單塊硬盤的讀取速度,也是整個(gè)磁盤組合的讀取速度。

因?yàn)镃PU和緩存的速度遠(yuǎn)遠(yuǎn)大于磁盤的讀取數(shù)據(jù),因此我們可以將CPU數(shù)據(jù)讀/取請求按照順序給不同的磁盤,讓磁盤“同時(shí)”讀/寫數(shù)據(jù),也就是下面的RAID 0.

RAID 0

將連續(xù)的數(shù)據(jù)拆分成block,分散將數(shù)據(jù)block的讀/寫請求給各個(gè)磁盤,達(dá)到“同時(shí)”讀/寫的目的。

也叫Stripe條帶模式。

  • 優(yōu)點(diǎn):這種數(shù)據(jù)上的并行操作可以充分利用總線的帶寬,顯著提高磁盤整體存取性能。因?yàn)樽x取和寫入是在設(shè)備上并行完成的,讀取和寫入性能將會(huì)增加,
  • 缺點(diǎn):沒有數(shù)據(jù)冗余,如果其中一個(gè)磁盤Disk出現(xiàn)錯(cuò)誤,將影響所有的讀/寫操作,并且不能從錯(cuò)誤中恢復(fù)數(shù)據(jù)。

P.S.磁盤上只有實(shí)實(shí)在在的扇區(qū)結(jié)構(gòu),并沒有什么Stripe結(jié)構(gòu),Stripe只是一種邏輯上由程序根據(jù)某種算法實(shí)現(xiàn)的一種的概念。Stripe后的多個(gè)硬盤,數(shù)據(jù)是被并行寫入磁盤的,而不是只有寫滿了一個(gè)磁盤的Stripe區(qū)域后,再寫下個(gè)磁盤的Stripe區(qū)域。

 

RAID 1

又稱為鏡像(Mirroring),一個(gè)具有全冗余的模式。

  • 優(yōu)點(diǎn):需要極高的可靠性和安全性。支持"熱替換",即不斷電的情況下對故障磁盤進(jìn)行更換。
  • 缺點(diǎn):其磁盤的利用率卻只有50%,是所有RAID級別中***的。

 

RAID 1+0

先做鏡像(1),再做條帶(0)。

比如,有HDD0~HDD7共7個(gè)磁盤,其中HDD0~HDD3是數(shù)據(jù)盤,HDD4~HDD7是對應(yīng)的鏡像盤。同時(shí),有”ABCD”四個(gè)數(shù)據(jù)的磁盤寫請求。

當(dāng)數(shù)據(jù)A的寫請求在磁盤HDD0上執(zhí)行時(shí),就在對應(yīng)的鏡像盤HDD4中進(jìn)行鏡像A’。與此同時(shí),按照與數(shù)據(jù)A類似的步驟,并行在相應(yīng)磁盤中寫入數(shù)據(jù)B、數(shù)據(jù)C和數(shù)據(jù)D。

 

 

  • 優(yōu)點(diǎn):兼顧了RAID0和RAID1的優(yōu)點(diǎn),在可靠性和I/O性能上有保證。只要不是數(shù)據(jù)盤和對應(yīng)的鏡像盤同時(shí)出現(xiàn)損壞,數(shù)據(jù)就能保證完整性,寫功能不會(huì)受到影響。如果損壞了其中一塊比如HDD0時(shí),讀性能可能會(huì)稍微降低(讀取數(shù)據(jù)時(shí)可以并行操作)。
  • 缺點(diǎn):從上圖可以看出,需要分出一半的磁盤組作為Mirror,因此空間利用率只有50%,成本大。

RAID1+0 由于兼具可靠性和好的性能, 在商業(yè)應(yīng)用中很廣泛,常應(yīng)用于數(shù)據(jù)庫等要求安全性,小數(shù)據(jù)頻繁寫的場合。

RAID 0+1

先做條帶(0),再做鏡像(1)。

先對數(shù)據(jù)進(jìn)行RAID 0條帶化,然后將Stripe后的數(shù)據(jù)進(jìn)行備份。

RAID01幾乎不會(huì)在實(shí)際環(huán)境中應(yīng)用,因?yàn)镽AID0+1和RAID1+0在讀取效率上沒有差異,但是RAID0+1在安全性和可靠性低。

 

RAID 2

可以認(rèn)為是RAID0的改進(jìn)版,加入了漢明碼(Hanmming Code)錯(cuò)誤校驗(yàn)。

漢明碼(Hamming Code)是一種能夠自動(dòng)檢測并糾正一位錯(cuò)碼的線性糾錯(cuò)碼,即SEC(Single Error Correcting)碼。漢明碼通過在要傳輸?shù)臄?shù)據(jù)位中增加一些bit作為校驗(yàn)位,可以驗(yàn)證數(shù)據(jù)的有效性。

漢明碼的原理舉例說明,如果傳輸?shù)臄?shù)據(jù)位數(shù)為k,使用的校驗(yàn)位的位數(shù)為r,組成一個(gè)n=k+r位數(shù)的漢明碼。為了能夠發(fā)現(xiàn)這n位數(shù)的數(shù)據(jù)在傳輸給后端時(shí)是否出錯(cuò),并且能夠指明是那一位數(shù)據(jù)出錯(cuò),那么r位的校驗(yàn)位至少能夠代表k+r+1個(gè)狀態(tài)(k+r表明出錯(cuò)的位置,其中多出來的1表示數(shù)據(jù)傳輸正確)。那么關(guān)系式如下:

 

也是就是說,如果要傳輸k=4位數(shù)據(jù)位,根據(jù)算式(1) 必須則校驗(yàn)位r≥3,如果用r=3作為校驗(yàn)位數(shù),那么總共傳輸?shù)臄?shù)據(jù)位數(shù)n=k+r=7。

RAID就是利用了漢明碼的原理,使用校驗(yàn)磁盤作為錯(cuò)誤檢查和糾正ECC(Error Correcting Code)盤。如下圖,A0-A3四個(gè)盤是數(shù)據(jù)盤,Ax-Az三個(gè)盤是校驗(yàn)盤。

 

根據(jù)原理,漢明碼有且僅能糾正一個(gè)Bit的錯(cuò)誤,并且因?yàn)樾r?yàn)的原因,校驗(yàn)位和數(shù)據(jù)位需要一同并行寫人或讀取(例如,A0-A3,Ax-Az的磁盤需要并行聯(lián)動(dòng))

RAID2技術(shù)過于極端,目前基本已經(jīng)被淘汰了。根據(jù)原理,RAID2需要在IO數(shù)據(jù)到來之后,控制器將數(shù)據(jù)按Bit分開,順序并同時(shí)在每個(gè)數(shù)據(jù)盤和相應(yīng)校驗(yàn)盤中存放1Bit,而磁盤上的IO最小單位是扇區(qū)512B,那么如何確保寫入1Bit并且不至于浪費(fèi)過多空間的算法就很復(fù)雜。此外,需要占用相對較多的校驗(yàn)盤也是原因之一,雖然隨著數(shù)據(jù)盤的增加,校驗(yàn)盤的數(shù)量會(huì)呈指數(shù)下降。

RAID 3

RAID 2的缺點(diǎn)主要是將數(shù)據(jù)以bit位作為單位來分割,將原本物理連續(xù)的扇區(qū)轉(zhuǎn)變成了物理不連續(xù)、邏輯連續(xù)的,這樣導(dǎo)致效率低下。RAID3 就準(zhǔn)備從根本上就絕這個(gè)問題。

RAID3保留了RAID2的一些優(yōu)點(diǎn),比如多磁盤同時(shí)聯(lián)動(dòng),性能高(利用將一個(gè)IO盡量做到能夠分割成小塊,讓每個(gè)磁盤能夠參與工作)。不過RAID3放棄了將數(shù)據(jù)分割成Bit這么極端的做法,因?yàn)檫@樣就將磁盤扇區(qū)的物理連續(xù)性打破了。RAID3將數(shù)據(jù)以一個(gè)扇區(qū)(512B)或者幾個(gè)扇區(qū)(例如4KB)作為單位來分割數(shù)據(jù)。此外,RAID3也放棄了使用漢明碼來校驗(yàn),取而代之的是XOR校驗(yàn)算法。XOR校驗(yàn)算法只能判斷數(shù)據(jù)是否有誤,不能判斷出有那一位有誤,更不能更正錯(cuò)誤,但是XOR算法可以只需要一塊校驗(yàn)盤即可。

 

在一個(gè)磁盤陣列中,一般情況下多于一個(gè)磁盤出現(xiàn)故障的幾率是很小的,所有一般情況下,RAID3的安全性還是有保障的。

同RAID2一樣,由于需要多磁盤同時(shí)聯(lián)動(dòng),同時(shí)還需要校驗(yàn)。顯然,RAID3不適用于有大量寫操作的情況,因?yàn)檫@樣會(huì)使得校驗(yàn)盤的負(fù)荷較大,降低RAID系統(tǒng)的性能。RAID3 常用于寫操作較少,讀操作較多的應(yīng)用環(huán)境,比如數(shù)據(jù)庫和WEB服務(wù)器。

RAID 4

從RAID2和RAID3的設(shè)計(jì)來看,都是為了盡量達(dá)到全盤聯(lián)動(dòng),也就是說主要都是為了提高數(shù)據(jù)傳輸率而設(shè)計(jì)的,但是確無法做到并發(fā)IO。

然而,現(xiàn)實(shí)中例如數(shù)據(jù)庫等應(yīng)用的特點(diǎn)就是高頻率隨機(jī)IO讀寫,例如每秒產(chǎn)生的IO數(shù)目很大,但是每個(gè)IO請求的數(shù)據(jù)長度都很小。這種情況下,如果所有的磁盤同一時(shí)刻都被一個(gè)IO占用并且不能并發(fā)IO,只能一個(gè)IO一個(gè)IO的做,必然產(chǎn)生極大的浪費(fèi)。

那么,要實(shí)現(xiàn)并發(fā)IO,就需要保證有空閑的磁盤沒有被IO占用,這樣才能讓其他IO去占有這個(gè)磁盤進(jìn)訪問。要達(dá)到有有空閑磁盤的目的,那么就需要增加每次讀/寫的容量,例如按塊(Block)存取。

 

RAID4對于寫IO有個(gè)很難克服的問題,那就是校驗(yàn)盤的爭用。例如上圖A0-A3四個(gè)數(shù)據(jù)盤和一個(gè)校驗(yàn)盤構(gòu)成的RAID4系統(tǒng)中,某一時(shí)刻一個(gè)IO只占用了A0和A1兩個(gè)磁盤和校驗(yàn)盤,此時(shí)雖然后面兩塊磁盤是空閑的,可以同時(shí)接受新的IO請求,但是接受了新的IO請求,則新的IO請求也要使用校驗(yàn)盤。這樣就導(dǎo)致了校驗(yàn)盤的爭用成為并發(fā)的瓶頸。(動(dòng)畫演示見http://storage-system.fujitsu...)

基于這個(gè)原因,需要特別優(yōu)化請求的IO數(shù)據(jù),才能高效使用RAID4。然而,要優(yōu)化到并發(fā)幾率很高很不容易,目前只有NetApp的WAFL文件系統(tǒng)還在使用RAID4,其他產(chǎn)品均未使用了。

RAID4面臨淘汰,取而代之的是擁有高盲并發(fā)幾率的RAID5系統(tǒng)。所謂的高盲并發(fā)幾率,就是上層文件系統(tǒng)不用感知下層磁盤的結(jié)構(gòu),即可增加并發(fā)的幾率。

RAID 5

 

RAID 5+0

 

RAID 6

 

備注:

關(guān)于RAID的介紹中動(dòng)畫的網(wǎng)站http://storage-system.fujitsu...

http://storage-system.fujitsu...

責(zé)任編輯:龐桂玉 來源: segmentfault
相關(guān)推薦

2024-01-04 12:05:22

LinuxRAID技術(shù)

2017-08-17 09:32:03

RAID磁盤陣列

2017-09-21 09:07:50

硬盤陣列RAID

2018-09-20 10:37:56

RAID技術(shù)磁盤陣列

2018-03-07 10:17:59

磁盤陣列RAID模式

2017-09-06 08:43:18

RAID磁盤陣列

2018-02-06 08:48:52

RAID5磁盤陣列修復(fù)

2018-08-16 10:47:53

raid0磁盤陣列雙硬盤

2009-03-12 09:16:46

2009-01-09 22:33:19

服務(wù)器磁盤RAID

2018-02-09 15:23:54

服務(wù)器磁盤陣列RAID

2009-01-09 22:29:38

服務(wù)器虛擬化磁盤陣列

2017-12-07 10:39:19

linux磁盤RAID

2019-01-15 09:55:24

RAID磁盤陣列數(shù)據(jù)存儲

2018-02-06 10:07:18

RAID 5磁盤陣列數(shù)據(jù)恢復(fù)

2017-08-08 14:15:24

2021-07-13 09:08:19

磁盤陣列系統(tǒng)

2022-02-09 08:55:13

RAID獨(dú)立冗余磁盤陣列數(shù)據(jù)丟失

2009-09-10 09:24:36

Linux磁盤陣列Linux操作系統(tǒng)

2018-07-12 09:25:07

磁盤陣列數(shù)據(jù)恢復(fù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號