【廣告】
什么是RAID
RAID,中文名稱叫獨(dú)立磁盤冗余陣列(廉價(jià)磁盤冗余陣列),簡(jiǎn)稱磁盤陣列。它的作用呢,是在多塊硬盤組成的陣列系統(tǒng)中,犧牲一塊至多塊硬盤的容量,來(lái)對(duì)數(shù)據(jù)的存儲(chǔ)提供一定的容錯(cuò)能力。
我們先來(lái)簡(jiǎn)單假設(shè)一種使用情況:你擁有一些重要的數(shù)據(jù),但是你并沒有將這些數(shù)據(jù)進(jìn)行備份,他們只存在于你臺(tái)式機(jī)的單一硬盤中。那么一旦遇到臺(tái)式機(jī)的硬盤損壞,你的這些數(shù)據(jù)只能去找數(shù)據(jù)恢復(fù)公司了;而如果你的臺(tái)式機(jī)做了磁盤陣列,那么只需要替換陣列中壞掉的硬盤就可以重新恢復(fù)數(shù)據(jù)了。
這正是RAID的魅力所在。如果你只組建一個(gè)相對(duì)廉價(jià)的陣列,甚至不需要額外的硬件成本,只要你的主板支持RAID功能,就可以體驗(yàn)RAID給你帶來(lái)的好處。
磁盤陣列原理
磁盤陣列作為獨(dú)立系統(tǒng)在主機(jī)外直連或通過網(wǎng)絡(luò)與主機(jī)相連。磁盤陣列有多個(gè)端口可以被不同主機(jī)或不同端口連接。一個(gè)主機(jī)連接陣列的不同端口可提升傳輸速度。 [2] 和當(dāng)時(shí)PC用單磁盤內(nèi)部集成緩存一樣,在磁盤陣列內(nèi)部為加快與主機(jī)交互速度,都帶有一定量的緩沖存儲(chǔ)器。主機(jī)與磁盤陣列的緩存交互,緩存與具體的磁盤交互數(shù)據(jù)。 [2] 在應(yīng)用中,有部分常用的數(shù)據(jù)是需要經(jīng)常讀取的,磁盤陣列根據(jù)內(nèi)部的算法,查找出這些經(jīng)常讀取的數(shù)據(jù),存儲(chǔ)在緩存中,加快主機(jī)讀取這些數(shù)據(jù)的速度,而對(duì)于其他緩存中沒有的數(shù)據(jù),主機(jī)要讀取,則由陣列從磁盤上直接讀取傳輸給主機(jī)。對(duì)于主機(jī)寫入的數(shù)據(jù),只寫在緩存中,主機(jī)可以立即完成寫操作。然后由緩存再慢慢寫入磁盤。
磁盤陣列 RAID 技術(shù)基本原理
RAID 技術(shù)可以將一個(gè)硬盤上的任務(wù)分散或copy到多個(gè)(少則兩個(gè))磁盤上,借此來(lái)提高了性能或建立數(shù)據(jù)冗余以防驅(qū)動(dòng)器發(fā)生故障??梢酝ㄟ^設(shè)定設(shè)備的 RAID 模式來(lái)決定設(shè)備以何種方式處理數(shù)據(jù)。RAID 配置可讓多個(gè)硬盤驅(qū)動(dòng)器以不同的方式(例如使用條帶技術(shù)或鏡像技術(shù))組合成單一的運(yùn)行單元。
RAID 的兩個(gè)關(guān)鍵目標(biāo)是提高數(shù)據(jù)可靠性和 I/O 性能。磁盤陣列中,數(shù)據(jù)分散在多個(gè)磁盤中,然而對(duì)于計(jì)算機(jī)系統(tǒng)來(lái)說,就像一個(gè)單獨(dú)的磁盤。通過把相同數(shù)據(jù)同時(shí)寫入到多塊磁盤(典型地如鏡像),或者將計(jì)算的校驗(yàn)數(shù)據(jù)寫入陣列中來(lái)獲得冗余能力,當(dāng)單塊磁盤出現(xiàn)故障時(shí)可以保證不會(huì)導(dǎo)致數(shù)據(jù)丟失。有些 RAID 等級(jí)允許更多地 磁盤同時(shí)發(fā)生故障。在這樣的冗余機(jī)制下,可以用新磁盤替換故障磁盤, RAID 會(huì)自動(dòng)根據(jù)剩余磁盤中的數(shù)據(jù)和校驗(yàn)數(shù)據(jù)重建丟失的數(shù)據(jù),保證數(shù)據(jù)一致性和完整性。數(shù)據(jù)分散保存在 RAID 中的多個(gè)不同磁盤上,并發(fā)數(shù)據(jù)讀寫要大大優(yōu)于單個(gè)磁盤,因此可以獲得更高的聚合 I/O 帶寬。當(dāng)然,磁盤陣列會(huì)減少全體磁盤的總可用存儲(chǔ)空間,犧牲空間換取更高的可靠性和性能。比如, RAID1 存儲(chǔ)空間利用率僅有 50% , RAID5 會(huì)損失其中一個(gè)磁盤的存儲(chǔ)容量,空間利用率為 (n-1)/n 。
RAID解決了什么問題
通俗地說,RAID就是通過將多個(gè)磁盤按照一定的形式和方案組織起來(lái),通過這樣的形式能夠獲取比單個(gè)硬盤更高的速度、更好的穩(wěn)定性、更大的存儲(chǔ)能力的存儲(chǔ)解決方案,用戶不必關(guān)心磁盤陣列究竟由多少塊硬盤組成,使用中整個(gè)陣列就如同一塊硬盤一樣。所以RAID技術(shù)能夠?yàn)橛?jì)算機(jī)系統(tǒng)提供以下三個(gè)方面的優(yōu)異性能:
1) 提供更大的存儲(chǔ)空間
目前容量為2TB的硬盤已經(jīng)在市場(chǎng)上大量銷售,2TB的存儲(chǔ)空間對(duì)于個(gè)人用戶來(lái)說已經(jīng)很大了,但對(duì)于企業(yè)用戶來(lái)說,還遠(yuǎn)遠(yuǎn)不夠,那么使用RAID技術(shù),就可以把多塊硬盤組成一個(gè)更大的存儲(chǔ)空間供用戶使用。比如,利用RAID 0技術(shù)把5塊2TB的硬盤組織起來(lái),能夠提供10TB的存儲(chǔ)空間。
2)提供更快的傳輸速度
從計(jì)算機(jī)問世以來(lái)的數(shù)年來(lái),CPU的處理速度以幾何數(shù)量級(jí)迅猛增長(zhǎng),然而硬盤作為計(jì)算機(jī)中重要的存儲(chǔ)設(shè)備,在容量飛速增長(zhǎng)的同時(shí),速度卻提高緩慢,己經(jīng)成為計(jì)算機(jī)速度發(fā)展的瓶頸。
如果采用RAID技術(shù),則可以讓很多硬盤同時(shí)傳輸數(shù)據(jù),而這些硬盤在邏輯上又表現(xiàn)為一塊硬盤,所以使用RAID可以達(dá)到單個(gè)硬盤幾倍、甚至幾十倍的速率。
即RAID技術(shù)可以通過在多個(gè)硬盤上實(shí)現(xiàn)以同時(shí)存儲(chǔ)和讀取數(shù)據(jù)的方式來(lái)大幅提高存儲(chǔ)系統(tǒng)的數(shù)據(jù)吞吐量。
3)提供更高的安全性
RAID還可以通過數(shù)據(jù)校驗(yàn)提供容錯(cuò)功能,在很多RAID模式中都有較為完備的冗余措施,甚至是直接相互的鏡像備份,從而大大提高了RAID系統(tǒng)的容錯(cuò)性,讓系統(tǒng)的穩(wěn)定性更好、安全性更高。