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