这张磁盘有写保护_架构师不得不了解的硬件知识 - 磁盘阵列RAID
概述
什么是RAID? RAID ( Redundant Array of Independent Disks )即獨(dú)立磁盤冗余陣列,通常簡(jiǎn)稱為磁盤陣列。簡(jiǎn)單地說(shuō), RAID 是由多個(gè)獨(dú)立的高性能磁盤驅(qū)動(dòng)器組成的磁盤子系統(tǒng),從而提供比單個(gè)磁盤更高的存儲(chǔ)性能和數(shù)據(jù)冗余的技術(shù)。RAID 是一類多磁盤管理技術(shù),其向主機(jī)環(huán)境提供了成本適中、數(shù)據(jù)可靠性高的高性能存儲(chǔ)。
RAID 中主要有三個(gè)關(guān)鍵概念和技術(shù):鏡像( Mirroring )、數(shù)據(jù)條帶( Data Stripping ) 和 數(shù)據(jù)校驗(yàn)( Data parity )。
鏡像:將數(shù)據(jù)復(fù)制到多個(gè)磁盤,一方面可以提高可靠性,另一方面可并發(fā)從兩個(gè)或多個(gè)副本讀取數(shù)據(jù)來(lái)提高讀性能。顯而易見(jiàn),鏡像的寫性能要稍低, 確保數(shù)據(jù)正確地寫到多個(gè)磁盤需要更多的時(shí)間消耗。
數(shù)據(jù)條帶:將數(shù)據(jù)分片保存在多個(gè)不同的磁盤,多個(gè)數(shù)據(jù)分片共同組成一個(gè)完整數(shù)據(jù)副本,這與鏡像的多個(gè)副本是不同的,它通常用于性能考慮。數(shù)據(jù)條帶具有更高的并發(fā)粒度,當(dāng)訪問(wèn)數(shù)據(jù)時(shí),可以同時(shí)對(duì)位于不同磁盤上數(shù)據(jù)進(jìn)行讀寫操作, 從而獲得非常可觀的 I/O 性能提升 。
數(shù)據(jù)校驗(yàn):利用冗余數(shù)據(jù)進(jìn)行數(shù)據(jù)錯(cuò)誤檢測(cè)和修復(fù),冗余數(shù)據(jù)通常采用海明碼、異或操作等算法來(lái)計(jì)算獲得。利用校驗(yàn)功能,可以很大程度上提高磁盤陣列的可靠性、魯棒性和容錯(cuò)能力。不過(guò),數(shù)據(jù)校驗(yàn)需要從多處讀取數(shù)據(jù)并進(jìn)行計(jì)算和對(duì)比,會(huì)影響系統(tǒng)性能。不同等級(jí)的 RAID 采用一個(gè)或多個(gè)以上的三種技術(shù),來(lái)獲得不同的數(shù)據(jù)可靠性、可用性和 I/O 性能。
對(duì)于系統(tǒng)需要采用何種模式的 RAID ,需要在深入理解系統(tǒng)需求的前提下進(jìn)行合理選擇,綜合評(píng)估可靠性、性能和成本來(lái)進(jìn)行折中的選擇。
常見(jiàn)的RAID等級(jí)有:
- 標(biāo)準(zhǔn)RAID
RAID0 、 RAID1 、 RAID2 、 RAID3 、 RAID4 、 RAID5 、RAID6 七個(gè)等級(jí)定為標(biāo)準(zhǔn)的 RAID 等級(jí) - 混合RAID:RAID10、RAID50、RAID60...
下面我們分別介紹一下各種RAID級(jí)別并做個(gè)簡(jiǎn)單對(duì)比。
RAID0
使用N塊磁盤進(jìn)行組合實(shí)現(xiàn)性能翻N倍的效果,寫入數(shù)據(jù)會(huì)分成N部分進(jìn)行,讀取數(shù)據(jù)會(huì)從磁盤中組合起來(lái)讀,這樣就實(shí)現(xiàn)了讀寫性能翻倍。
優(yōu)點(diǎn):使用RAID0 可以將磁盤空間利用率最大化,能達(dá)到100%;性能快,磁盤越多性能越強(qiáng)。
缺點(diǎn):沒(méi)有數(shù)據(jù)保護(hù),甚至比單盤的風(fēng)險(xiǎn)還大。任意壞了一塊磁盤都會(huì)導(dǎo)致數(shù)據(jù)丟失。
RAID 1
RAID 1 中的磁盤互為鏡像,寫入的數(shù)據(jù)會(huì)存放N份,讀取的時(shí)候可以從任意一塊磁盤讀取。實(shí)現(xiàn)了讀性能翻倍,寫性能與單盤一樣的效果。
優(yōu)點(diǎn):安全性依照陣列中的實(shí)體硬盤數(shù)量倍數(shù)成長(zhǎng)。
缺點(diǎn):空間利用率低,是所有陣列中利用率最低的。
RAID 5
RAID5 既考慮了空間利用率又考慮了性能的提升,采用校驗(yàn)碼的而非鏡像的方式組合而成,RAID5 陣列需要至少3塊磁盤。在上圖中使用了4塊磁盤組合而成,任意一份數(shù)據(jù)寫入會(huì)被分成三個(gè)數(shù)據(jù)塊+一個(gè)校驗(yàn)塊分別放入4個(gè)盤,數(shù)據(jù)塊與校驗(yàn)塊之間交叉分布,最終每個(gè)盤上既有數(shù)據(jù)塊又有校驗(yàn)塊。讀數(shù)據(jù)時(shí)A時(shí)從Disk 0 ,1 ,2 分別讀取到A1,A2,A3然后組合成A;如果此時(shí)有一塊磁盤比如Disk2 損壞,則會(huì)通過(guò)讀取到的A1、A2+ 校驗(yàn)碼算出A3,再組合生成數(shù)據(jù)A對(duì)外提供。RAID 5 可以容忍一塊盤的損壞。
優(yōu)點(diǎn):讀的情況下是單盤數(shù)據(jù)的三倍;有一定的安全性,可以容忍損壞一塊磁盤
缺點(diǎn):由于每次寫數(shù)據(jù)都需要計(jì)算校驗(yàn)塊,導(dǎo)致寫性能下降;僅能容忍壞一塊磁盤損壞
RAID 6
RAID6可以靈活設(shè)計(jì)數(shù)據(jù)庫(kù)和校驗(yàn)塊的比例,上圖中被設(shè)計(jì)成3個(gè)數(shù)據(jù)塊+2個(gè)校驗(yàn)塊的組合,增加了數(shù)據(jù)可靠性。RAID 6在備份的數(shù)據(jù)場(chǎng)景使用較多,提供的數(shù)據(jù)可靠性比RAID 5要高很多。
優(yōu)點(diǎn):容錯(cuò)硬盤數(shù)量比RAID5高
缺點(diǎn):運(yùn)算量比RAID5大、空間利用率比RAID5低
RAID 10
首先把兩塊盤做鏡像,再按照RAID0的方式組合,既實(shí)現(xiàn)了數(shù)據(jù)的冗余又實(shí)現(xiàn)了性能翻倍的效果。RAID 1+0多適用于數(shù)據(jù)庫(kù)場(chǎng)景。
RAID 50
先做成RAID5的組再組合成RAID0,兼顧RAID5和RAID0的特性。
RAID 60
image.png
先做成RAID6的組合再組合成RAID0,兼顧RAID6和RAID0的特性。
各種組合之間的對(duì)比
好了,各位朋友們,本期的內(nèi)容到此就全部結(jié)束啦,能看到這里的同學(xué)都是優(yōu)秀的同學(xué),下一個(gè)升職加薪的就是你了!
如果覺(jué)得這篇文章對(duì)你有所幫助的話請(qǐng)掃描下面二維碼加個(gè)關(guān)注。"轉(zhuǎn)發(fā)" 加 "在看",養(yǎng)成好習(xí)慣!咱們下期再見(jiàn)!
更多內(nèi)容請(qǐng)移步至 個(gè)人博客 :JAVA日知錄
總結(jié)
以上是生活随笔為你收集整理的这张磁盘有写保护_架构师不得不了解的硬件知识 - 磁盘阵列RAID的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql 过程和函数_MySQL:存储
- 下一篇: centos7恢复mysql数据库_My