山東省招遠廣播電視臺 黃蓬勃
隨著計算機和網絡技術的迅猛發展,服務器已被廣泛應用于各種領域,它具有極長的系統連續運行時間、優異的擴展性能和系統性能,而作為信息的重要載體――硬盤,卻由于讀寫速度慢、可靠性差,日益成為系統性能的瓶頸。在金融、證券和通信等行業,需要處理大量數據,對速度和可靠性要求極高。為此,RAID技術應運而生。
RAID是Redundant Arrays of Independent Disks的縮寫,即廉價冗余磁盤陣列。
RAID的本意是通過組合小的廉價磁盤來生成大的昂貴磁盤,從而降低數據存儲的費用;采取冗余信息技術進行數據保護,在磁盤失效時仍能正常訪問數據;有效提高數據的讀寫速度。
通俗地說,RAID就是將多個磁盤按照一定的方式組織起來,映射成為一個磁盤,以獲取比單個硬盤更高的速度、更好的穩定性和更大的存儲能力。
使用RAID技術,多個硬盤同時進行讀寫操作,讀寫的速度成倍提高;數據被分割成許多區段,并生成冗余信息,分別存放到各個硬盤上。如某硬盤發生故障,通過特定的算法還原數據,更換硬盤后進行數據重構,將數據重新寫入新硬盤中。
根據實現原理的不同,RAID已經發展了多個級別,有明確標準的級別分別是0、1、2、3、4、5、6等,并衍生出01、10、30、50等級別。它們通過對磁盤進行不同的組合,以達到減少錯誤和提高效率的目的。
RAID技術能夠為計算機系統提供以下三個方面的優異性能:
(1)提供更大的存儲容量:使用RAID技術,可以獲得更大的存儲空間。例如利用RAID0技術把10塊2TB的硬盤組織起來,能夠提供20TB的存儲容量。
(2)提供更快的傳輸速度:使用RAID技術,可以讓所有硬盤同時傳輸數據,而這些硬盤在邏輯上又表現為一塊硬盤,可以達到單個硬盤幾倍,甚至幾十倍的讀寫速度,大幅提高了存儲系統的數據吞吐量。
(3)提供更高的安全性:RAID可以通過數據校驗提供容錯功能,在很多RAID模式中都有較為完備的冗余措施,甚至是直接相互的鏡像備份,大大提高了RAID系統的容錯性,使系統的穩定性更好、安全性更高。

圖1 RAID 0

圖2 RAID 1

圖3 RAID 5

圖4 RAID 6
在所有的RAID模式中,RAID0、RAID1、RAID5、RAID6最為常用。它們的工作原理不盡相同,以下逐一作簡要的介紹。
(1)RAID0:無容錯設計的條帶磁盤陣列
RAID0連續以位或字節為單位分割數據,把數據分布在多個磁盤上,在讀寫時是以并行的方式對各磁盤同時進行操作。從理論上講,其容量和數據傳輸率是單個磁盤的N倍,N為構成RAID0的磁盤總數。雖然它具有很高的數據傳輸率,但它沒有數據冗余,并不能算是真正的RAID結構。在所有的級別中,RAID0的速度是最快的,但它的可靠性是最差的,只要有一個磁盤損壞,則所有的數據都無法恢復。因此,RAID0不能應用于數據安全要求高的場合,如圖1。
(2)RAID1:鏡像磁盤陣列
RAID1的每個工作盤都有一個鏡像盤,數據同時寫入鏡像盤,平時只從工作盤中讀出數據。一旦工作盤發生故障,立即從鏡像盤中讀出數據,當更換故障盤后,數據可以重構,恢復工作盤的正確數據。RAID1的磁盤利用率只有50%,是所有RAID級別中最低的,但它的數據安全性是最好的,常用于對容錯要求極高的場合,如圖2。
(3)RAID5:旋轉奇偶校驗磁盤陣列
RAID5采用了分布式奇偶校驗的獨立磁盤結構,將奇偶校驗碼存放在所有的磁盤上,每個磁盤既有數據信息也有校驗信息。對于RAID5來說,大部分數據傳輸只對一塊磁盤操作,可進行并行操作。即使一個磁盤失效,也可以根據其它硬盤上的信息來恢復數據。當有N個陣列盤時,可用空間為N-1個盤的容量。
RAID5是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案,既適用于大數據量的操作,也適用于各種事務處理,是一種快速、大容量和容錯分布合理的磁盤陣列,如圖3。
(4)RAID6
RAID6是對RAID5的擴展,它增加了第二個獨立的校驗信息。由于兩個獨立的校驗信息使用不同的算法,數據的可靠性非常高,即使兩個磁盤同時失效,也可以根據其它硬盤上的信息來恢復數據。當有N個陣列盤時,可用空間為N-2個盤的容量。
由于RAID6需要給校驗信息分配更大的磁盤空間,相對于RAID5有更大的“寫損失”,因此“寫性能”非常差。較差的性能和復雜的實施方式使得RAID6應用不多,主要是用于要求數據絕對不能出錯的場合,如圖4。
RAID有較多的級別,最常用的RAID級別是RAID0、RAID1和RAID5。這三種級別對數據的傳輸速度和保護程度都有所不同:RAID0能夠提供最快的傳輸速度,但是提供的保護最少;RAID1能夠提供最好的數據保護;而RAID5能夠同時提供良好的速度和保護,使得RAID5應用最為廣泛。
選擇RAID級別時,應考慮三個主要因素:可用性(數據冗余)、性能和成本。如果不關注數據冗余,可選擇RAID0以獲得最佳性能;如果強調可用性和性能而不計成本,則可選擇RAID1。如果可用性、性能和成本都同等重要,可選擇RAID5。
RAID技術的出現,極大地提高了數據的傳輸速度和可靠性。我們應當深刻理解RAID級別的優缺點,根據實際需求,綜合權衡取舍,合理地選擇RAID級別,以獲得最佳的存儲效果。
[1]涂彥暉,戴士劍.數據安全與編程技術[M].清華大學出版社,2005.
[2]劉偉.數據恢復技術深度揭秘[M].電子工業出版社,2010.