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