習 奇,葉光明(、武漢郵電科學研究院,430074;、武漢烽火眾智數字技術有限責任公司,430074)
基于視頻業務的RAID 5重建方式的優化設計
習 奇1,葉光明2
(1、武漢郵電科學研究院,430074;2、武漢烽火眾智數字技術有限責任公司,430074)
本文結合通用的視頻監控業務監控時間長、不間斷、讀取的錄像相對少、隨機性大的特點,在LINUX 軟RAID MD 模塊的基礎上,提出了一種優化視頻業務在線重建效率的方法:在RAID5重建時將熱點視頻讀數據和視頻寫數據順序的遷移到代理存儲服務器上,待RAID 5 重建結束時,將視頻寫數據遷移到RAID 5中,使RAID 5 恢復正常。實驗結果表明,該方法大大提高了視頻業務在線重建效率也提高了數據的安全性。在視頻監控行業特別是在單個RAID 5視頻監控路數少于24路的情況有廣闊的運用前景,對于多路數視頻監控也有一定的參考價值。
視頻監控;軟RAID 5;數據在線重建;可靠性
隨著國家對安防監控行業的重視,安防監控行業朝著數字化、大容量、智能化、一體化等方向快速發展。視頻監控行業存儲的數據量成倍的增長,對存儲的可靠性、容錯性要求也越來越高,如公安、金融等視頻監控等重要領域對重要數據的災難性性丟失是零容忍的。RAID 5通過冗余校驗算法可以使系統盤在一塊盤故障的情況下仍能正常工作,一定程度上提高了系統的容錯性。但RAID5在重建過程中如果再次發生某個成員磁盤故障,整個RAID 5的數據將會丟失,并且重建時間越長,數據丟失的概率將越大。而視頻監控業務一般是不間斷的,所以大部分數據重建都是發生在業務不中斷的情況下,這樣存儲系統的壓力就更大,使得重建的時間大大的變長,加大了數據丟失的可能性。因此,可靠的增加RAID 5的在線重建效率是視頻存儲領域中急待解決的一個重要課題。
1.1傳統RAID5重建過程
RAID5 數據重建也稱數據恢復是指RAID5 中的成員盤故障后,MD模塊會將故障的硬盤從 RAID5 中踢掉,用熱備盤頂替故障盤的過程。RAID5 從頭到尾以條帶為基本的顆粒按奇偶校驗的方式進行數據重建直到將故障盤的有效數據全部恢復到熱備盤中。在 RAID 5中系統對重建速度進行了限定,重建帶寬的上下閾值一般默認為 200MB/s 和 1MB/s,可根據實際情況調節以保證優先響應用戶業務請求,同時設置了一個的 128K 的默認重建窗口。當重建速率低于閾值1MB/s時,則進行下一個窗口的重建;如果當前重建速率高于200MB/s或者有正常的 I/O 請求在等待時,則需要休眠500 毫秒給業務 I/O 讓帶寬。
1.2 傳統在線重建的缺陷
由于RAID5是通過異或運算來恢復故障盤上的數據,所以對故障盤的一次讀請求,會導致對RAID 5中其他正常磁盤也產生讀請求;故障盤上的一次寫操作也需要讀出RAID 5中其他盤上的數據。另一方面,在視頻監控行業中,除了正常的視頻存儲和錄像回放業務外,當有一塊故障盤時RAID 5內部會有重建請求業務,這樣重建過程中視頻讀寫I/O 請求和內部重建請求會競爭有限的磁盤帶寬。而且這兩種I/O 請求導致磁頭在重建位置和用戶負載區域頻繁切換磁道,進而使讀寫性能降低。基于這兩個原因,可以從兩方面來加快重建速度,一方面是提高最低重建帶寬,另一方面是減輕用戶負載。提高最低重建帶寬會導致用戶請求的響應時間延長,將導致視頻回放的卡頓和延遲;而減輕用戶負載可以將負載遷移到空閑的設備上,使RAID 5 減輕了帶寬的壓力和頻繁的磁盤尋道時間,同時可以使可用性和可靠性達到最佳的均衡效果。
2.1RAID 5 重建方式優化的難點和關鍵策略
2.1.1RAID 5 重建方式優化的難點
維護數據一致性的難點主要體現在RAID 5的遷移和數據回遷過程中如何保證元數據正確可靠性;另一方面體現在RAID5對I/O 的并發操作。本文主要利用Linux 內核擁自旋鎖、讀寫鎖、原子操作、以及進程的休眠等待等技術來處理數據的一致性問題。
2.1.2 索引維護機制:重定向請求存儲錄像索引信息表和熱點錄像回放索引信息表中分別記錄著重定向數據和熱點讀數據的索引信息。這些索引信息在RAID 5重定向和數據恢復階段時都需要頻繁地被訪問。利用基樹維護索引信息可以提高重定向和回遷階段元數據的查找效率;本文使用鏈表將寫重定向索引信息維護起來,同時保證鏈表的有序性,在數據恢復的時候合并鏈表中相鄰的物理地址,減少了遍歷整棵重定向基樹的元數據進行回收操作時增加的不必要開銷,減少發送到重建完成RAID 5 的 bio 數量,提高回遷的效率。

