摘 要:從信息化建設的角度出發,對信息化建設中的RAID存儲技術進行了介紹,分析了在使用RAID技術的過程中不同RAID級別的優點和不足,并對不同的信息化建設部門采用不同的RAID模式給了一些建議。最后,對RAID的實現方式和日常維護進行分析說明,以期在信息化建設中能充分發揮RAID的作用。
關鍵詞:信息化; RAID; 存儲; 容錯
中圖分類號:TN914文獻標識碼:A
文章編號:1004-373X(2010)17-0059-05
Analysis of RAID Technology Applied in Informatization Construction
SHI Fang-xia1, YUE Feng-zhi2
(1. School of Information Engineering, Tibet Nationalities College, Xianyang 712082, China;
2. Library, Tibet Nationalities College, Xianyang 712082, China)
Abstract: The RAID storage technology is introduced from the informatization construction. The advantages and shortages of RAID's different level in the process of using RAID technology are analyzed, and some suggestions on different informatization construction departments used different RAID modes are given. The realization method and daily maintenance of RAID are explained.
Keywords: informatization; RAID; storage; fault-tolerance
0 引 言
信息化建設是在國家統一規劃和組織下,在農業、工業、教育、科學技術、國防及社會生活各方面,應用現代信息技術深入開發和廣泛利用信息資源,加速國家實現現代化的過程。隨著計算機網絡技術及通信技術的日益發展,信息化建設已成為一種不可阻擋的潮流。
隨著信息化建設的不斷推進,信息量不斷驟增,原來一直在后臺服務于計算機及通信技術的存儲問題也從幕后走到臺前,而且越來越顯示出它的重要性。在眾多的存儲技術中,RAID技術以其優異的性能在信息存儲中起到了巨大的作用。
1 RAID技術簡介
RAID(Redundant Array of Independent Disks,獨立磁盤冗余陣列)是一種使用多磁盤驅動器來存儲信息的信息存儲系統,它可以使用多種不同的存儲技術來實現不同等級的冗余、錯誤恢復和數據保護功能。通過RAID可以在一個或多個磁盤出現故障的情況下防止數據丟失,而對磁盤陣列的操作與單個硬盤一樣[1],用戶不必規劃數據在各磁盤的分布。因而,磁盤空間的使用率得到了提高,而且磁盤容量幾乎可作無限的延伸。由于存取數據時各個磁盤一起作存取的動作,所以存取更為快捷,大幅加快了數據存取的時間。用RAID技術進行數據信息的存儲是一個符合服務器大容量硬盤、大量數據存儲、保護數據安全性、提高運行速度等綜合要求的信息數據存儲方案。
2 RAID技術的工作原理及特點
2.1 RAID技術原理
RAID系統由兩個主要部件組成:RAID控制器及磁盤陣列。控制器是RAID系統的核心,負責路由、緩沖以及管理主機和磁盤陣列之間的數據流。磁盤陣列把多個磁盤組織起來,由陣列管理程序進行統一管理,而給用戶看到的是一個或多個虛擬盤。當用戶對這個虛擬磁盤進行操作時,這些操作經過管理程序的處理,最終由物理磁盤執行,并將結果告訴給用戶,用戶對磁盤陣列的操作與對一般硬盤進行的操作沒有區別[2]。
RAID使用一組磁盤同時進行I/O操作,從而獲得更大的I/O吞吐量,并依靠存儲冗余信息來保障數據的安全性。RAID可以連接NAS,SAN網絡或直接連到主機服務器上,以網絡連接存儲系統的方式存儲信息、提供服務。
2.2 RAID的特點
2.2.1 高傳輸速率、大數據吞吐量
RAID通過同時使用多個磁盤,提高了傳輸速率。RAID通過在多個磁盤上同時存儲和讀取數據來大幅提高存儲系統的數據吞吐量。RAID可以達到單個磁盤驅動器幾倍至上百倍的傳輸速率,這也是設計RAID的初衷。
2.2.2 超強容錯功能、更高的數據安全性
通過數據校驗,RAID可以實現容錯功能。而普通磁盤驅動器則無法提供容錯功能。RAID容錯是建立在每個磁盤驅動器的硬件容錯功能之上的,所以它提供了更高的安全性[3]。在很多RAID模式中都有較為完備的相互校驗/恢復措施,甚至是直接相互鏡像備份,從而大大提高了RAID系統的容錯能力。
2.2.3 功能冗余
RAID增加了系統的可用性和實時性。其中最為重要的是“熱備份”,它能在系統正常運行的狀態下替換掉出故障的硬盤。當RAID中的硬盤出現故障時,功能冗余保證了數據的安全性。
2.2.4 輔助技術
RAID系統在讀寫用戶數據時需要花費時間來進行數據校驗,這樣就產生了操作瓶頸,使整個系統的性能受到重大影響。為了解決這個問題,RAID系統融入高速緩存、并行處理、助寫盤和數據映射技巧等輔助技術,使RAID的整體運行性能有所提高[4]。
3 RAID技術在信息存儲中的應用
3.1 RAID的級別
3.1.1 RAID 0
RAID 0的主要特點就是條帶化。RAID 0連續以位或字節為單位分割數據,并行讀寫于多個磁盤上,當一組磁盤陣列被條帶化成RAID 0模式時,數據塊被分別存儲在多個磁盤中,讀寫操作時,數據從多個磁盤同時進行,有效地提高了磁盤讀寫的速度。由于讀寫負載是在RAID 0卷的磁盤中平衡的,所以應考慮使用統一型號、容量的硬盤,以提高RAID 0磁盤陣列的讀寫效率和性能。圖1是RAID 0磁盤陣列中數據條帶化。
圖1 RAID 0磁盤陣列中數據條帶化
雖然RAID 0提高了讀寫速度,但它沒有數據冗余,其中的一個磁盤出現故障將影響到所有數據,數據的安全性沒有保障。因此,RAID 0不能應用于對數據安全性要求高的信息化建設單位。
當將磁盤陣列設置成 RAID 0模式時,磁盤陣列的總容量等于該陣列最小磁盤容量乘上磁盤數量。例如:5個300 GB的硬盤和一個250 GB硬盤組成RAID 0,則可得到的磁盤空間是1 500 GB(250 GB×6)。
RAID 0的應用建議:圖像編輯、非最終版本的預編輯應用系統、需要高性能的應用環境以及對數據的傳輸率要求較高的單位。
3.1.2 RAID 1
當把一個磁盤陣列設置成RAID 1模式時,事實上是建立了一個RAID鏡像,即相同的數據被同時寫到兩個對等的硬盤上,讀寫操作也是在兩個硬盤上同時進行[5]。
在執行讀操作時,RAID 1使用查詢技術和負載均衡技術,使硬盤讀操作用最有效的方式分布執行。只要有一個硬盤相對空閑或磁頭距所讀數據較近,則該讀操作將在該磁盤首先執行。RAID 1可以提高讀取性能和安全性,但RAID 1是磁盤陣列中單位成本最高的陣列模式,它的存儲容量只有陣列總容量的一半。圖2為RAID 1鏡像模式下,兩個磁盤上數據的分布示意。
圖2 兩個磁盤上數據的分布示意
RAID 1是通過磁盤數據鏡像實現數據冗余,在成對的獨立磁盤上產生互為備份的數據。一個硬盤出錯,另一個鏡像硬盤可繼續工作,該功能被稱為容錯。如果將損壞的硬盤更換為一個新硬盤,則另一個好的硬盤會自動將其數據鏡像到新的硬盤上,而不需要重組失效的數據。
考慮RAID 1的特點,在使用RAID 1時需使用偶數量的磁盤,也就是說RAID 1至少由兩個硬盤或更多的偶數塊硬盤組成。
設置成RAID 1模式的陣列容量等于兩個磁盤中較小那個的容量。例如,一個100 GB的硬盤和一個120 GB的硬盤組成RAID 1,則其RAID 1卷的容量等于100 GB。
RIAD 1的建議應用環境:財務部門、付款部門、需要高可用性以及對數據的安全有較高要求的部門。
3.1.3 RAID 0+1
RAID 0+1也被稱為RAID 10標準,特點是鏡像/條帶。實際是將RAID 0和RAID 1相結合的產物,在連續地以位或字節為單位分割數據并且并行讀/寫的同時,為每一塊磁盤作磁盤鏡像進行冗余[4]。既可以利用 RAID 0的讀寫速度提高存儲性能,又可以利用RAID 1的鏡像保護數據。它的優點是同時擁有RAID 0的超凡速度和RAID 1的數據高可靠性,但是CPU占用率十分高,而且磁盤的利用率也比較低。
設置RAID 10至少需要安裝4塊硬盤,當把4塊磁盤設置成RAID 10后,每一對磁盤被設置成鏡像,每一對磁盤之間被設置成條帶以便數據快速傳輸。圖3為RAID 10的數據分布及鏡像示意。
圖3 RAID 10的數據分布及鏡像示意
設置成RAID 10模式的陣列容量等于最小磁盤的容量乘以磁盤個數除以2。
RAID 10的建議應用環境:圖像處理、數據庫服務器、一般文件服務器、備份磁盤驅動器及在信息化建設中對存儲速度和數據安全性都有要求的單位可以考慮用這種磁盤陣列模式。
3.1.4 RAID 3
RAID 3是將數據條塊化分布于不同的硬盤上,并使用簡單的奇偶校驗,用單塊磁盤存放奇偶校驗信息。如果一塊磁盤故障,奇偶盤及其他數據盤可以重新產生數據,奇偶盤故障則不影響數據使用。
RAID 3對于大量的連續數據可提供很好的傳輸率,但對于隨機數據來說,奇偶盤會成為寫操作的瓶頸,傳輸速度會受到影響[6]。
RAID 3特別適合在大型、連續性檔案以寫入為主的如繪圖、數據倉儲、視訊編輯、影像、高速數據擷取、多媒體等單位應用。
3.1.5 RAID 5
RAID 5是分布式校驗的條帶塊模式,讀/寫指針可同時對陣列設備進行操作,提供了更高的數據流量。RAID 5不單獨指定奇偶校驗盤,而是在所有磁盤上交叉地存取數據及奇偶校驗信息,任何一塊硬盤上的數據丟失,均可以通過校驗數據推算出來。圖4為RAID 5條帶化數據和校驗信息存放示意。
RAID 5是目前應用最廣泛的RAID技術。它和RAID 3最大的區別在于校驗數據是否平均分布到各塊硬盤上。RAID 5具有數據安全、讀寫速度快,空間利用率高等優點,應用非常廣泛,但不足之處是如果一塊硬盤出現故障,整個系統的性能將大大降低[7]。
圖4 RAID 5條帶化數據和校驗信息存放示意
盡管如此,RAID 5 還是被認為是最富有彈性的 RAID 級別。在信息化建設中是一種不錯的信息數據存儲選擇,設置 RAID 5至少需要3塊硬盤。
RAID 5的建議應用環境:文件和應用服務器、網站、電子郵件和新聞服務器、企業內網服務器等。
3.1.6 RAID 6
RAID 6是由一些大型企業提出來的私有RAID級別標準,其全稱為“Independent Data Disks with Two Independent Distributed Parity Schemes(帶有兩個獨立分布式校驗方案的獨立數據磁盤)”。RAID 6不同于RAID 5的只能為每一個磁盤提供一個校驗值,RAID 6為每一個磁盤提供二個校驗值(見圖5)。由于校驗值的使用可以達到恢復數據的目的,因此多增加一位校驗位,數據恢復的能力就越強。同時RAID 6陣列中允許出現故障的磁盤可以達到2個,但相應的陣列磁盤數量最少也要4個。不過在增加一位校驗位后,就需要一個比較復雜的控制器來進行控制,同時也使磁盤的寫能力降低,并且還需要占用一定的磁盤空間。因此,這種RAID級別應用還比較少,圖5為RAID 6校驗數據存放示意圖。
圖5 RAID 6校驗數據存放示意圖
RAID 6的優點如下:
容量較好,可用N-2塊磁盤的容量;可靠性極高,能在雙重故障的情況下恢復數據,解決了SATA磁盤和低端磁盤經常出現故障和讀/寫錯誤的問題。但也存在著不足之處:寫入性能較低,僅為RAID 0的六分之一。
3.1.7 RAID 7
RAID 7是一種新的RAID標準,RAID 7不僅僅是一種技術,還是一種“存儲計算機”(Storage Computer)。RAID 7與其他 RAID標準有明顯區別。 RAID 7等級是至今為止,理論上性能最高的RAID模式。在RAID 7中,多個硬盤組成一個“柱子”,它們都有各自的通道。這樣做的好處就是在讀/寫某一區域的數據時,可以迅速定位,不會因單個硬盤的限制,同一時間只能訪問該數據區的一部分。
另外,RAID 7可完全獨立于主機運行,不占用主機CPU資源。RAID 7是一套實時事件驅動操作系統,主要用來進行系統初始化和安排RAID7磁盤陣列的所有數據傳輸,并把它們轉換到相應的物理存儲驅動器上。通過存儲計算機操作系統來設定和控制讀寫速度,可使主機I/O傳遞性能達到最佳。如果一個磁盤出現故障,還可自動執行恢復操作,并可管理備份磁盤的重建過程。
RAID 7主要有如下的特性:
所有的I/O傳輸都是異步的,因為它有自己獨立的控制器和帶有Cache的接口,與系統時鐘并不同步。
如果RAID 7有N個磁盤,那么除去一個校驗盤(用作冗余計算)外,可同時用N-1個主機系統隨機發出的讀/寫指令,從而顯著地改善了I/O性能。
RAID 7系統內置實時操作系統還可自動對主機發送過來的讀/寫指令進行優化處理,以智能化方式將可能被讀取的數據預先讀入快速緩存中,從而大大減少了磁頭的轉動次數,提高了I/O速度。RAID 7可幫助用戶有效地管理日益龐大的數據存儲系統,并使系統的運行效率提高至少一倍以上,滿足了各類用戶的不同需求。
3.1.8 RAID 5E
RAID 5E(RAID 5 Enhencement)是在 RAID 5級別基礎上的改進,與RAID 5類似,數據的校驗信息均勻分布在各硬盤上,但是,在每個硬盤上都保留了一部分未使用的空間,這部分空間沒有進行條帶化。RAID 5最多允許兩塊物理硬盤出現故障[8]。
由于RAID 5E是把數據分布在所有的硬盤上,性能會比RAID 5加一塊熱備盤更好。當一塊硬盤出現故障時,有故障硬盤上的數據會被壓縮到其它硬盤上未使用的空間,邏輯盤保持RAID 5級別。圖6是RAID 5E的結構及工作原理。
3.1.9 RAID 5EE
與RAID 5E相比,RAID 5EE的數據分布更有效率,每個硬盤的一部分空間被用作分布熱備盤,它們是陣列的一部分。圖7是RAID 5EE的數據分布、校驗數據分布以及熱備空間分布示意。
圖6 RAID 5E的結構及工作原理
圖7 RAID 5EE的數據分布、校驗數據分布
以及熱備空間分布示意
圖7中D為數據,P為校驗信息,S是熱備的空間。
從圖7中可以看出,被預留出來的熱備空間是均勻分布在硬盤上的。當陣列中一個物理硬盤出現故障時,數據重建的速度會更快,這與它的數據分布結構是緊密相關的[9]。
3.2 RAID的實現方式
磁盤陣列有兩種方式可以實現,那就是“軟件陣列”與“硬件陣列”。
軟件陣列是指通過網絡操作系統自身提供的磁盤管理功能將連接的普通SCSI卡上的多塊硬盤配置成邏輯盤,組成陣列。
如微軟的Windows NT/2000 Server/Server 2003和NetVoll的NetWare兩種操作系統都可以提供軟件陣列功能,其中Windows NT/2000 Server/Server 2003可以提供RAID 0,RAID 1,RAID 5;NetWare操作系統可以實現RAID 1功能。軟件陣列可以提供數據冗余功能,但是磁盤子系統的性能會有所降低。
硬件陣列是使用專門的磁盤陣列卡來實現的,現在的非入門級服務器幾乎都提供磁盤陣列卡,不管是集成在主板上或非集成的都能輕松實現陣列功能。硬件陣列能夠提供在線擴容、動態修改陣列級別、自動數據恢復、驅動器漫游、超高速緩沖等功能。它能提供性能、數據保護、可靠性、可用性和可管理性的解決方案。磁盤陣列卡擁有一個專門的處理器和專門的存貯器,用于高速處理和高速緩沖數據。這樣一來,服務器對磁盤的操作就直接通過磁盤陣列卡來進行,因此不需要大量的CPU及系統內存資源,不會降低磁盤子系統的性能。
3.3 RAID的安全管理
(1) 注意檢查運行日志文件
磁盤陣列的日志文件詳細記錄了磁盤陣列內部運行情況,包括發生的每個事件序列號、嚴重級別、相關的服務器IP地址、有關設備的具體位置及事件發生的時間等內容,這些信息對于診斷和排除磁盤陣列故障十分有用。
(2) 注意備份系統配置參數
建立磁盤陣列系統后,要及時記錄磁盤陣列的邏輯配置、物理配置、狀態配置等參數,具體包括使用的每個邏輯盤大小、RAID類型、條帶容量、數據寫人磁盤方式,由哪些物理磁盤組成,每個物理磁盤的通道號、目標序列號、生產廠家、型號、容量、陣列控制器的型號等。
(3) 定時備份重要數據
配備了磁盤陣列并不意味著可以高枕無憂。基于設備投入成本、技術復雜性等因素,無法同時采用陣列控制器冗余、磁盤冗余、熱備用磁盤、備用電池或雙UPS電源供電等技術,所以對重要業務數據一定要備份。數據備份的介質可以是磁帶、可讀寫光盤,或磁盤。備份方式可以是通過操作系統本地備份或通過網絡系統遠程備份。
(4) 建立熱備用磁盤
熱備用磁盤也是RAID技術的又一項技術,當磁盤陣列中一個正在使用的物理磁盤發生故障后,一個待機的磁盤會立刻上線,代替此故障盤,陣列控制器根據邏輯驅動器上的冗余數據,通過校驗算法把原來存儲在故障盤上的數據重建到熱備用磁盤上。
熱備用磁盤必須符合三個條件:一是空間容量不小于故障盤的容量;二是平時必須是空盤,即閑置不用;三是陣列控制器自動重建數據功能正常有效。在一個陣列中,只能有一個熱備用磁盤。熱備用磁盤增加了一次數據逃生的機會,系統管理員要及時更換發生故障的磁盤,并指定新的熱備用磁盤。
(5) 定期檢查數據一致性
通過對RAID互為鏡像的磁盤數據一致性檢查;或對主數據塊進行重新校驗,將產生的校驗數據與冗余數據比較,可以發現不一致的錯誤數據。一致性檢查一般間隔時間以每周1~2次為宜[10]。
4 結 語
目前成熟的RAID技術有RAID 0,RAID 1,RAID 3,RAID 5,RAID 10,RAID 35等,在信息化建設的過程中,不同的單位要根據自己的實際需要合理地選擇自己的RAID模式,通過靈活配置磁盤陣列來獲得更加符合其要求的磁盤存儲系統。這樣,在信息化建設中,RAID技術才能發揮最大的作用,信息化建設才會更加有成效。
參考文獻
[1]汪一澈.RAID技術和級別的分析和應用[J].福建電腦,2007(3):61-62.
[2]石峰.RAID技術在FTP服務器上的應用[J].太原大學學報,2009,38(6):137-139.
[3]李斌,李曼.RAID技術在iSCSI環境中的應用研究[J].湖北職業技術學院學報,2008,9(3):89-90.
[4]方文平.RAID技術研究[J].福建電腦,2007(7):42-45.
[5]石方夏.數字圖書館建設中磁盤陣列的應用分析與設計[J].西藏科技,2006(8):41-42.
[6]羅家奇.磁盤RAID技術初探[J].工程技術,2007(31):50-51.
[7]張靜.RAID技術工作原理分析及實現[J].科技信息,2008(32):247-248.
[8]周曉東.淺談RAID技術及其在硬盤播出系統中的應用[J].科技信息,2009(1):513-514.
[9]佚名.什么是磁盤陣列[EB/OL]. [2009-12-07]. http://fix.jiangmin.com/bloger/post/97.html.
[10]李東,楊華.磁盤陣列的安全管理[J].電力信息化,2004(6):57-59.