【廣告】
什么是RAID
RAID,中文名稱叫獨立磁盤冗余陣列(廉價磁盤冗余陣列),簡稱磁盤陣列。它的作用呢,是在多塊硬盤組成的陣列系統(tǒng)中,犧牲一塊至多塊硬盤的容量,來對數(shù)據(jù)的存儲提供一定的容錯能力。
我們先來簡單假設(shè)一種使用情況:你擁有一些重要的數(shù)據(jù),但是你并沒有將這些數(shù)據(jù)進(jìn)行備份,他們只存在于你臺式機(jī)的單一硬盤中。那么一旦遇到臺式機(jī)的硬盤損壞,你的這些數(shù)據(jù)只能去找數(shù)據(jù)恢復(fù)公司了;而如果你的臺式機(jī)做了磁盤陣列,那么只需要替換陣列中壞掉的硬盤就可以重新恢復(fù)數(shù)據(jù)了。
這正是RAID的魅力所在。如果你只組建一個相對廉價的陣列,甚至不需要額外的硬件成本,只要你的主板支持RAID功能,就可以體驗RAID給你帶來的好處。
磁盤陣列
獨立磁盤冗余陣列是把相同的數(shù)據(jù)存儲在多個硬盤的不同的地方的方法。通過把數(shù)據(jù)放在多個硬盤上,輸入輸出操作能以平衡的方式交疊,改良性能。因為多個硬盤增加了平均故障間隔時間(MTBF),儲存冗余數(shù)據(jù)也增加了容錯。 由加利福尼亞大學(xué)伯克利分校(University of California-Berkeley)在1988年,發(fā)表的文章:“A Case for Redundant Arrays of Inexpensive Disks”。文章中,談到了RAID這個詞匯,而且定義了RAID的5層級。伯克利大學(xué)研究目的是反映當(dāng)時CPU快速的性能。CPU效能每年大約成長30~50%,而硬磁機(jī)只能成長約7%。研究小組希望能找出一種新的技術(shù),在短期內(nèi),立即提升效能來平衡計算機(jī)的運算能力。在當(dāng)時,柏克萊研究小組的主要研究目的是效能與成本。 另外,研究小組也設(shè)計出容錯(fault-tolerance),邏輯數(shù)據(jù)備份(logical data redundancy),而產(chǎn)生了RAID理論。研究初期,便宜(Inexpensive)的磁盤也是主要的重點,但后來發(fā)現(xiàn),大量便宜磁盤組合并不能適用于現(xiàn)實的生產(chǎn)環(huán)境,后來Inexpensive被改為independent,許多獨立的磁盤組
那么服務(wù)器為啥要做磁盤陣列呢?
主要有兩個作用:
提供容錯功能
普通的磁盤驅(qū)動器是無法提供容錯功能的,而磁盤陣列可以通過數(shù)據(jù)校驗提供容錯功能,服務(wù)器會將數(shù)據(jù)寫入多個磁盤,如果某個磁盤發(fā)生故障時,此時仍能保證信息的可用性,重要數(shù)據(jù)不會丟失,也不會耽誤服務(wù)器的正常運轉(zhuǎn)。
提高傳輸速率
磁盤陣列將多個磁盤組成一個陣列,當(dāng)做一個單一的磁盤使用,把數(shù)據(jù)已分段的形式存儲到不同的硬盤之中,發(fā)生數(shù)據(jù)存取變動時,陣列中的相關(guān)磁盤一起工作,這就可以大幅的降低數(shù)據(jù)存儲的時間,同時還能擁有更佳的空間和使用率。
磁盤陣列 RAID 技術(shù)基本原理
RAID 技術(shù)可以將一個硬盤上的任務(wù)分散或copy到多個(少則兩個)磁盤上,借此來提高了性能或建立數(shù)據(jù)冗余以防驅(qū)動器發(fā)生故障??梢酝ㄟ^設(shè)定設(shè)備的 RAID 模式來決定設(shè)備以何種方式處理數(shù)據(jù)。RAID 配置可讓多個硬盤驅(qū)動器以不同的方式(例如使用條帶技術(shù)或鏡像技術(shù))組合成單一的運行單元。
RAID 的兩個關(guān)鍵目標(biāo)是提高數(shù)據(jù)可靠性和 I/O 性能。磁盤陣列中,數(shù)據(jù)分散在多個磁盤中,然而對于計算機(jī)系統(tǒng)來說,就像一個單獨的磁盤。通過把相同數(shù)據(jù)同時寫入到多塊磁盤(典型地如鏡像),或者將計算的校驗數(shù)據(jù)寫入陣列中來獲得冗余能力,當(dāng)單塊磁盤出現(xiàn)故障時可以保證不會導(dǎo)致數(shù)據(jù)丟失。有些 RAID 等級允許更多地 磁盤同時發(fā)生故障。在這樣的冗余機(jī)制下,可以用新磁盤替換故障磁盤, RAID 會自動根據(jù)剩余磁盤中的數(shù)據(jù)和校驗數(shù)據(jù)重建丟失的數(shù)據(jù),保證數(shù)據(jù)一致性和完整性。數(shù)據(jù)分散保存在 RAID 中的多個不同磁盤上,并發(fā)數(shù)據(jù)讀寫要大大優(yōu)于單個磁盤,因此可以獲得更高的聚合 I/O 帶寬。當(dāng)然,磁盤陣列會減少全體磁盤的總可用存儲空間,犧牲空間換取更高的可靠性和性能。比如, RAID1 存儲空間利用率僅有 50% , RAID5 會損失其中一個磁盤的存儲容量,空間利用率為 (n-1)/n 。