圖2 .1 RAID 5 重建優化整體框圖
2.1.3數據恢復機制:用一個雙向鏈表將葉子節點中表示寫重定向請求的元數據鏈接起來,保證鏈表的有序性,解決了有序遍歷重定向請求時,葉子節點中有很多是不需要恢復的熱讀重定向請求數據,解決了基樹完整遍歷導致的很多開銷的問題,這大大優化回收開銷的效率。
2.2RAID 5 重建優化的框架設計
本文對RAID 5 重建的優化主要是在Linux RAID 抽象層添加了用戶模塊、識別熱數據模塊、代理模塊、數據重定向模塊以及數據回收模塊,在塊設備層添加了代理存儲設備,通過這些模塊來轉移RAID 5 在線重建的壓力,保證數據的可靠性。其結構框圖如圖2.1所示。下面是具體的功能介紹;
1)用戶模塊:用于對指定代理存儲設備、代理空間進行參數配置;
2)代理模塊:主要控制在代理存儲設備上被遷移的熱點數據的數據布局方式;
3)識別熱點數據模塊:維護識別熱讀數據請求的日志表信息;
4)數據重定向模塊:根據重定向日志和熱點數據日志信息,決定數據要讀寫的具體設備和位置。
5)數據恢復模塊:數據重定向完成后,數據恢復模塊根據視頻索引的日志信息將重定向的寫數據從代理設備中讀出并回寫到重建完成的RAID 5中。

圖3 -2 寫線程工作流程
本文用多線程來優化視頻數據的恢復效率,錄像回放線程從代理存儲設備上讀出數據,并保存在共享緩沖池中,用雙鏈表鏈接起來。錄像存儲的線程不斷地從共享緩沖池中取出數據寫到重建完成的RAID 5中,共享緩沖池需要用自旋鎖來保證互斥訪問。同時將數據恢復的優先級設置為低于視頻存儲和錄像回放業務I/O 的處理的優先級,提高數據恢復中系統的穩定性和可靠性,具體的寫線程工作流程如圖3-2所示。
4.1測試環境
本文按實際運行條件搭建了一套網絡視頻監控系統進行測試工作。如圖4-1所示為測試系統的組成結構圖。圖中NRU服務器是用于錄像存儲的模塊,模擬PU服務器是用于模擬實時視頻流的,存儲子系統是基于優化后的軟RAID存儲子系統,SATA 硬盤放在存儲子系統中,可以通過CU 進行RAID 5 的創建和刪除等操作。

圖4 -1 測試系統的組成結構圖
4.2測試方法和結果
通過web界面控制實時視頻回放并結合Iometer工具(V2006.07.27)進行測試。在代碼中記錄下重建開始的時間和重建結束時間,兩者相減就是重建的時間。為了避免重建時間過長,通過fdisk命令對在單個 SATA 磁盤上建立 5G 的分區,分別創建4塊盤的RAID5和8塊盤的RAID 5,條帶為64K,進行測試。實驗中通過三種不同比例的視頻讀寫業務進行實驗:第一種負載的寫比例約占75%,第二次寫的比例約50%,第三種全部是讀請求。

表4.1 不同比例讀寫業務下優化前后的重建時間(時間單位:秒)
在不同的視頻存儲和錄像回放業務比例下對比測試了優化前后RAID 5的重建性能。測試結果表明:當寫的業務占75%時,優化后的在線重建時間縮短了40%左右,當視頻錄像業務占50%時也能縮短30%以上的在線重建時間,當都是視頻回放業務的情況下,重建優化效果不明顯,但是視頻監控行業中,一般情況下是視頻存儲的業務多于視頻回放的業務,所以本文對RAID 5重建的優化比較適合視頻監控行業,也適用于寫請求大于讀請求的應用場景。
[1]羅麗麗.視頻存儲優化技術研究與應用:[碩士學位論文][D].長沙:國防科學技術大學,2009.
[2]劉軍平.磁盤存儲系統可靠性技術研究:[博士學位論文][D].武漢:華中科技大學,2011.
[3] 毛波.一種提高磁盤陣列重建效率的緩存替換算法.華中科技大學學報(自然科學版),2011,39(6): 54~57
習奇(1988一 ) 男,湖北天門人,武漢郵電科學研究院碩士研究生,研究方向:網絡存儲;
葉光明,男,烽火科技高級工程師,碩士研究生導師,研究方向:軟件工程,網絡軟件,存儲網絡等。
Optimal Design of Reconstruction of RAID 5 Based on Video Services
Xi Qi1,Ye Guangming2
(1.Wuhan Research Institute of Posts and Telecommunications;2.Wuhan FiberhomeDigital Technology Co., Ltd.)
In this paper,commoned on characteristics in video surveillance,such as surveillance for a long time,uninterrupted,relatively few video read,randomness.Then based on LINUX software RAID MD module,proposed an efficient video services online reconstruction methods:the hot video read data and write data to rebuild the video sequence in RAID5 storage migration to the proxy server,RAID 5 rebuild until the end of the migration of video to write data to RAID 5.Theexperimental results show that the method improves the efficiency of the reconstruction online video services,which also improves the security of the data. In particular,the video surveillance industry has broad prospects for the use of video surveillance in a single RAID 5 ones less than 24 road cases,multiple ones for video surveillance also has some significance.
Video Surveillance;Software RAID 5;Data Rebuild Online;Reliability
2014—07—09