不管你稱其為數據引力還是數據慣性,從存儲基礎設施的一個位置移動數據到另一個位置是個艱難的過程。至少,過去是這樣。而現在,在合適的工具和基礎設施條件下,傳統的數據遷移過程中涉及到的許多困難點都可以消除。采用的方法只是提前規劃和采用恰當的技術。
為什么數據遷移在過去是個問題
一份最新的Hitachi Data Systems報告詳細的整理了來自IDC和451個集團公司的調研。報告表明數據遷移項目占據了大型企業IT項目的60%,并且,幾乎一半的IT預算用于運維開銷——一個明顯的信號即數據遷移消耗了大部分的IT預算。據估計,遷移1TB數據的成本是1萬5千美元,因此,數據遷移對很多IT部門來說是令人發憷的。而數據遷移困難之處,有許多原因。
數據遷移困難的一般原因包括:
復雜性。當今許多龐大的存儲陣列已經變得很復雜,支持幾千個LUN或卷,然后連接到許多主機。而這些主機通過光纖通道(FC),iSCSI和 FC over Ethernet 網絡連接。陣列的高級功能部署包括了本地復制(快照、克隆)和遠程復制(同步和異步的復制),同時也考慮了不同存儲系統間應用的依賴性。當代磁盤陣列一般有多層存儲,而且具有性能管理功能比如動態分層,以實現產品最優I/O響應時間。
技術依賴。包含許多主機的存儲陣列系統已經部署了多年,所以,硬件和軟件設備,固件和設備驅動可能變化很大。在數據遷移時這些組件都可能需要升級或者刷新。在某些情況下,設備可能不再被支持,這就表明了一個風險項,或者表明需要投入成本來取代硬件。
運維依賴。大多數企業IT環境要求24/7運行,計劃中的數據遷移停止是困難的,或者不可能。當復雜的服務器依賴存在以及業務連續性/災難恢復等服務級目標需要保持時,就要面臨這種情形。大量的時間花在了計劃和再計劃的數據遷移,以及對改變的組織進行協商。
存儲容量規模。存儲陣列可以存儲大量的數據。最新來自EMC和日立的單個大陣列的存儲容量超過4PB。數據遷移速率限制也表明PB量級的數據遷移將花費很長時間來傳輸,在此期間,必須保證對生產應用沒有或者很小的性能影響。
成本。數據遷移需要認真規劃,并有效執行,從項目經理到存儲架構師、應用開發者,都需要隨時驗證數據遷移成功完成與否。在遷移中也有成本,需要維護設備。所以,遷移所需時間越長,保持額外復制硬件的成本就越高。
當然,以上的這些問題僅僅影響設備到設備間的數據遷移。把應用或者數據移動到公共云上的這種數據遷移所遇到的問題就不同了。如果公司基于新的技術比如Hadoop構建大數據池,這種情況下的數據遷移還需要考慮其他問題。很明顯,不同企業間的數據遷移也是個問題。
最后,任何數據遷移策略的目的都是提高數據移動性。鎮對上面已經討論的寬泛的遷移類別,我們接下來就分析一些遷移技術和架構設計以其幫助我們解決一些常見的遷移問題。
陣列間遷移
數據遷移里最常見的一個需求就是在存儲陣列間或者存儲設備間移動數據。目前我們考慮塊級別的協議數據的遷移,一般的方法有:
基于主機的遷移。數據在主機級別進行移動,通過卷到卷的數據拷貝進行,其中舊卷和新卷屬于主機。拷貝過程可能很基礎(比如工具Robocopy),也可能很復雜(使用邏輯卷管理器等)。基于主機的遷移提供了一個再次布局數據的機會 。
基于陣列的數據遷移。利用陣列級數據遷移工具在陣列間進行數據遷移。對于一致性傳輸(源和目標設備都是同一個廠商或者相同型號),可以使用原生的復制工具,盡管有一些限制。異質遷移就復雜了,雖然有一些工具比如EMC的Open Migrator或者HP 3PAR的Online Import 允許第三方存儲陣列導入數據到自己的陣列中。
基于虛擬機監視器的數據遷移。服務器虛擬化的好處之一是增加了如VMware的 vSphere Storage vMotion和Mirosoft的Hyper-V Live Migration,即在線遷移虛擬機功能。這些工具可以實現虛擬機在不同存儲陣列間的遷移,它提供了一個附加的好處,即能夠實現跨協議數據遷移,例如在 vSphere情況下,可以從塊協議遷移到NFS。采用虛擬機監視器進行數據遷移需要授權成本,但也確實減少了大量的數據遷移的運維問題。
基于虛擬化設施的數據遷移。進行數據遷移的一種高效方式是利用設施,比如IBM的SAN Volume Controller或EMC的 VPLEX,抽象主機的存儲。這些產品虛擬化主機的底層存儲陣列,提供了遷移工具,在不同物理位置間遷移數據,同時保持邏輯數據可用,對主機不造成影響。在數據路徑中安裝這個設施有可能需要業務暫停;在許多情況下,相對移動數據的時間,中斷時間很小。許多IT部門選擇永久的運行虛擬化設施,使其處于就緒狀態,這能夠實現無縫管理未來的數據遷移,以及為了滿足容量和性能需要而進行的數據再平衡。
基于虛擬磁盤陣列的數據遷移。日立的 Virtual Storage Platform的最新版本G1000,提供一個可以虛擬化外部存儲并在陣列間無縫遷移數據的功能。這使得虛擬化設施功能更進一步,允許數據移動到陣列中,并在一致性陣列間遷移而不需業務暫停。 G1000(HP的OEM版本是XP7)是個很獨特的產品,因為它可以在兩個單獨的磁盤陣列間遷移數據而沒有宕機時間,而且如果數據已經駐留在 G1000,進行數據遷移將不需要任何的業務暫停。
文件到文件級別的遷移
采用基于文件協議的數據遷移相當復雜。在大多數情況下,數據遷移的主要問題不是數據的傳輸,而是在遷移過程中和遷移后,不改變數據的邏輯位置而使數據對用戶可用。文件共享名一般映射到服務器名或者UNC地址,這會在數據遷移到一個新的文件服務器后改變。對此,解決方案將是抽象數據位置,作為遷移過程的一部分或者在數據遷移前進行。這可以利用Microsoft’s Distributed File System,它是集成了活動目錄的軟件解決方案,或者Avere System的FXT filer appliance,一個硬件解決方案。在這兩個例子中,使得無縫數據遷移成為可能的是抽象文件共享名和全局命名空間的應用。
遷移對象存儲
對象存儲越來越流行了,主要作為存檔信息和二進制大對象(BLOB)比如媒體和醫療成像的數據存儲庫。遷移數據到對象存儲和遷移出對象存儲,都要基于 REST的API。大多數情況下,應用程序需要跟蹤記錄添加到對象存儲中的存儲項的一些信息。這意味著當數據在對象存儲間進行移動時,應用程序需要知道這些信息。對象存儲產品如Cleversafe的object store利用了數據分布方法糾錯碼在多個硬件組件間存儲對象。糾錯碼的一個優勢是通過遠距離的物理節點來重建數據,允許對象存儲的存儲組件替換或者物理的重新更新存儲組件位置而不造成數據中斷。
遷移數據到公共云
公共云的使用越來越多,需要提供工具遷移數據到云提供商。有許多種遷移場景,包括移動整個虛擬機到云,或者以塊或者文件級別移動數據到云。
許多云提供商都提供虛擬機導入功能。例如,亞馬遜的VM Import功能允許從已經存在的vSphere, Hyper-V和 Citrix的虛擬機監視器中導入虛擬機鏡像。令人失望的是,對可能導入的虛擬機的類型有很多限制;所以更現實的方法是導入數據到新生成的的虛擬機。
Zerto的套裝的BC/DR replication 產品允許整個虛擬機遷移到云環境中。這個功能可以作為遷移任務,用來遷移整個虛擬機而不是僅僅作為備份工具。
利用云網關設施比如Nasuni和Avere 系統,基于文件的數據可以遷移到云中。這兩個系統抽象了文件的表示,允許后端存儲被這個設施管理。對于Nasuni,網關設施可以是物理服務器或者虛擬機,它具有虛擬文件設施的ID,提供了彈性和最小中斷的恢復數據的存取能力。Avere Systems的設施不僅允許數據移動到云,而且可以在本地存儲和云間進行復制,具有鏡像和數據移動功能。
Mircrsoft的StorSimple平臺允許塊級別的數據移動到Azure云存儲平臺,擴展了本地存儲資源的容量。Nasuni提供了類似的功能,還有AWS的存儲網關。然而,只有亞馬遜在其云計算平臺里提供了以塊存取數據的能力。
橫向擴展存儲和大數據
當代,云和傳統的存儲并不是唯一的數據存儲平臺。為了存儲海量數據,出現了橫向擴展存儲解決方案和數據存儲庫(有時也叫做數據湖)。
開源平臺如Ceph和Gluster,提供橫向擴展的文件和塊存儲能力。其產品目前趨于成熟,數據遷移將會容易的解決。來自SolidFire 和Nimble Storage的橫向擴展存儲方案實現了集群規模按需增長和縮減。
Hadoop是現在最有名最普及的大數據平臺。其內建工具DistCp可以用來在Hadoop集群間進行數據拷貝。當然,Hadoop構建一開始并沒有考慮到數據遷移,所以從Hadoop集群里遷移進或移出數據并不像給用戶一個文件系統接口或者LUN接口那么簡單。
新架構跟新的遷移問題一樣需要投入
Facebook 的經驗表明,大數據池增長到一定規模,物理數據中心的存儲空間就會遇到瓶頸,遷移集群要求大量仔細的規劃和努力。在某方面,這個問題會導致我們回到剛才關于數據遷移和存儲的討論上。數據遷移問題早就很好的進行了闡述,解決方案可用,也可以減少成本。然而,相對管理數據遷移,新的存儲技術仍然不成熟,而且隨著這些新的存儲技術變得越來越普遍,大量的精力需要投入。