服務(wù)器磁盤陣列、RAID級(jí)別的闡述
磁盤陣列
磁盤陣列(Redundant Arrays of Independent Disks,RAID),有“獨(dú)立磁盤構(gòu)成的具有冗余能力的陣列”之意。
磁盤陣列是由很多價(jià)格較便宜的磁盤,組合成一個(gè)容量巨大的磁盤組,利用個(gè)別磁盤提供數(shù)據(jù)所產(chǎn)生加成效果提升整個(gè)磁盤系統(tǒng)效能。利用這項(xiàng)技術(shù),將數(shù)據(jù)切割成許多區(qū)段,分別存放在各個(gè)硬盤上。
磁盤陣列還能利用同位檢查(Parity Check)的觀念,在數(shù)組中任意一個(gè)硬盤故障時(shí),仍可讀出數(shù)據(jù),在數(shù)據(jù)重構(gòu)時(shí),將數(shù)據(jù)經(jīng)計(jì)算后重新置入新硬盤中。
所有的數(shù)據(jù)都是存儲(chǔ)在存儲(chǔ)介質(zhì)中,我們現(xiàn)在做常用的就是硬盤,其實(shí)磁盤陣列就是一大堆磁盤組成的一個(gè)存儲(chǔ)空間。就好比你家有多個(gè)房間。共同組成了一個(gè)房子。而對(duì)于磁盤陣列來(lái)說(shuō),總重要的是在硬盤壞掉了也能夠保證數(shù)據(jù)的完整性,這個(gè)取決于所選擇的RAID級(jí)別。
RAID級(jí)別
RAID技術(shù)主要包含RAID 0~RAID 53等數(shù)個(gè)規(guī)范,我們數(shù)據(jù)中心最常用的是:
- RAID 0
- RAID 1
- RAID 5
- RAID 1+0/0+1
我就來(lái)簡(jiǎn)單的介紹一下這幾個(gè)常用的RAID。RAID級(jí)別有好多。有興趣可以查一下。
RAID 0
RAID 0:RAID 0連續(xù)以位或字節(jié)為單位分割數(shù)據(jù),并行讀/寫于多個(gè)磁盤上,因此具有很高的數(shù)據(jù)傳輸率,但它沒(méi)有數(shù)據(jù)冗余,因此并不能算是真正的RAID結(jié)構(gòu)。RAID 0只是單純地提高性能,并沒(méi)有為數(shù)據(jù)的可靠性提供保證,而且其中的一個(gè)磁盤失效將影響到所有數(shù)據(jù)。因此,RAID 0不能應(yīng)用于數(shù)據(jù)安全性要求高的場(chǎng)合。RAID 0最簡(jiǎn)單的實(shí)現(xiàn)方式就是把N塊同樣的硬盤用硬件的形式通過(guò)智能磁盤控制器或用操作系統(tǒng)中的磁盤驅(qū)動(dòng)程序以軟件的方式串聯(lián)在一起創(chuàng)建一個(gè)大的卷集。在使用中電腦數(shù)據(jù)依次寫入到各塊硬盤中,它的***優(yōu)點(diǎn)就是可以整倍的提高硬盤的容量
RAID 0的存儲(chǔ)空間:所有磁盤空間相加。例如使用了三塊1T的硬盤組建成RAID 0模式,那么磁盤容量就會(huì)是3T。
RAID 0容量是所有磁盤容量和
RAID 1
RAD 1稱為磁盤鏡像,原理是把一個(gè)磁盤的數(shù)據(jù)鏡像到另一個(gè)磁盤上,也就是說(shuō)數(shù)據(jù)在寫入一塊磁盤的同時(shí),會(huì)在另一塊閑置的磁盤上生成鏡像文件,在不影響性能情況下***限度的保證系統(tǒng)的可靠性和可修復(fù)性上,只要系統(tǒng)中任何一對(duì)鏡像盤中至少有一塊磁盤可以使用,甚至可以在一半數(shù)量的硬盤出現(xiàn)問(wèn)題時(shí)系統(tǒng)都可以正常運(yùn)行,當(dāng)一塊硬盤失效時(shí),系統(tǒng)會(huì)忽略該硬盤,轉(zhuǎn)而使用剩余的鏡像盤讀寫數(shù)據(jù),具備很好的磁盤冗余能力。雖然這樣對(duì)數(shù)據(jù)來(lái)講絕對(duì)安全,但是成本也會(huì)明顯增加,磁盤利用率為50%,以四塊1T容量的硬盤來(lái)講,可利用的磁盤空間僅為2T。另外,出現(xiàn)硬盤故障的RAID系統(tǒng)不再可靠,應(yīng)當(dāng)及時(shí)的更換損壞的硬盤,否則剩余的鏡像盤也出現(xiàn)問(wèn)題,那么整個(gè)系統(tǒng)就會(huì)崩潰。更換新盤后原有數(shù)據(jù)會(huì)需要很長(zhǎng)時(shí)間同步鏡像,外界對(duì)數(shù)據(jù)的訪問(wèn)不會(huì)受到影響,只是這時(shí)整個(gè)系統(tǒng)的性能有所下降。因此,RAID 1多用在保存關(guān)鍵性的重要數(shù)據(jù)的場(chǎng)合。
RAID 1的存儲(chǔ)空間:所有磁盤空間相加的一半。例如使用了兩塊1T的硬盤組建成RAID 1模式,那么磁盤容量就會(huì)是1T。
RAID 1容量是所有磁盤容量的一半
RAID 5
RAID 5:分布式奇偶校驗(yàn)的獨(dú)立磁盤結(jié)構(gòu),RAID 5不單獨(dú)指定的奇偶盤,而是在所有磁盤上交叉地存取數(shù)據(jù)及奇偶校驗(yàn)信息。在RAID 5上,讀/寫指針可同時(shí)對(duì)陣列設(shè)備進(jìn)行操作,提供了更高的數(shù)據(jù)流量。RAID 5更適合于小數(shù)據(jù)塊和隨機(jī)讀寫的數(shù)據(jù)。對(duì)于RAID 5來(lái)說(shuō),大部分?jǐn)?shù)據(jù)傳輸只對(duì)一塊磁盤操作,并可進(jìn)行并行操作。在RAID 5中有“寫損失”,即每一次寫操作將產(chǎn)生四個(gè)實(shí)際的讀/寫操作,其中兩次讀舊的數(shù)據(jù)及奇偶信息,兩次寫新的數(shù)據(jù)及奇偶信息。
RAID 5的存儲(chǔ)空間:至少要用3塊硬盤???cè)萘渴荖-1。例如使用了三塊1T的硬盤組建成RAID 5模式,那么磁盤容量就會(huì)是2T。
RAID 5存儲(chǔ)空間是N-1
RAID 1+0/0+1
RAID 0+1名稱上我們便可以看出是RAID0與RAID1的結(jié)合體。在我們單獨(dú)使用RAID 1也會(huì)出現(xiàn)類似單獨(dú)使用RAID 0那樣的問(wèn)題,即在同一時(shí)間內(nèi)只能向一塊磁盤寫入數(shù)據(jù),不能充分利用所有的資源。為了解決這一問(wèn)題,我們可以在磁盤鏡像中建立帶區(qū)集。因?yàn)檫@種配置方式綜合了帶區(qū)集和鏡像的優(yōu)勢(shì),所以被稱為RAID 0+1。把RAID0和RAID1技術(shù)結(jié)合起來(lái),數(shù)據(jù)除分布在多個(gè)盤上外,每個(gè)盤都有其物理鏡像盤,提供全冗余能力,允許一個(gè)以下磁盤故障,而不影響數(shù)據(jù)可用性,并具有快速讀/寫能力。RAID0+1要在磁盤鏡像中建立帶區(qū)集至少4個(gè)硬盤。
根據(jù)組合分為RAID 10和RAID 01,實(shí)際是將RAID 0和RAID 1標(biāo)準(zhǔn)結(jié)合的產(chǎn)物,在連續(xù)地以位或字節(jié)為單位分割數(shù)據(jù)并且并行讀/寫多個(gè)磁盤的同時(shí),為每一塊磁盤作磁盤鏡像進(jìn)行冗余。它的優(yōu)點(diǎn)是同時(shí)擁有RAID 0的超凡速度和RAID 1的數(shù)據(jù)高可靠性,但是CPU占用率同樣也更高,而且磁盤的利用率比較低。RAID 1+0是先鏡射再分區(qū)數(shù)據(jù),再將所有硬盤分為兩組,視為是RAID 0的***組合,然后將這兩組各自視為RAID 1運(yùn)作。RAID 0+1則是跟RAID 1+0的程序相反,是先分區(qū)再將數(shù)據(jù)鏡射到兩組硬盤。它將所有的硬盤分為兩組,變成RAID 1的***組合,而將兩組硬盤各自視為RAID 0運(yùn)作。性能上,RAID 0+1比RAID 1+0有著更快的讀寫速度??煽啃陨?,當(dāng)RAID 1+0有一個(gè)硬盤受損,其余三個(gè)硬盤會(huì)繼續(xù)運(yùn)作。RAID 0+1 只要有一個(gè)硬盤受損,同組RAID 0的另一只硬盤亦會(huì)停止運(yùn)作,只剩下兩個(gè)硬盤運(yùn)作,可靠性較低。因此,RAID 10遠(yuǎn)較RAID 01常用,零售主板絕大部份支持RAID 0/1/5/10,但不支持RAID 01。
RAID0+1容量是所有磁盤一半
RAID1+0容量是所有磁盤的一半
這就是我們常用的磁盤陣列RAID級(jí)別,也是因?yàn)槭俏页S玫?,所以記錄一下。都在說(shuō)這個(gè)數(shù)據(jù)的安全性,這個(gè)很多同學(xué)自己沒(méi)有磁盤陣列和RIAD卡進(jìn)行測(cè)試。即便是工作中維護(hù)陣列,因?yàn)橛袛?shù)據(jù)不能夠拔下磁盤做測(cè)試。所以想要驗(yàn)證這個(gè)RAID的對(duì)數(shù)據(jù)到底有沒(méi)有影響我們可以使用VMWARE WorkStation。虛擬機(jī)進(jìn)行測(cè)試。我就簡(jiǎn)單給截幾個(gè)圖,待有時(shí)間你可以自己測(cè)試。安裝Vmware Workstation很容易。下載安裝即可。
當(dāng)我們新建好虛擬機(jī)之后不要安裝操作系統(tǒng),我們添加磁盤,如圖:
添加虛擬機(jī)磁盤
添加虛擬機(jī)磁盤
看你想做那個(gè)RAID級(jí)別的測(cè)試,比如用RAID 0 。我們添加兩塊磁盤,啟動(dòng)時(shí)做一個(gè)RAID 0,然后裝系統(tǒng)。裝好之后把其中一塊磁盤刪掉,看看系統(tǒng)能不能啟動(dòng),當(dāng)然啟動(dòng)不了。RAID 0,壞一個(gè)數(shù)據(jù)就壞掉了。然后兩塊磁盤做一個(gè)RAID 1,然后裝系統(tǒng),裝好之后,刪除一塊磁盤,再啟動(dòng)試試,發(fā)現(xiàn)不受影響???這樣就能夠測(cè)試一下RAID的級(jí)別的安全性了。