張 瑛
ZHANG Ying
(中航飛機西安飛機分公司,西安 710089)
企業通常采用上一套應用配置一套服務器和存儲的項目式系統建設模式,經過一段時間的發展,在IT系統架構內往往積累了多套各種類型及品牌的存儲設備。較有實力的企業,都搭建了基于SAN的存儲網絡,接入了核心存儲設備及服務器,但管理上可能仍然是一套應用配一套服務器及存儲設備的豎井模式。由企業業務系統的持續快速增長帶來數據膨脹的壓力也帶來了更多的數據遷移需求,無論是硬件設備還是應用系統的更新換代都將面臨數據遷移的問題。
數據遷移技術屬于存儲管理的核心技術,承擔著存儲設備升級、維護以及數據備份、歸檔及恢復過程中數據遷移、調度的繁重任務,數據遷移的效率及可靠性直接影響著整個系統的性能優劣及數據安全。本文將對存儲系統中現行的各種數據遷移技術逐一進行介紹,并對它們的優缺點進行比較。
存儲系統的數據遷移技術[2]從其操作層面上可以分為應用層、系統層和存儲層三個層面。它們的執行方式、效率以及對業務系統的影響都不盡相同。系統管理人員在執行數據遷移項目時必須對當前系統的現狀進行充分的調研,對各種數據遷移技術進行充分的評估,在保證數據安全的前提下選擇對業務系統影響小的遷移技術,并且在項目實施過程中必須進行充分的測試工作。
在軟件層面實現數據存儲位置的遷移可以大致分為兩種,一種是利用應用軟件自身的遷移功能,另一種是利用專業的數據管理軟件進行自動的數據遷移。雖然兩種遷移技術都可以實現數據存儲位置的改變,但兩種遷移技術的目標和功能顯然不同。
許多應用軟件都帶有數據遷移功能,例如Oracle數據庫的impdp/expdp、RMAN、表空間遷移等方式都可以實現數據遷移。利用應用軟件自帶工具進行數據遷移具有對業務運行影響較大、遷移時間較長的缺點,但也具有可靠成熟、數據安全性高、可以實現跨平臺遷移(部分應用)等優點。
數據備份歸檔軟件、分層存儲管理軟件(HSM)等專業的數據管理軟件可以實現數據在不同性能的存儲設備之間自動遷移,當然這是依據用戶事先制定的策略來執行。備份軟件的功能是將某一時間點的生產數據存放在不同的存儲位置或存儲介質,當生產系統發生故障或災難時可以利用仍然存在的數據副本對生產數據進行恢復,從而保證了數據安全。分層存儲管理軟件則依據一定的規則自動的將數據遷移到更高性能或更低成本的存儲介質上,從而提高存儲系統的總體利用率并降低總體成本。很明顯,這些數據遷移是依據策略自動執行的,而并非為了應對硬件或應用系統升級改造。雖然可以利用備份軟件的備份和恢復功能來實現數據的跨存儲遷移,但這可能是更為復雜的方式。
在系統層面可以利用操作系統自帶的功能實現數據存儲位置的遷移,如基于文件系統的復制、邏輯卷遷移、邏輯卷鏡像、磁盤鏡像等等。基于文件系統的復制在所有操作系統下都支持,就是大家都非常熟悉的將文件從一個目錄拷貝到另一個目錄。當然這個目標目錄可以在本機或網絡上的某個位置,目標目錄與源目錄位于不同的存儲設備就實現了數據的存儲遷移。文件復制的方式需要中斷業務運行,遷移速度取決于鏈路及存儲性能以及數據量的大小。遷移完成后需要對應用程序進行設置,并可能需要調整新位置的用戶權限。基于文件系統復制的遷移方式優點是操作過程較簡單,缺點是對業務運行影響較大,遷移速度較慢,而且在一些應用程序直接訪問磁盤的模式下也不被支持。在應用程序支持,應用模式簡單,遷移時間充足或數據量較小的情況下,文件復制可能是最簡單的數據遷移方式。
在某些基于邏輯卷管理的操作系統中(如AIX),支持在后臺將存儲數據的邏輯卷從一塊磁盤遷移到另一塊磁盤,如果兩塊磁盤位于不同的存儲則實現了數據的跨存儲遷移。這種遷移是在線的、對應用程序透明的遷移,在應用程序單機運行的環境中,遷移過程無需中斷應用的運行也無需對應用程序進行任何修改,但在高可用集群等復雜應用模式下,則必須對集群軟件、應用程序等一系列相關參數進行調整才能完成數據的遷移。
通過對存儲數據的磁盤或邏輯卷創建跨存儲的鏡像后再拆除鏡像也可以實現數據的跨存儲遷移。與邏輯卷遷移類似,在單機運行的簡單應用部署模式下這種遷移過程僅在操作系統層面執行,對應用程序幾乎是透明的,而面對集群等復雜的應用模式,遷移過程也變得復雜。
現在基于SAN(存儲區域網絡)的存儲系統已經在大、中型數據中心普及,在存儲層面利用SAN網絡在存儲設備之間直接遷移數據成為更簡單有效的海量數據遷移方案,既能保證大量信息遷移的可靠性,又能保證遷移效率。存儲層的數據遷移不再依賴于應用服務器,而是直接在SAN網絡中的存儲設備之間進行,利用SAN網絡的高帶寬優勢,可以大幅度提高數據遷移效率。應用服務器也由此得以從繁重的數據搬遷任務中解脫出來,系統管理人員則專注于諸如策略制訂、資源分配、任務調度及管理監控等應用層面的服務。
基于存儲層的數據遷移主要有兩種方式,即通過高端智能存儲系統的遷移工具來遷移數據和通過虛擬化存儲來遷移數據。許多高端智能存儲系統都具有數據復制、遷移、鏡像等功能,例如EMC的SRDF、SANCopy,IBM的Metro Mirror、Global Mirror,HDS的TrueCopy等。下面以IBM XIV存儲系統的Data Migration數據遷移工具為例來簡要說明將數據從源存儲遷移到XIV存儲的過程:
1)在SAN交換機上創建XIV存儲到源存儲設備和生產主機之間的zoning;
2)在XIV上面定義遷移的Target,向Target增加用于數據遷移的端口;
3)定義XIV的端口與數據遷移端口之間的連接,并將XIV定義為Linux主機;
4)停止生產主機上應用程序運行;
5)在原有存儲產品上修改mapping,去除需要遷移的LUN到生產主機的映射關系并將其映射到XIV存儲;
6)在XIV上定義數據遷移關系,測試并激活數據遷移關系;
7)在XIV上將遷移LUN映射到生產主機;
8)在生產主機上安裝XIV的驅動程序并識別XIV的LUN,導入卷組,啟動應用;
9)數據遷移完成后,在XIV上面刪除數據遷移關系,在SAN交換機上刪除XIV與源存儲設備的zoning。
我們可以看到,這個遷移過程實際上是修改了存儲映射關系,由源存儲的生產卷直接映射到主機改為通過XIV存儲透明映射到主機,這是遷移的關鍵,映射關系的更改并沒有影響主機對磁盤的識別,應用程序可以立即恢復運行。主機業務的運行在映射關系調整過程中必須中斷,但如果準備充分中斷時間將會很短。實際的數據復制和同步過程對主機是透明的,對主機業務運行的影響很小,由于是利用SAN網絡在存儲之間復制數據,所以吞吐量很大,數據遷移效率很高。由于主要工作在存儲層面完成,即使應用部署在集群模式的多臺主機上,在主機及應用程序上需要執行的操作也很少,整個遷移過程的實施并不復雜。
目前,許多大型數據中心都在構建虛擬化的存儲環境,所謂存儲虛擬化,簡單的講就是在服務器與存儲設備之間插入一個中間層,將存儲的物理實體與存儲的邏輯表示分離開來,服務器只與分配給它們的存儲邏輯卷打交道,而不必關心其數據存放在哪個物理存儲上。存儲虛擬化解決了異構存儲系統在兼容性、擴展性、可靠性、數據遷移等方面的問題。利用虛擬化存儲來實現跨存儲的數據遷移類似于在操作系統上創建鏡像再拆除鏡像,只不過這一操作在虛擬存儲層完成,與主機無關。與前面各種遷移方法比較基于虛擬存儲的數據遷移都更加高效,如果已經構建了虛擬化存儲環境,那么數據遷移過程將不需要在主機上執行任何操作,無論應用系統是單機運行還是集群部署。基于虛擬化存儲的數據遷移,兼容現有主流存儲設備,支持不同廠商不同品牌存儲設備間的數據遷移,遷移效率高,對主機透明,適合于頻繁移動數據的大型企業,但在執行數據遷移前必須完成對存儲系統的虛擬化改造。
與其他存儲技術相比,數據遷移屬精密度高、復雜度大、專業性強的技術。對系統管理人員來說,數據遷移極具挑戰性,一旦措施不當,珍貴的數據資源將面臨丟失的危險,要成功地實現數據平滑遷移,需要周密計劃和充分準備,并按照詳細的步驟來完成。
各種數據遷移方法都有各自的優缺點,適用于不同的數據遷移需求,通常在有在線遷移要求且遷移數據量大的情況下,推薦采用基于存儲層的數據遷移方法或邏輯卷鏡像方法來實現數據遷移,相對簡單、高效。如果系統沒有邏輯卷管理軟件或沒有高端存儲設備,可以考慮采用應用程序自身的備份恢復方式來實現遷移,這種方式步驟較復雜,但使用可靠、成熟,在滿足遷移窗口要求的情況下,也是一種很好的選擇。對于遷移數據量不大的情況,可以考慮采用脫機遷移的方式,這種方式下,如果應用是部署在文件系統上,采用直接拷貝的方式就顯得簡單、快捷。
在一個大型的存儲體系規劃建設過程中,會涉及到很多不同的應用,數據特點也各不相同,因此,在整體的數據遷移過程中,往往會用到各種各樣數據遷移方法,能夠靈活的掌握這些數據遷移方法,才能夠安全高效的完成數據遷移任務。
[1]李鐘雋.基于XML數據遷移中間件的研究[D].哈爾濱工程大學,2007.
[2]舒清錄.基于NET的異構數據源數據遷移技術[J].計算機技術與發展,2010.