在單機(jī)時(shí)代,采用單塊磁盤(pán)進(jìn)行數(shù)據(jù)存儲(chǔ)和讀寫(xiě)的方式,由于尋址和讀寫(xiě)的時(shí)間消耗,導(dǎo)致I/O性能非常低,且存儲(chǔ)容量還會(huì)受到限制。另外,單塊磁盤(pán)極其容易出現(xiàn)物理故障,經(jīng)常導(dǎo)致數(shù)據(jù)的丟失。因此大家就在想,有沒(méi)有一種辦法將多塊獨(dú)立的磁盤(pán)結(jié)合在一起組成一個(gè)技術(shù)方案,來(lái)提高數(shù)據(jù)的可靠性和I/O性能呢。
在這種情況下,RAID技術(shù)就應(yīng)運(yùn)而生了。
一、RAID 是什么?
RAID ( Redundant Array of Independent Disks )即獨(dú)立磁盤(pán)冗余陣列,簡(jiǎn)稱為「磁盤(pán)陣列」,其實(shí)就是用多個(gè)獨(dú)立的磁盤(pán)組成在一起形成一個(gè)大的磁盤(pán)系統(tǒng),從而實(shí)現(xiàn)比單塊磁盤(pán)更好的存儲(chǔ)性能和更高的可靠性。
二、RAID 有哪些?
RAID方案常見(jiàn)的可以分為:
- RAID0
- RAID1
- RAID5
- RAID6
- RAID10
下面來(lái)分別介紹一下。
- RAID0
RAID0 是一種非常簡(jiǎn)單的的方式,它將多塊磁盤(pán)組合在一起形成一個(gè)大容量的存儲(chǔ)。當(dāng)我們要寫(xiě)數(shù)據(jù)的時(shí)候,會(huì)將數(shù)據(jù)分為N份,以獨(dú)立的方式實(shí)現(xiàn)N塊磁盤(pán)的讀寫(xiě),那么這N份數(shù)據(jù)會(huì)同時(shí)并發(fā)的寫(xiě)到磁盤(pán)中,因此執(zhí)行性能非常的高。
RAID0 的讀寫(xiě)性能理論上是單塊磁盤(pán)的N倍(僅限理論,因?yàn)閷?shí)際中磁盤(pán)的尋址時(shí)間也是性能占用的大頭)
但RAID0的問(wèn)題是,它并不提供數(shù)據(jù)校驗(yàn)或冗余備份,因此一旦某塊磁盤(pán)損壞了,數(shù)據(jù)就直接丟失,無(wú)法恢復(fù)了。因此RAID0就不可能用于高要求的業(yè)務(wù)中,但可以用在對(duì)可靠性要求不高,對(duì)讀寫(xiě)性能要求高的場(chǎng)景中。
那有沒(méi)有可以讓存儲(chǔ)可靠性變高的方案呢?
有的,下面的RAID1就是。
- RAID1
如圖,
RAID1 是磁盤(pán)陣列中單位成本最高的一種方式。因?yàn)樗脑硎窃谕疟P(pán)寫(xiě)數(shù)據(jù)的時(shí)候,將同一份數(shù)據(jù)無(wú)差別的寫(xiě)兩份到磁盤(pán),分別寫(xiě)到工作磁盤(pán)和鏡像磁盤(pán),那么它的實(shí)際空間使用率只有50%了,兩塊磁盤(pán)當(dāng)做一塊用,這是一種比較昂貴的方案。RAID1其實(shí)與RAID0效果剛好相反。RAID1 這種寫(xiě)雙份的做法,就給數(shù)據(jù)做了一個(gè)冗余備份。這樣的話,任何一塊磁盤(pán)損壞了,都可以再基于另外一塊磁盤(pán)去恢復(fù)數(shù)據(jù),數(shù)據(jù)的可靠性非常強(qiáng),但性能就沒(méi)那么好了。
了解了RAID0和RAID1之后,我們發(fā)現(xiàn)這兩個(gè)方案都不完美啊。
這時(shí)候就該 性能又好、可靠性也高 的方案 RAID5 登場(chǎng)了。
- RAID5
這是目前用的最多的一種方式。
因?yàn)?RAID5 是一種將 存儲(chǔ)性能、數(shù)據(jù)安全、存儲(chǔ)成本 兼顧的一種方案。
在了解RAID5之前,我們可以先簡(jiǎn)單看一下RAID3,雖然RAID3用的很少,但弄清楚了RAID3就很容易明白R(shí)AID5的思路。
RAID3的方式是:將數(shù)據(jù)按照RAID0的形式,分成多份同時(shí)寫(xiě)入多塊磁盤(pán),但是還會(huì)另外再留出一塊磁盤(pán)用于寫(xiě)「奇偶校驗(yàn)碼」。例如總共有N塊磁盤(pán),那么就會(huì)讓其中額度N-1塊用來(lái)并發(fā)的寫(xiě)數(shù)據(jù),第N塊磁盤(pán)用記錄校驗(yàn)碼數(shù)據(jù)。一旦某一塊磁盤(pán)壞掉了,就可以利用其它的N-1塊磁盤(pán)去恢復(fù)數(shù)據(jù)。
但是由于第N塊磁盤(pán)是校驗(yàn)碼磁盤(pán),因此有任何數(shù)據(jù)的寫(xiě)入都會(huì)要去更新這塊磁盤(pán),導(dǎo)致這塊磁盤(pán)的讀寫(xiě)是最頻繁的,也就非常的容易損壞。
RAID5的方式可以說(shuō)是對(duì)RAID3進(jìn)行了改進(jìn)。
RAID5模式中,不再需要用單獨(dú)的磁盤(pán)寫(xiě)校驗(yàn)碼了。它把校驗(yàn)碼信息分布到各個(gè)磁盤(pán)上。例如,總共有N塊磁盤(pán),那么會(huì)將要寫(xiě)入的數(shù)據(jù)分成N份,并發(fā)的寫(xiě)入到N塊磁盤(pán)中,同時(shí)還將數(shù)據(jù)的校驗(yàn)碼信息也寫(xiě)入到這N塊磁盤(pán)中(數(shù)據(jù)與對(duì)應(yīng)的校驗(yàn)碼信息必須得分開(kāi)存儲(chǔ)在不同的磁盤(pán)上)。一旦某一塊磁盤(pán)損壞了,就可以用剩下的數(shù)據(jù)和對(duì)應(yīng)的奇偶校驗(yàn)碼信息去恢復(fù)損壞的數(shù)據(jù)。
RAID5校驗(yàn)位算法原理:P = D1 xor D2 xor D3 … xor Dn (D1,D2,D3 … Dn為數(shù)據(jù)塊,P為校驗(yàn),xor為異或運(yùn)算)
RAID5的方式,最少需要三塊磁盤(pán)來(lái)組建磁盤(pán)陣列,允許最多同時(shí)壞一塊磁盤(pán)。如果有兩塊磁盤(pán)同時(shí)損壞了,那數(shù)據(jù)就無(wú)法恢復(fù)了。
- RAID6
為了進(jìn)一步提高存儲(chǔ)的高可用,聰明的人們又提出了RAID6方案,可以在有兩塊磁盤(pán)同時(shí)損壞的情況下,也能保障數(shù)據(jù)可恢復(fù)。
為什么RAID6這么牛呢,因?yàn)镽AID6在RAID5的基礎(chǔ)上再次改進(jìn),引入了雙重校驗(yàn)的概念。
RAID6除了每塊磁盤(pán)上都有同級(jí)數(shù)據(jù)XOR校驗(yàn)區(qū)以外,還有針對(duì)每個(gè)數(shù)據(jù)塊的XOR校驗(yàn)區(qū),這樣的話,相當(dāng)于每個(gè)數(shù)據(jù)塊有兩個(gè)校驗(yàn)保護(hù)措施,因此數(shù)據(jù)的冗余性更高了。
但是RAID6的這種設(shè)計(jì)也帶來(lái)了很高的復(fù)雜度,雖然數(shù)據(jù)冗余性好,讀取的效率也比較高,但是寫(xiě)數(shù)據(jù)的性能就很差。因此RAID6在實(shí)際環(huán)境中應(yīng)用的比較少。
- RAID10
RAID10其實(shí)就是RAID1與RAID0的一個(gè)合體。
我們看圖就明白了:
RAID10兼?zhèn)淞薘AID1和RAID0的有優(yōu)點(diǎn)。首先基于RAID1模式將磁盤(pán)分為2份,當(dāng)要寫(xiě)入數(shù)據(jù)的時(shí)候,將所有的數(shù)據(jù)在兩份磁盤(pán)上同時(shí)寫(xiě)入,相當(dāng)于寫(xiě)了雙份數(shù)據(jù),起到了數(shù)據(jù)保障的作用。且在每一份磁盤(pán)上又會(huì)基于RAID0技術(shù)講數(shù)據(jù)分為N份并發(fā)的讀寫(xiě),這樣也保障了數(shù)據(jù)的效率。
但也可以看出RAID10模式是有一半的磁盤(pán)空間用于存儲(chǔ)冗余數(shù)據(jù)的,浪費(fèi)的很?chē)?yán)重,因此用的也不是很多。
整體對(duì)比一下 RAID0、RAID1、RAID5、RAID6、RAID10 的幾個(gè)特征:
-
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7651瀏覽量
167372 -
RAID技術(shù)
+關(guān)注
關(guān)注
0文章
7瀏覽量
6312 -
XOR
+關(guān)注
關(guān)注
0文章
12瀏覽量
162364
發(fā)布評(píng)論請(qǐng)先 登錄
IDE-RAID芯片經(jīng)驗(yàn)總結(jié)
RAID(Redundant Array of Independent Disk 獨(dú)立冗余磁盤(pán)陣列)精選資料分享
磁盤(pán)陣列RAID可靠性分析
板載RAID功能制作磁盤(pán)陣列并
如何配置RAID磁盤(pán)陣列
RAID,RAID技術(shù)規(guī)范有哪些?
磁盤(pán)陣列的分類
RAID磁盤(pán)陣列的DIY使用方法和基礎(chǔ)知識(shí)

Raid磁盤(pán)陣列故障類型和原因分析
服務(wù)器數(shù)據(jù)恢復(fù)-2盤(pán)raid0磁盤(pán)陣列數(shù)據(jù)恢復(fù)案例
RAID5數(shù)據(jù)恢復(fù)—如何重組RAID5陣列?

評(píng)論