葉宇容
摘要:云業(yè)務(wù)遷移方案的合理制定和遷移工具的合理使用對(duì)一個(gè)系統(tǒng)或者一個(gè)應(yīng)用上云起到重要作用。在系統(tǒng)遷移的階段性保障、遷移準(zhǔn)備中的測(cè)試驗(yàn)證、遷移過(guò)程中的自動(dòng)化對(duì)后續(xù)運(yùn)維也產(chǎn)生深遠(yuǎn)的影響。本文就云遷移實(shí)施做一番探討,希望以縝密的論證,規(guī)范的操作和回退路徑下在規(guī)定的日期內(nèi)完成系統(tǒng)的遷移工作,將業(yè)務(wù)停頓時(shí)間、影響范圍控制在最小。
關(guān)鍵詞:云平臺(tái);系統(tǒng)遷移;服務(wù)器;數(shù)據(jù)
一、業(yè)務(wù)遷移規(guī)范及原則
為了獲得云計(jì)算帶來(lái)的便利和效益,很多部署在傳統(tǒng)物理設(shè)備上的應(yīng)用選擇遷移到云平臺(tái)上,專業(yè)的業(yè)務(wù)遷移保證了業(yè)務(wù)的連續(xù)性和數(shù)據(jù)安全性。通過(guò)一系列的流程和方法,借助專業(yè)工具和手段把多個(gè)應(yīng)用程序關(guān)聯(lián)的業(yè)務(wù)系統(tǒng)從原來(lái)的物理機(jī)或虛擬機(jī)設(shè)備順利遷移到云平臺(tái)上,以實(shí)現(xiàn)最短的停頓時(shí)間和最小的范圍影響,根據(jù)遷移范圍不同一般包含主機(jī)、網(wǎng)絡(luò)、存儲(chǔ)三個(gè)層面;根據(jù)遷移應(yīng)用架構(gòu)不同可能會(huì)發(fā)現(xiàn)應(yīng)用系統(tǒng)架構(gòu)變更,例如WEB單機(jī)到集群模式;根據(jù)遷移實(shí)現(xiàn)功能不同對(duì)主機(jī)運(yùn)行環(huán)境的改變,可以實(shí)現(xiàn)數(shù)據(jù)庫(kù)版本升級(jí)、OS的升級(jí)、中間件的升級(jí)。
業(yè)務(wù)遷移上云的優(yōu)點(diǎn)是顯而易見(jiàn)的,相互關(guān)聯(lián)的系統(tǒng)落一子滿盤(pán)活,牽一發(fā)而動(dòng)全身,只有經(jīng)過(guò)縝密的規(guī)劃,科學(xué)實(shí)施才能達(dá)到成功遷移。其中可能涉及不同的廠商配合,平臺(tái)開(kāi)發(fā)商、數(shù)據(jù)庫(kù)、操作系統(tǒng)以及日后平臺(tái)運(yùn)維廠商等需要各個(gè)方面的通力合作;在數(shù)據(jù)遷移方案設(shè)計(jì)時(shí)需要考慮遷移數(shù)據(jù)的完整性、及時(shí)性和一致性;要避免遷移過(guò)程中的“單點(diǎn)效應(yīng)”,將遷移納入整個(gè)IT系統(tǒng)框架中加以考慮。因此對(duì)軟硬件資源緊耦合的應(yīng)用采用整體遷移;將用于具有不支持虛擬化的松散耦合硬件資源的應(yīng)用程序遷移至物理資源;支持虛擬化的應(yīng)用程序仍采用上云虛擬資源化遷移;與云平臺(tái)兼容的技術(shù)架構(gòu)的應(yīng)用程序使用改造遷移方法。
用戶業(yè)務(wù)系統(tǒng)需要平滑穩(wěn)定遷移到云服務(wù)平臺(tái),由于用戶應(yīng)用系統(tǒng)及設(shè)備數(shù)量眾多,且各應(yīng)用系統(tǒng)的重要程度、服務(wù)時(shí)段、依賴的設(shè)備情況等各不相同。按照“總體規(guī)劃,由易至難逐步實(shí)施”的原則,科學(xué)平穩(wěn)地進(jìn)行業(yè)務(wù)遷移和云化的過(guò)程。先對(duì)各用戶的信息系統(tǒng)進(jìn)行詳細(xì)調(diào)研,實(shí)現(xiàn)應(yīng)用系統(tǒng)云化整合,先普通業(yè)務(wù)系統(tǒng)后核心業(yè)務(wù)系統(tǒng);優(yōu)先考慮遷移對(duì)象安全性;數(shù)據(jù)庫(kù)系統(tǒng)遷移RAID等多種因素;盡量在不改變現(xiàn)有網(wǎng)絡(luò)架構(gòu)前提下進(jìn)行;選擇業(yè)務(wù)流量相對(duì)較小的晚上、周末、節(jié)假日時(shí)間進(jìn)行遷移,避免對(duì)日常業(yè)務(wù)工作造成影響。
二、業(yè)務(wù)遷移類(lèi)型
應(yīng)用級(jí)遷移使用專門(mén)的應(yīng)用層遷移工具,在保證可用性前提下,從應(yīng)用程序?qū)用鎸?shù)據(jù)從舊系統(tǒng)遷移到新系統(tǒng),滿足客戶遷移同時(shí)完成對(duì)操作系統(tǒng)、數(shù)據(jù)庫(kù)軟件的升級(jí)。文件級(jí)遷移根據(jù)客戶的需要使用遷移工具對(duì)業(yè)務(wù)系統(tǒng)的系統(tǒng)文件或數(shù)據(jù)文件打包從源主機(jī)遷移到目標(biāo)主機(jī),可以滿足客戶對(duì)磁盤(pán)規(guī)格的重規(guī)劃、操作系統(tǒng)的升級(jí)更新等需求。系統(tǒng)級(jí)遷移在客戶的一臺(tái)主機(jī)上運(yùn)行了大量應(yīng)用,可以通過(guò)遷移工具將主機(jī)硬件以上的系統(tǒng)遷移到目標(biāo)虛擬機(jī)上,包括操作系統(tǒng)、應(yīng)用程序和配置數(shù)據(jù),主要用于系統(tǒng)盤(pán)的遷移,數(shù)據(jù)盤(pán)則通過(guò)打包方式完成遷移。數(shù)據(jù)庫(kù)遷移待平臺(tái)建立起來(lái)后,首先將現(xiàn)有的業(yè)務(wù)系統(tǒng)平滑的遷移至云平臺(tái)上,包括了數(shù)據(jù)庫(kù)遷移到更性能配置更高級(jí)的主機(jī)OS上。再通過(guò)數(shù)據(jù)導(dǎo)入的方式實(shí)時(shí)或離線進(jìn)行數(shù)據(jù)庫(kù)遷移。
三、業(yè)務(wù)遷移方式
在線遷移是指將線上提供服務(wù)的系統(tǒng)從一個(gè)地方遷移到另一個(gè)地方,遷移過(guò)程不停機(jī),服務(wù)不受影響,對(duì)于用戶而言是透明無(wú)感。操作過(guò)程類(lèi)似于把虛擬機(jī)封裝在一個(gè)文件中,通過(guò)網(wǎng)絡(luò)把業(yè)務(wù)環(huán)境下的配置和內(nèi)存運(yùn)行狀態(tài)運(yùn)行在另外一臺(tái)物理機(jī)上,一直保持原始運(yùn)行狀態(tài),最終實(shí)現(xiàn)源宿主物理主機(jī)遷移至云上目的主機(jī)[1]。
離線遷移目前使用較為普遍通常被稱為常規(guī)遷移,遷移之前必須關(guān)閉主機(jī),通過(guò)存儲(chǔ)或網(wǎng)絡(luò)將系統(tǒng)狀態(tài)復(fù)制到目標(biāo)主機(jī),再在云上目標(biāo)主機(jī)上重構(gòu)主機(jī)狀態(tài),開(kāi)機(jī)恢復(fù)系統(tǒng)運(yùn)行。此類(lèi)遷移方法簡(jiǎn)單明了,但必須明確有停止虛擬機(jī)運(yùn)行的操作步驟,對(duì)用戶而言可以接受一個(gè)的時(shí)間段無(wú)法提供業(yè)務(wù)服務(wù),因此適用于對(duì)業(yè)務(wù)要求不高的場(chǎng)合。
四、業(yè)務(wù)遷移場(chǎng)景
業(yè)務(wù)遷移場(chǎng)景主要由P2V、V2V、P2P、V2P這四種組成。
(一)P2V遷移
是指物理服務(wù)器上的操作系統(tǒng)及其上的應(yīng)用程序軟件和數(shù)據(jù)向云虛擬服務(wù)器的遷移過(guò)程[2]。
1. 通過(guò)制作鏡像運(yùn)用各種工具和軟件將物理服務(wù)器上的系統(tǒng)狀態(tài)和數(shù)據(jù)“鏡像”到虛擬機(jī)中。
2. 安裝相應(yīng)的驅(qū)動(dòng)程序,最后安裝配置與云網(wǎng)絡(luò)相關(guān)的IP地址等參數(shù)后,啟動(dòng)虛擬服務(wù)器就可以替換物理服務(wù)器完成工作。
為滿足企業(yè)信息化建設(shè)虛擬化改造,通過(guò)遷移工具可以很好地進(jìn)行P2V遷移;或老舊設(shè)備改造實(shí)現(xiàn)X2X方式的異機(jī)轉(zhuǎn)換、異機(jī)遷移。
(二)V2V遷移
是在虛擬機(jī)之間遷移操作系統(tǒng)和數(shù)據(jù),以打包的方式將源虛擬機(jī)環(huán)境遷移到云平臺(tái)環(huán)境中,可以實(shí)現(xiàn)任意方向自由一體化業(yè)務(wù)系統(tǒng)遷移,無(wú)論是異構(gòu)的服務(wù)器之間還是異構(gòu)的虛擬化平臺(tái)之間,抑或是物理服務(wù)器與虛擬化平臺(tái)之間,遷進(jìn)遷出隨心所欲。
(三)P2P遷移
指物理服務(wù)器上的操作系統(tǒng)及其上的應(yīng)用軟件和數(shù)據(jù)出于某種原因內(nèi)存大,CPU高等只能遷移至云環(huán)境下裸物理服務(wù)器中。實(shí)際操作中運(yùn)用工具軟件把物理服務(wù)器上的系統(tǒng)狀態(tài)和數(shù)據(jù)生成“鏡像”到云環(huán)境下的物理機(jī)中。根據(jù)業(yè)務(wù)實(shí)際情況P2V滿足大多數(shù)情況,而P2P對(duì)某些特殊場(chǎng)景的補(bǔ)充。
(四)V2P遷移
只在虛擬機(jī)之間移動(dòng)操作系統(tǒng)和數(shù)據(jù),需要考慮主機(jī)級(jí)別的差異和處理不同的虛擬環(huán)境因素[3]。虛擬機(jī)從一個(gè)物理機(jī)上的虛擬環(huán)境遷移到另一個(gè)物理機(jī)上的虛擬環(huán)境,兩個(gè)云平臺(tái)虛擬環(huán)境的類(lèi)型可以相同或不同。前提在不影響正常業(yè)務(wù)的情況下從一個(gè)云虛擬平臺(tái)遷移到另一個(gè)云虛擬平臺(tái)。
五、業(yè)務(wù)遷移工具
hConvertor遷移工具聚焦在文件級(jí)和系統(tǒng)級(jí)數(shù)據(jù)遷移,針對(duì)客戶整合與遷移的不同需求,提供不同的遷移服務(wù),確保滿足客戶需求。遷移場(chǎng)景主要涵蓋跨數(shù)據(jù)中心的P2V/V2V的遷移,hConvertor靈活支持上述場(chǎng)景遷移,確保業(yè)務(wù)連續(xù)性和規(guī)范管理需求。云平臺(tái)內(nèi)部遷移場(chǎng)景,hConvertor利用內(nèi)部機(jī)制,遷移過(guò)程更高效。工具支持多任務(wù)遷移管理、調(diào)度和集中監(jiān)控;數(shù)據(jù)同步支持?jǐn)帱c(diǎn)續(xù)傳和帶寬限制,進(jìn)程優(yōu)先級(jí)設(shè)置,確保遷移過(guò)程對(duì)業(yè)務(wù)影響可控。工具同時(shí)也支持單個(gè)任務(wù)遷移管理,對(duì)于每項(xiàng)子任務(wù)可設(shè)置啟動(dòng)時(shí)間。圖形化界面直觀監(jiān)控進(jìn)度可配置多次同步,盡量減少業(yè)務(wù)中斷同步時(shí)間。
Plate Spin Migrate是Novell公司開(kāi)發(fā)的一款功能強(qiáng)大的工作負(fù)載可移植性遷移工具,它提供了安全、可靠的遷移功能,該工具能滿足用戶把舊服務(wù)器系統(tǒng)(包含操作系統(tǒng)、應(yīng)用軟件以及業(yè)務(wù)數(shù)據(jù))整體遷移到不同廠家各種型號(hào)服務(wù)器的應(yīng)用需求。在系統(tǒng)遷移同類(lèi)產(chǎn)品中是功能最全性能最優(yōu)的[4]。一個(gè)功能強(qiáng)大的遷移工具,協(xié)助用戶完成工作流的遷移,簡(jiǎn)化P2V的過(guò)程。Plate Spin Migrate可以支持物理機(jī)到虛擬機(jī),虛擬機(jī)到鏡像、鏡像到物理機(jī)等多種遷移方式。同時(shí)Plate Spin Migrate可以把物理機(jī)輕松遷移到您正在使用的任意虛擬機(jī)環(huán)境中。
Ct-SMT是為用戶定制的零停機(jī)無(wú)縫P2V/V2V在線遷移工具。通過(guò)實(shí)時(shí)復(fù)制技術(shù),X86物理或虛擬機(jī)可以遷移到云上。
六、遷移實(shí)施方案制定
業(yè)務(wù)遷移方案的制定包括遷移方式確定、遷移工具選型及具體每一個(gè)業(yè)務(wù)的遷移方法。針對(duì)不同場(chǎng)景和業(yè)務(wù)模型,遷移方案也不盡相同,需要根據(jù)實(shí)際情況進(jìn)行方案的撰寫(xiě)。大致分為客戶調(diào)研、遷移評(píng)估、風(fēng)險(xiǎn)評(píng)估及應(yīng)對(duì)、計(jì)劃制定、實(shí)施方案制定、遷移工具和遷移方案測(cè)試這些步驟。
(一)制定遷移策略與標(biāo)準(zhǔn)
譬如總體的遷移策略與流程、遷移的批次規(guī)劃原則、遷移方式的選擇(邏輯遷移,物理遷移)、數(shù)據(jù)遷移技術(shù)的選擇(離線遷移,在線遷移和遷移)風(fēng)險(xiǎn)、客戶最關(guān)心的業(yè)務(wù)模塊、關(guān)鍵業(yè)務(wù)的KPI、主要業(yè)務(wù)模塊特點(diǎn)等都是需要考慮的問(wèn)題,通過(guò)調(diào)研評(píng)估制定針對(duì)性的遷移方案。
(二)制定遷移計(jì)劃
主要是劃分批次和時(shí)間、制定遷移流程、遷移團(tuán)隊(duì)和職責(zé)的定義以及遷移數(shù)據(jù)備份恢復(fù)、遷移風(fēng)險(xiǎn)評(píng)估和風(fēng)險(xiǎn)預(yù)警控制。
(三)為遷移應(yīng)用制定遷移詳細(xì)計(jì)劃
比如制定完整的遷移操作步驟、驗(yàn)證方法和測(cè)試手段并再特別情況下有應(yīng)急方案和回退計(jì)劃恢復(fù)業(yè)務(wù)。
(四)按遷移規(guī)模機(jī)重要性先后制定遷移演練計(jì)劃
包括預(yù)遷移演練和數(shù)據(jù)復(fù)制/切換演練,編寫(xiě)業(yè)務(wù)遷移演練報(bào)告。
七、遷移測(cè)試、實(shí)施及驗(yàn)證
有了明確的遷移方案和遷移工具之后,接下來(lái)需要在云平臺(tái)環(huán)境下部署業(yè)務(wù)環(huán)境和遷移工具進(jìn)行遷移測(cè)試、實(shí)施、驗(yàn)證。測(cè)試業(yè)務(wù)遷移服務(wù)器,測(cè)試業(yè)務(wù)遷移工具;實(shí)施操作完成業(yè)務(wù)數(shù)據(jù)完全同步,一致性檢查和數(shù)據(jù)切換;驗(yàn)收對(duì)遷移后的系統(tǒng)進(jìn)行評(píng)估,對(duì)遷移目標(biāo)是否達(dá)成進(jìn)行評(píng)估;優(yōu)化業(yè)務(wù)監(jiān)控并提供現(xiàn)場(chǎng)支持服務(wù),對(duì)遷移結(jié)果和監(jiān)控中發(fā)現(xiàn)問(wèn)題,提出優(yōu)化方案及實(shí)施,最終以客戶簽署業(yè)務(wù)遷移驗(yàn)收?qǐng)?bào)告結(jié)尾[5]。
(一)遷移測(cè)試
根據(jù)遷移方案運(yùn)用合適的測(cè)試環(huán)境對(duì)方案進(jìn)行測(cè)試,在技術(shù)上和流程上遵循正確性、一致性、可用性,對(duì)遷移方案進(jìn)行驗(yàn)證加以細(xì)化完善,形成最終的遷移方案。盡可能模擬客戶的真實(shí)情況,在各種場(chǎng)景下測(cè)試解決方案和工具的可行性,輸出測(cè)試報(bào)告,審核后與客戶溝通,對(duì)遷移過(guò)程中的停機(jī)時(shí)間、風(fēng)險(xiǎn)點(diǎn)等再次溝通[6],特別是在后向兼容性驗(yàn)證和回滾測(cè)試中,哪些變化需要測(cè)試,如何逐步變化,并在遷移過(guò)程必要腳本執(zhí)行。通過(guò)這種方式,測(cè)試用例和測(cè)試場(chǎng)景可以覆蓋整個(gè)遷移過(guò)程,最終與客戶一起細(xì)化和輸出遷移方案中需要修改的部分形成的遷移測(cè)試報(bào)告。
(二)遷移實(shí)施和驗(yàn)證
包括業(yè)務(wù)遷移實(shí)現(xiàn)、數(shù)據(jù)同步和一致性檢查;在業(yè)務(wù)的可用運(yùn)營(yíng)周期內(nèi)選擇流量切換的相對(duì)空閑時(shí)間段[7]。系統(tǒng)流量切換前,確保系統(tǒng)數(shù)據(jù)實(shí)時(shí)更新,源系統(tǒng)與目標(biāo)系統(tǒng)的數(shù)據(jù)差分時(shí)間窗在可接受范圍內(nèi);選擇暫停源系統(tǒng)的業(yè)務(wù),用差分?jǐn)?shù)據(jù)切換目標(biāo)網(wǎng)絡(luò),由業(yè)務(wù)人員對(duì)業(yè)務(wù)系統(tǒng)的功能和數(shù)據(jù)一致性進(jìn)行測(cè)試和驗(yàn)證,優(yōu)化結(jié)果及監(jiān)控過(guò)程問(wèn)題,簽署業(yè)驗(yàn)收?qǐng)?bào)告,至此目標(biāo)系統(tǒng)滿足系統(tǒng)遷移部署業(yè)務(wù)的要求。特別在Linux系統(tǒng)遷移時(shí)需要考慮磁盤(pán)分區(qū)名被硬編碼、網(wǎng)絡(luò)硬件設(shè)備的改變、內(nèi)核不支持某些虛擬設(shè)備、window需要重新配置、網(wǎng)絡(luò)環(huán)境的變化和CPU的擴(kuò)展指令集發(fā)生變化等諸多因素均會(huì)影響遷移的實(shí)施和驗(yàn)證的可靠性[8]。
八、結(jié)語(yǔ)
通過(guò)以上分析了云遷移通常情況下過(guò)程,說(shuō)明云遷移絕不僅僅是一個(gè)簡(jiǎn)單的搬運(yùn)過(guò)程,也不是某個(gè)單一遷移工具的實(shí)施,而是一項(xiàng)服務(wù)。云遷移不僅僅是將數(shù)據(jù)從生產(chǎn)物理環(huán)境拷貝到云端的過(guò)程,是一個(gè)系統(tǒng)遷移與架構(gòu)優(yōu)化的過(guò)程,過(guò)程受多種因素影響不斷調(diào)整優(yōu)化的系統(tǒng)工程。云遷移的整個(gè)過(guò)程對(duì)業(yè)務(wù)層透明化,程序化才能將對(duì)業(yè)務(wù)的影響降至最低。
參考文獻(xiàn):
[1]吳官林.高可用性虛擬化管理中心的設(shè)計(jì)與實(shí)現(xiàn),《西安電子科技大學(xué)碩士論文》, 2011.
[2]薛建,曲守寧.將物理機(jī)遷移至VMware主機(jī),《電腦與電信》, 2015.
[3]冉冉.基于Linux環(huán)境的集群管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),《電子科技大學(xué)碩士論文》, 2015.
[4]華為FusionSphere 5.1售前技術(shù)FAQ(服務(wù)器虛擬化),學(xué)習(xí)資料共享網(wǎng).
[5]馮詩(shī)華,企業(yè)科技翻譯中譯者主體性的體現(xiàn),《電子科技大學(xué)碩士論文》, 2016.
[6]高明星,劉洋,王曉莉,劉亮.鐵路IaaS平臺(tái)解決方案研究,《鐵路計(jì)算機(jī)應(yīng)用》, 2016.
[7]楊柳,卓必強(qiáng),汪楊海,胡婷.基于云計(jì)算環(huán)境的業(yè)務(wù)系統(tǒng)遷移研究與實(shí)踐,《信息系統(tǒng)工程》, 2017.
[8]虛擬機(jī)遷移技術(shù)漫談-mq24705-ChinaUnix 網(wǎng)頁(yè).