山東省招遠廣播電視臺 黃蓬勃
隨著計算機和網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,服務(wù)器已被廣泛應(yīng)用于各種領(lǐng)域,它具有極長的系統(tǒng)連續(xù)運行時間、優(yōu)異的擴展性能和系統(tǒng)性能,而作為信息的重要載體――硬盤,卻由于讀寫速度慢、可靠性差,日益成為系統(tǒng)性能的瓶頸。在金融、證券和通信等行業(yè),需要處理大量數(shù)據(jù),對速度和可靠性要求極高。為此,RAID技術(shù)應(yīng)運而生。
RAID是Redundant Arrays of Independent Disks的縮寫,即廉價冗余磁盤陣列。
RAID的本意是通過組合小的廉價磁盤來生成大的昂貴磁盤,從而降低數(shù)據(jù)存儲的費用;采取冗余信息技術(shù)進行數(shù)據(jù)保護,在磁盤失效時仍能正常訪問數(shù)據(jù);有效提高數(shù)據(jù)的讀寫速度。
通俗地說,RAID就是將多個磁盤按照一定的方式組織起來,映射成為一個磁盤,以獲取比單個硬盤更高的速度、更好的穩(wěn)定性和更大的存儲能力。
使用RAID技術(shù),多個硬盤同時進行讀寫操作,讀寫的速度成倍提高;數(shù)據(jù)被分割成許多區(qū)段,并生成冗余信息,分別存放到各個硬盤上。如某硬盤發(fā)生故障,通過特定的算法還原數(shù)據(jù),更換硬盤后進行數(shù)據(jù)重構(gòu),將數(shù)據(jù)重新寫入新硬盤中。
根據(jù)實現(xiàn)原理的不同,RAID已經(jīng)發(fā)展了多個級別,有明確標準的級別分別是0、1、2、3、4、5、6等,并衍生出01、10、30、50等級別。它們通過對磁盤進行不同的組合,以達到減少錯誤和提高效率的目的。
RAID技術(shù)能夠為計算機系統(tǒng)提供以下三個方面的優(yōu)異性能:
(1)提供更大的存儲容量:使用RAID技術(shù),可以獲得更大的存儲空間。例如利用RAID0技術(shù)把10塊2TB的硬盤組織起來,能夠提供20TB的存儲容量。
(2)提供更快的傳輸速度:使用RAID技術(shù),可以讓所有硬盤同時傳輸數(shù)據(jù),而這些硬盤在邏輯上又表現(xiàn)為一塊硬盤,可以達到單個硬盤幾倍,甚至幾十倍的讀寫速度,大幅提高了存儲系統(tǒng)的數(shù)據(jù)吞吐量。
(3)提供更高的安全性:RAID可以通過數(shù)據(jù)校驗提供容錯功能,在很多RAID模式中都有較為完備的冗余措施,甚至是直接相互的鏡像備份,大大提高了RAID系統(tǒng)的容錯性,使系統(tǒng)的穩(wěn)定性更好、安全性更高。
圖1 RAID 0
圖2 RAID 1
圖3 RAID 5
圖4 RAID 6
在所有的RAID模式中,RAID0、RAID1、RAID5、RAID6最為常用。它們的工作原理不盡相同,以下逐一作簡要的介紹。
(1)RAID0:無容錯設(shè)計的條帶磁盤陣列
RAID0連續(xù)以位或字節(jié)為單位分割數(shù)據(jù),把數(shù)據(jù)分布在多個磁盤上,在讀寫時是以并行的方式對各磁盤同時進行操作。從理論上講,其容量和數(shù)據(jù)傳輸率是單個磁盤的N倍,N為構(gòu)成RAID0的磁盤總數(shù)。雖然它具有很高的數(shù)據(jù)傳輸率,但它沒有數(shù)據(jù)冗余,并不能算是真正的RAID結(jié)構(gòu)。在所有的級別中,RAID0的速度是最快的,但它的可靠性是最差的,只要有一個磁盤損壞,則所有的數(shù)據(jù)都無法恢復。因此,RAID0不能應(yīng)用于數(shù)據(jù)安全要求高的場合,如圖1。
(2)RAID1:鏡像磁盤陣列
RAID1的每個工作盤都有一個鏡像盤,數(shù)據(jù)同時寫入鏡像盤,平時只從工作盤中讀出數(shù)據(jù)。一旦工作盤發(fā)生故障,立即從鏡像盤中讀出數(shù)據(jù),當更換故障盤后,數(shù)據(jù)可以重構(gòu),恢復工作盤的正確數(shù)據(jù)。RAID1的磁盤利用率只有50%,是所有RAID級別中最低的,但它的數(shù)據(jù)安全性是最好的,常用于對容錯要求極高的場合,如圖2。
(3)RAID5:旋轉(zhuǎn)奇偶校驗磁盤陣列
RAID5采用了分布式奇偶校驗的獨立磁盤結(jié)構(gòu),將奇偶校驗碼存放在所有的磁盤上,每個磁盤既有數(shù)據(jù)信息也有校驗信息。對于RAID5來說,大部分數(shù)據(jù)傳輸只對一塊磁盤操作,可進行并行操作。即使一個磁盤失效,也可以根據(jù)其它硬盤上的信息來恢復數(shù)據(jù)。當有N個陣列盤時,可用空間為N-1個盤的容量。
RAID5是一種存儲性能、數(shù)據(jù)安全和存儲成本兼顧的存儲解決方案,既適用于大數(shù)據(jù)量的操作,也適用于各種事務(wù)處理,是一種快速、大容量和容錯分布合理的磁盤陣列,如圖3。
(4)RAID6
RAID6是對RAID5的擴展,它增加了第二個獨立的校驗信息。由于兩個獨立的校驗信息使用不同的算法,數(shù)據(jù)的可靠性非常高,即使兩個磁盤同時失效,也可以根據(jù)其它硬盤上的信息來恢復數(shù)據(jù)。當有N個陣列盤時,可用空間為N-2個盤的容量。
由于RAID6需要給校驗信息分配更大的磁盤空間,相對于RAID5有更大的“寫損失”,因此“寫性能”非常差。較差的性能和復雜的實施方式使得RAID6應(yīng)用不多,主要是用于要求數(shù)據(jù)絕對不能出錯的場合,如圖4。
RAID有較多的級別,最常用的RAID級別是RAID0、RAID1和RAID5。這三種級別對數(shù)據(jù)的傳輸速度和保護程度都有所不同:RAID0能夠提供最快的傳輸速度,但是提供的保護最少;RAID1能夠提供最好的數(shù)據(jù)保護;而RAID5能夠同時提供良好的速度和保護,使得RAID5應(yīng)用最為廣泛。
選擇RAID級別時,應(yīng)考慮三個主要因素:可用性(數(shù)據(jù)冗余)、性能和成本。如果不關(guān)注數(shù)據(jù)冗余,可選擇RAID0以獲得最佳性能;如果強調(diào)可用性和性能而不計成本,則可選擇RAID1。如果可用性、性能和成本都同等重要,可選擇RAID5。
RAID技術(shù)的出現(xiàn),極大地提高了數(shù)據(jù)的傳輸速度和可靠性。我們應(yīng)當深刻理解RAID級別的優(yōu)缺點,根據(jù)實際需求,綜合權(quán)衡取舍,合理地選擇RAID級別,以獲得最佳的存儲效果。
[1]涂彥暉,戴士劍.數(shù)據(jù)安全與編程技術(shù)[M].清華大學出版社,2005.
[2]劉偉.數(shù)據(jù)恢復技術(shù)深度揭秘[M].電子工業(yè)出版社,2010.