0 引言
由于信息數據進入高速增長的時代,在滿足存儲容量需求的同時,用戶需要根據數據的特性選擇相應的存儲介質進行存儲以提高存儲系統的性價比。分層存儲系統就是將數據存儲在不同層次的介質中,并在它們之間進行自動或者手動的數據移動和讀寫等操作。因此設計一個數據遷移策略來實現數據在各個存儲層及時有效的遷移是個關鍵的問題。
在數據遷移中,遷移時間的確定尤為重要,它必須考慮到使用存儲的應用需求以及存儲系統本身的特性。例如在數據的容災備份中,遷移時間可根據數據的安全需求來設計;對一些商業存儲系統,遷移時間可根據業務程來設計;而在高性能計算中,由于各個計算任務的規模和復雜度等各不相同,計算和存儲過程不明確,遷移時間設計就比較復雜。同時,高性能計算追求較快的存儲速度,因此提高高速存儲層的利用率也非常重要。
目前國內外對分層存儲中數據遷移技術進行了大量的研究,但對遷移時間研究相對較少。文獻[13]根據存儲容量來設置數據遷移的時問。若將容量設置過高,可能會因為存儲層內數據增至過快而導致遷移失敗,設置偏低會降低存儲的使用率,因此遷移時間的設計需要分析數據的增長趨勢和存儲系統傳輸速率對遷移的影響。
1 分層存儲和數據遷移
分層存儲系統一般包括三部分。第一部分是磁盤池,它包括了多種存儲介質的物理磁盤,并可通過這些介質的物理特性進行分層管理。例如由SSD硬盤、SATA硬盤構建的存儲系統中,可分為SSD層和SATA層。第二部分是位于中間的存儲控制部分,它具有管理數據分布和遷移、實現存儲虛擬化等功能。最后部分是提供給不同應用使用的邏輯存儲系統,它一般由Volume組成。整個分層存儲基本架構如圖1所示。
圖1 分層存儲系統的基本架構
分層存儲控制層中的數據遷移實際上是在多層存儲內基于策略的自動放置文件的過程。遷移一般過程是:根據策略規則,系統在指定的存儲層創建和擴展一些文件;當遷移被觸發且執行時,將文件價值滿足遷移條件的文件重定位到相應的存儲層,實現遷移。其中文件開始遷移的時間稱為遷移時間。文件價值指的是文件在整個文件系統中的重要性和活躍度,它決定了數據遷移策略能否有效執行。遷移條件根據實際需求來設定,由遷移條件決定參與遼移的文件。
2 遷移時間的分析與設計
某一層存儲的數據遷移時間與存儲容量相關,但簡單或憑經驗去設置一個容量值來確定遷移時間是不合理的,它沒有反映存儲容量的變化趨勢,也沒有結合存儲設備的特性和應用需求來使用存儲,同時可能造成因容量增長過快而無法及時地遷出數據的情況,即遷移堵塞。本文從存儲系統的傳輸速率、存儲層使用量和使用量的變化趨勢三方面來考慮遷移時間,下面給出它們的描述。存儲系統的傳輸速率。存儲系統的傳輸速率包括讀出/寫入存儲系統的速率和系統內部數據在各存儲層遷移的速率。它們受限于文件系統、網絡、raid設置、存儲系統和存儲介質等因素。實際的速率值取各相關因素對應速率中的最小值。
存儲使用量。記錄存儲介質內存放數據的容量大小。它包括存儲層的使用量和存儲系統的使用量。
存儲層使用量增長率。反映存儲層的使用量在某個時間段的增長趨勢。
如果存儲層的使用量在某個時間段按固定的速率增長,稱之為線性增長(1inear increase,LI),反之是非線性增長(nonlinear increase,NI)。在非線性增長盼隋況下,如果增長率高于固定的增長率,表明存儲層使用量高速增長(SU—per linear increase,SLI),反之表明存儲層使用量低速增長(10w linear increase,LLI)。圖2顯示了LI、SLI和LLI在一段時間內存儲層容量的變換。
圖2 LI、SLI和LLI下存儲層使用量的變化
在數據存儲過程中,如果存儲層使用量增長過快,并且存儲系統本身傳輸速率比較低,就需要對它進行數據遷移,以免遷移堵塞導致遷移失敗。
遷移上限和遷移下限。它們是一個使用量的閥值,遷移上限大于或等于遷移下限。
由上述遷移條件,本文設計了遷移時間的判定過程,如下:
(1)定時監控某存儲層使用量,當其超過遷移下限a時,進入(2)。
(2)若使用量繼續增加超過遷移上限b時(b>a),執行(4)。反之進入第(3)步。
(3)若寫入存儲系統的速率超過存儲系統內部數據遷出最大速率時,或在單位時間t內滿足表達式(2),則執行第(4)步。反之轉到第(2)步。
(4)執行數據遷移。
(5)數據遷移完畢。
本文結合使用量變化趨勢、傳輸速率和遷移上下限來設定遷移時間,能有效的緩解遷移堵塞。主要方法包括:
降低式(2)中固定速率,將符合遷移條件的文件數據提前遷移;降低遷移下限,擴大可執行遷移的時間范圍。遷移上限和下限的設置可改變存儲層的利用率,將遷移上限和下限適當提高,就可提高相應存儲層的利用率。整個判定過程考慮了系統的硬件特性和應用的需求,并采用了數學公式進行定量分析,這為數據遷移的實現提供了很好的基礎。
3 遷移時間在數據遷移中的實現
根據前文的描述,一個完整的數據遷移策略必須考慮分層存儲設備的特性、應用的要求和數據的特征等方面,從遷移時間、文件的價值和遷移策略等來制定。
3.1文件的價值
不同的應用決定文件價值的因素各不相同。這些因素有文件的訪問時限、I/O熱度,文件大小和文件安全性等等。本文主要分析遷移時間的作用,為避免其它因素對實驗結果造成影響,僅考慮文件的訪問時限,下面給出它的定義。
文件訪問時限(ACCAGE)。該參數記錄了數據遷移的時間與應用程序上次訪問該文件的時間之間的間隔。假設執行遷移的時間為T,文件a最近被訪問的時間為ta,則ACCAGE=T—t。若ACCAGE越大,表明在本次遷移之前,文件a越久沒有被應用程序訪問,因此文件a的價值就越低。
3.2文件信息記錄
遷移過程中的遷移時間、文件價值和遷移條件等都需要準確的參數值。Symantec提供的FCL(file change log)工具可以記錄文件系統中文件和目錄的變化。盡管它不能記錄實際數據的變化,但可通過文件的變化來記錄數據大小、I/O讀寫、訪問時間等信息。同時,我們可以通過加載FCI。的頭文件fcI.h和vxfsutil.h來使用FCL。提供的API,編寫相應的程序。本文采用FCL工具來獲取文件的信息并計算相關參數作為數據遷移的文件價值。
3.3結合遷移時問的遷移策略
數據遷移解決的是數值放置的問題。數據放置包括初始數據的放置和遷移后數據的放置。一般情況,初始數據是即將要使用的數據,可放在高速存儲層上。如果高速存儲層被完全使用,可自動將初始數據保存到下一層存儲上以實現初始數據在整個分層存儲的安全放置。
數據遷移需要根據實際需求確定遷移時間和遷移條件。當數據開始遷移時,系統將滿足遷移條件的文件放置到指定存儲層。遷移條件可根據應用需求來設定。例如可設置為一小時能未放訪問的數據被遷移等。存儲層的數據遷移過程如下:
(1)啟動遷移監控器。
(2)記錄文件信息,并按照文件價值大小排序。
(3)到達遷移時間,開始遷移滿足遷移條件的數據。
(4)遷移完成后,重新記錄文件信息。
(5)返回遷移監控器,等待下一次遷移啟動。
圖3是結合遷移時間的數據遷移流程。
圖3 加入遷移時間的數據遷移流程
4 驗證
為測試遷移時間在遷移策略中所起的作用,本文將DX80和MSAl000存儲整列提供的Volume整合為分層存儲系統。
該存儲系統通過4GB的光纖與上海大學自強3000高性能集群機相連。自強3000集群機主要運行與高性能計算相關的科學計算,計算任務涉及材料、力學、能源、生物、化學和汁算機體系結構等領域,并運行了多種商業并行軟件和自編并行程序。該集群機在2004年全球超級計算機TOP500排名列126位,計算速度領先于劍橋等英國大學所擁有計算機,超過日本多數大學,超過俄羅斯各大學計算機。2004年中國TOP 100名列第6位,國內高校名列第2位:1 4。
DX80和MSAl000兩臺存儲整列通過千兆以太網相連,為高性能計算提供存儲服務。其中DX80內部采用了8GB的交換總線,磁盤的持續讀寫速率為3020MB/S傳輸速率,MSAl000的平均傳輸速率也達到了320MWS。由于傳輸大小文件的速率各不相同,千兆以太網的實測最高傳輸速率在40—80MWS之間,而光纖的實測傳輸速率是千兆加入遷移時間的數據遷移流程以太網的3—4倍左右。因此,本文構建的兩層存儲測試環境中傳輸速率主要受限于千兆以太網的傳輸速率。本文稱DX80提供的存儲為DX層,MSAl000提供的存儲層為MSA層,容量分別為99GB和160GB。各個存儲層的相關信息見表1。
表1 DX和MSA存儲層的相關信息
我們將以存儲層容量作為判定遷移時間的數據遷移策略和結合了本文遷移時間的數據遷移策略依次部署到該分層存儲系統上,并將存儲容量的80%作為容量閥值,該值決定前者的遷移時問。在本文的遷移時間設計中,遷移上下限分別設置為存儲層容量的90%和80%。
由于DX80存儲整列的傳輸速率相對較快,所以我們希望在高性能計算下提高DX80存儲層的使用率。因此遷移策略設置如下:新數據被認為是即將要使用的數據,其文件價值最高,被首先被存放在高速的DX80存儲層;其它文件價值按先后創建的順序自小到大排列;若DX80到達遷移時間,文件價值小的數據將被遷移到MSA層。
圖4顯示了在兩種遷移策略作用下,DX存儲層使用量和存儲系統存儲使用量的變化.其中DX層一1是僅考慮存儲容量的遷移策略,DX層一2是本文設計的遷移策略,上面的虛線表示遷移上限,下面的虛線表示遷移下限和容量閥值。由圖可知,DX層一1的使用率整體低于DX層一2,并且隨著系統存儲量的加速增長,出現了遷移堵塞。
圖4 兩種遷移策略下的DX層和系統使用量變化
本文設計的遷移策略在數據長時問快速增長的極端情況下,也會出現遷移堵塞,但可以通過降低使用量變化公式中的固定速率來延遲遷移堵塞。圖5的DX層-3和DX層-4中,固定速率分別為60MB/S和50MB/S,在相同的數據高速增長情況下,DX層-4能夠將遷移堵塞延遲到DX層3的4.9倍的時間發生。在實際應用中,存儲層的存儲空間遠遠大于本文的實驗環境,因此該方法具有可行性。
圖5 兩種固定速率下DX層的使用量變化
5 結束語
在遷移時間的設計過程中,通過數學公式能容易判斷存儲層使用量的變化趨勢。將變化趨勢與系統的傳輸速率相結合,這能保證存儲層使用量在可控的范圍內波動,并在數據高速增長的情況下延緩了遷移堵塞,也就可以使用遷移上下限來提高存儲層的使用率。本文為遷移時間的設定提供了理論方法,但在具體應用中仍然需要考慮文件價值、遷移策略等其它因素才能實現數據的合理遷移。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:分層存儲中數據遷移時間的設計
本文網址:http://www.guhuozai8.cn/html/support/11121510373.html