專利名稱:OpenVZ虛擬化的VPS快速遷移方法
技術(shù)領(lǐng)域:
本發(fā)明涉及OpenVZ虛擬化領(lǐng)域,具體涉及一種OpenVZ虛擬化的VPS快速遷移方法。
背景技術(shù):
OpenVZ虛擬化是Linux虛擬化技術(shù)的一種開源解決方案。VPS是虛擬私有服務(wù)器,對(duì)應(yīng)OpenVZ中的一個(gè)運(yùn)行實(shí)例,可以提供一個(gè)獨(dú)立于宿主機(jī)的操作系統(tǒng)環(huán)境。VPS運(yùn)行所需數(shù)據(jù)包括靜態(tài)數(shù)據(jù)和動(dòng)態(tài)數(shù)據(jù)。靜態(tài)數(shù)據(jù)為存放在硬盤中的靜態(tài)數(shù)據(jù)文件,掉電后仍然可以保存。動(dòng)態(tài)數(shù)據(jù)為存放在內(nèi)存中的數(shù)據(jù),關(guān)閉VPS后數(shù)據(jù)會(huì)被清除。OpenVZ在遷移VPS時(shí)需要將VPS所需的數(shù)據(jù)(包括靜態(tài)數(shù)據(jù)文件和動(dòng)態(tài)數(shù)據(jù))全部遷移,靜態(tài)數(shù)據(jù)的遷移可以通過數(shù)據(jù)拷貝的形式完成。如圖1所示,現(xiàn)有技術(shù)OpenVZ虛擬化的VPS遷移過程中,源主機(jī)把動(dòng)態(tài)數(shù)據(jù)通過凍結(jié)操作保存到內(nèi)存鏡像文件(Dumpfile文件)中,把Dumpfile文件寫入本地的物理磁盤中,然后傳輸?shù)侥繕?biāo)主機(jī)的物理磁盤中。目標(biāo)主機(jī)再去讀取本地磁盤的的Dumpfile文件,把動(dòng)態(tài)數(shù)據(jù)(進(jìn)程和數(shù)據(jù))從Dumpfile文件中通過恢復(fù)操作恢復(fù)到VPS內(nèi)繼續(xù)使用。現(xiàn)有技術(shù)的OpenVZ虛擬化的VPS遷移時(shí),將Dumpf iIe文件寫入物理磁盤,再傳輸?shù)侥繕?biāo)主機(jī)的物理磁盤上,目標(biāo)主機(jī)再?gòu)奈锢泶疟P上讀取,其中源主機(jī)是指待遷移VPS所在的主機(jī),目標(biāo)主機(jī)是指需要將待遷移VPS遷移到的主機(jī),Dumpfile文件是OpenVZ虛擬化實(shí)現(xiàn)的私有數(shù)據(jù)結(jié)構(gòu)。如圖2所示,現(xiàn)有技術(shù)OpenVZ虛擬化的VPS遷移的詳細(xì)步驟如下1、檢查源主機(jī)和目標(biāo)主機(jī)是否滿足遷移基本條件源主機(jī)和目標(biāo)主機(jī)通信,確認(rèn)目標(biāo)主機(jī)是否運(yùn)行OpenVZ系統(tǒng)、目標(biāo)主機(jī)是否存在相同類型VPS,兩臺(tái)主機(jī)是否都已掛載Mdump目錄,在上述條件均滿足時(shí)進(jìn)入下一步。2、源主機(jī)凍結(jié)待遷移VPS’將待遷移VPS的動(dòng)態(tài)數(shù)據(jù)生成Dumpfile文件并存放到位于物理磁盤上的/vz/dump目錄下。3、源主機(jī)將Dumpfile文件從源主機(jī)的物理磁盤上的/vz/dump目錄讀出傳輸給目標(biāo)主機(jī),目標(biāo)主機(jī)物理磁盤上的/vz/dump目錄下;同時(shí),源主機(jī)將故障VPS位于源主機(jī)物理磁盤中的靜態(tài)數(shù)據(jù)文件讀出并傳輸給目標(biāo)主機(jī)的物理磁盤中。4、目標(biāo)主機(jī)讀取目標(biāo)主機(jī)物理磁盤上的靜態(tài)數(shù)據(jù)文件和/dev/dump目錄中的Dumpfile文件,目標(biāo)主機(jī)根據(jù)Dumpfile文件和靜態(tài)文件恢復(fù)VPS。5、目標(biāo)主機(jī)完成恢復(fù)VPS操作,向源主機(jī)確認(rèn)本次操作完成。綜上所述,現(xiàn)有技術(shù)的整個(gè)遷移過程中需要頻繁地進(jìn)行物理磁盤的讀取和寫入操作,需要多次與物理磁盤進(jìn)行IO操作才能夠完成遷移流程。實(shí)際應(yīng)用中,數(shù)據(jù)庫(kù)應(yīng)用和巨大的訪問連接數(shù)都會(huì)消耗大量的內(nèi)存,存入Dumpf ile文件的數(shù)據(jù)也同比增長(zhǎng),因此最終導(dǎo)致現(xiàn)有技術(shù)的遷移過程將是一個(gè)IO bound的過程,從而引起源主機(jī)和目標(biāo)主機(jī)的IO性能和可靠性下降。而物理磁盤在解決IO bound的問題無法取得良好的效果,而且目標(biāo)主機(jī)OpenVZ進(jìn)行凍結(jié)或恢復(fù)操作時(shí)處理的單位數(shù)據(jù)量遠(yuǎn)大于物理磁盤傳輸?shù)膯挝凰俣?,IO的瓶頸將延長(zhǎng)VPS遷移所花費(fèi)的時(shí)間,嚴(yán)重降低了 VPS遷移效率,而且消耗的物理磁盤也將影響用戶的體驗(yàn)。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種遷移效率高、遷移速度快、可回滾恢復(fù)的OpenVZ虛擬化的VPS遷移方法。為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為
一種OpenVZ虛擬化的VPS快速遷移方法,其實(shí)施步驟如下
1)源主機(jī)和目標(biāo)主機(jī)通信,分別判斷目標(biāo)主機(jī)是否運(yùn)行OpenVZ系統(tǒng)、目標(biāo)主機(jī)是否存在相同類型VPS、源主機(jī)和目標(biāo)主機(jī)是否都已掛載內(nèi)存文件系統(tǒng),僅在上述條件均滿足的情況下跳轉(zhuǎn)執(zhí)行下一步;
2)源主機(jī)凍結(jié)待遷移VPS,將待遷移VPS的動(dòng)態(tài)數(shù)據(jù)生成存儲(chǔ)于源主機(jī)內(nèi)存文件系統(tǒng)中的內(nèi)存鏡像文件;
3)源主機(jī)將所述內(nèi)存鏡像文件通過遠(yuǎn)程數(shù)據(jù)拷貝的方式傳輸至目標(biāo)主機(jī)的內(nèi)存文件系統(tǒng)中;將源主機(jī)磁盤中的待遷移VPS的靜態(tài)數(shù)據(jù)文件通過磁盤共享或者數(shù)據(jù)實(shí)時(shí)同步工具與所述目標(biāo)主機(jī)磁盤保持一致;
4)目標(biāo)主機(jī)讀取內(nèi)存文件系統(tǒng)中的所述內(nèi)存鏡像文件,根據(jù)讀取的內(nèi)存鏡像文件和目標(biāo)主機(jī)磁盤中已與源主機(jī)保持一致的所述靜態(tài)數(shù)據(jù)文件恢復(fù)VPS,向源主機(jī)發(fā)送確認(rèn)消息確認(rèn)本次VPS遷移操作完成。作為本發(fā)明上述技術(shù)方案的進(jìn)一步改進(jìn)
所述內(nèi)存文件系統(tǒng)具體是指Linux操作系統(tǒng)下的tmpfs文件系統(tǒng),所述tmpfs文件系統(tǒng)在Linux操作系統(tǒng)中的虛擬路徑為/dev/shm ;所述步驟I)中判斷源主機(jī)和目標(biāo)主機(jī)是否都已掛載內(nèi)存文件系統(tǒng)具體是指分別判斷源主機(jī)和目標(biāo)主機(jī)的路徑/dev/shm都已經(jīng)存在,如果路徑/dev/shm已經(jīng)存在則判定已掛載內(nèi)存文件系統(tǒng)。所述步驟3)中源主機(jī)將內(nèi)存鏡像文件通過遠(yuǎn)程數(shù)據(jù)拷貝的方式傳輸至目標(biāo)主機(jī)的內(nèi)存文件系統(tǒng)中具體是指源主機(jī)使用Linux操作系統(tǒng)環(huán)境下的scp遠(yuǎn)程數(shù)據(jù)拷貝命令將所述內(nèi)存鏡像文件從源主機(jī)的/dev/shm目錄傳輸至目標(biāo)主機(jī)的/dev/shm目錄中。所述步驟4)中恢復(fù)VPS完畢后,目標(biāo)主機(jī)還將內(nèi)存文件系統(tǒng)中的所述內(nèi)存鏡像文件存儲(chǔ)到目標(biāo)主機(jī)磁盤作為VPS鏡像備份。本發(fā)明OpenVZ虛擬化的VPS快速遷移方法具有下述優(yōu)點(diǎn)1、本發(fā)明的源主機(jī)將待遷移VPS的動(dòng)態(tài)數(shù)據(jù)生成存儲(chǔ)于內(nèi)存文件系統(tǒng)中的內(nèi)存鏡像文件,源主機(jī)直接內(nèi)存文件系統(tǒng)中的內(nèi)存鏡像文件傳輸至目標(biāo)主機(jī)的內(nèi)存文件系統(tǒng)中,在源主機(jī)和目標(biāo)主機(jī)均僅僅在內(nèi)存文件系統(tǒng)上存儲(chǔ)和操作內(nèi)存鏡像文件,整個(gè)內(nèi)存鏡像文件的讀寫都放在內(nèi)存上實(shí)現(xiàn),能夠充分利用內(nèi)存比物理磁盤具有更高效的IO操作的特性,提升讀寫效率,改善了通過物理磁盤讀寫而產(chǎn)生的低效耗時(shí)問題,相比物理存儲(chǔ)而言更能有效的緩解IO bound的問題,能夠確保源主機(jī)和目標(biāo)主機(jī)的IO性能和可靠性,試驗(yàn)表明,本發(fā)明將OpenVZ的VPS遷移時(shí)間由分鐘級(jí)縮減至秒級(jí),具有遷移效率高、遷移速度快的優(yōu)點(diǎn)。2、本發(fā)明目標(biāo)主機(jī)在恢復(fù)VPS后,還進(jìn)一步將內(nèi)存文件系統(tǒng)中的內(nèi)存鏡像文件存儲(chǔ)到本地的物理磁盤作為VPS鏡像備份,通過VPS鏡像備份能夠?qū)崿F(xiàn)回滾恢復(fù)VPS,因此本發(fā)明還具有可回滾恢復(fù)的優(yōu)點(diǎn)。
圖1為現(xiàn)有技術(shù)的VPS遷移原理示意圖。圖2為現(xiàn)有技術(shù)的VPS遷移方法流程示意圖。圖3為本發(fā)明實(shí)施例的VPS快速遷移方法流程示意圖。圖4為本發(fā)明實(shí)施例的VPS遷移原理示意圖。
具體實(shí)施例方式如圖3所示,本實(shí)施例OpenVZ虛擬化的VPS快速遷移方法的實(shí)施步驟如下
1)源主機(jī)和目標(biāo)主機(jī)通信,分別判斷目標(biāo)主機(jī)是否運(yùn)行OpenVZ系統(tǒng)、目標(biāo)主機(jī)是否存在相同類型VPS、源主機(jī)和目標(biāo)主機(jī)是否都已掛載內(nèi)存文件系統(tǒng),僅在上述條件均滿足的情況下跳轉(zhuǎn)執(zhí)行下一步;
2)源主機(jī)凍結(jié)待遷移VPS,將待遷移VPS的動(dòng)態(tài)數(shù)據(jù)生成存儲(chǔ)于源主機(jī)內(nèi)存文件系統(tǒng)中的內(nèi)存鏡像文件;
3 )源主機(jī)將內(nèi)存鏡像文件通過遠(yuǎn)程數(shù)據(jù)拷貝的方式傳輸至目標(biāo)主機(jī)的內(nèi)存文件系統(tǒng)中;將源主機(jī)磁盤中的待遷移VPS的靜態(tài)數(shù)據(jù)文件通過磁盤共享或者數(shù)據(jù)實(shí)時(shí)同步工具與目標(biāo)主機(jī)磁盤保持一致;
4)目標(biāo)主機(jī)讀取內(nèi)存文件系統(tǒng)中的內(nèi)存鏡像文件,根據(jù)讀取的內(nèi)存鏡像文件和目標(biāo)主機(jī)磁盤中已與源主機(jī)保持一致的靜態(tài)數(shù)據(jù)文件恢復(fù)VPS,向源主機(jī)發(fā)送確認(rèn)消息確認(rèn)本次VPS遷移操作完成。如圖4所示,本實(shí)施例的基本原理如下源主機(jī)和目標(biāo)主機(jī)之間通過主機(jī)通信,確定判斷目標(biāo)主機(jī)是否運(yùn)行OpenVZ系統(tǒng)、目標(biāo)主機(jī)是否存在相同類型VPS、源主機(jī)和目標(biāo)主機(jī)是否都已掛載內(nèi)存文件系統(tǒng)三個(gè)條件。在同時(shí)滿足三個(gè)條件的基礎(chǔ)上,依次進(jìn)行如下操作(I)源主機(jī)寫內(nèi)存生成內(nèi)存鏡像文件;(2)源主機(jī)將源主機(jī)內(nèi)存中的Dumpfile文件傳輸?shù)侥繕?biāo)主機(jī)內(nèi)存中;(3)將源主機(jī)磁盤中的待遷移VPS的靜態(tài)數(shù)據(jù)文件與目標(biāo)主機(jī)磁盤保持一致,即源主機(jī)磁盤從傳輸靜態(tài)數(shù)據(jù)文件到目標(biāo)主機(jī)磁盤;(4)目標(biāo)主機(jī)讀內(nèi)存中的內(nèi)存鏡像文件,根據(jù)內(nèi)存鏡像文件和已與源主機(jī)保持一致的靜態(tài)數(shù)據(jù)文件恢復(fù)VPS并向源主機(jī)發(fā)送確認(rèn)消息,確認(rèn)本次VPS遷移操作完成。一般而言,機(jī)械硬盤的讀寫響應(yīng)時(shí)間為毫秒級(jí),而內(nèi)存的讀寫響應(yīng)時(shí)間為納秒級(jí),機(jī)械硬盤的讀寫速度通常不超過200M/S,而內(nèi)存的讀寫速度可達(dá)600M/S到800M/S。本實(shí)施例對(duì)動(dòng)態(tài)數(shù)據(jù)生成的內(nèi)存鏡像文件(Dumpfile文件)以內(nèi)存鏡像文件形式存儲(chǔ)于源主機(jī)的內(nèi)存文件系統(tǒng)中形成內(nèi)存鏡像文件,源主機(jī)傳輸?shù)侥康闹鳈C(jī)后,內(nèi)存鏡像文件存儲(chǔ)于目的主機(jī)的內(nèi)存文件系統(tǒng)中,整個(gè)過程中內(nèi)存鏡像文件的操作都在內(nèi)存中完成,內(nèi)存鏡像文件的整個(gè)傳輸過程中均未直接涉及物理磁盤的IO操作,恢復(fù)過程中讀取內(nèi)存鏡像文件的方式相比讀取硬盤鏡像文件時(shí)間大大縮短,從而提高了恢復(fù)性能,最大程度降低了對(duì)物理磁盤的讀寫依賴,因此能夠顯著提高動(dòng)態(tài)文件遷移的效率,縮短了大容量?jī)?nèi)存鏡像文件的IO時(shí)間,例如在線遷移中需要完成一次讀和一次寫操作,如果硬盤和內(nèi)存的讀寫差距時(shí)間為T,那么通過內(nèi)存文件系統(tǒng)來完成遷移操作將節(jié)省2T的時(shí)間,因此本實(shí)施例能夠有效緩解IO bound的問題,具有遷移效率高、遷移速度快的優(yōu)點(diǎn)。本實(shí)施例中,內(nèi)存文件系統(tǒng)具體是指Linux操作系統(tǒng)下的tmpfs文件系統(tǒng),tmpfs文件系統(tǒng)在Linux操作系統(tǒng)中的虛擬路徑為/dev/shm ;步驟I)中判斷源主機(jī)和目標(biāo)主機(jī)是否都已掛載內(nèi)存文件系統(tǒng)具體是指分別判斷源主機(jī)和目標(biāo)主機(jī)的路徑/dev/shm都已經(jīng)存在,如果路徑/dev/shm已經(jīng)存在則判定已掛載內(nèi)存文件系統(tǒng)。由于tmpfs文件系統(tǒng)工作在主機(jī)的內(nèi)存(主存)上,讀寫速度比物理磁盤要快、讀寫效率要高,因此tmpfs文件系統(tǒng)在Linux操作系統(tǒng)中受到廣泛的支持,且/dev/shm目錄一般在系統(tǒng)啟動(dòng)時(shí)都會(huì)自動(dòng)加載,不會(huì)增加過多的額外操作,因此具有通用性好的優(yōu)點(diǎn)。VPS遷移涉及的數(shù)據(jù)包括動(dòng)態(tài)數(shù)據(jù)和靜態(tài)數(shù)據(jù)文件。參見圖4,本實(shí)施例中源主機(jī)和目的主機(jī)之間傳輸動(dòng)態(tài)數(shù)據(jù)和靜態(tài)數(shù)據(jù)文件的方式各不相同。對(duì)于動(dòng)態(tài)數(shù)據(jù)而言,由于動(dòng)態(tài)數(shù)據(jù)已經(jīng)建立內(nèi)存鏡像文件,因此需要在源主機(jī)內(nèi)存和目的主機(jī)內(nèi)存之間傳輸內(nèi)存鏡像文件(Dumpfile文件),源主機(jī)將內(nèi)存鏡像文件通過遠(yuǎn)程數(shù)據(jù)拷貝的方式傳輸至目標(biāo)主機(jī)的內(nèi)存文件系統(tǒng)中。本實(shí)施例中,步驟3)中源主機(jī)將內(nèi)存鏡像文件通過遠(yuǎn)程數(shù)據(jù)拷貝的方式傳輸至目標(biāo)主機(jī)的內(nèi)存文件系統(tǒng)中具體是指源主機(jī)使用Linux操作系統(tǒng)環(huán)境下的scp遠(yuǎn)程數(shù)據(jù)拷貝命令將內(nèi)存鏡像文件從源主機(jī)的/dev/shm目錄傳輸至目標(biāo)主機(jī)的/dev/shm目錄中。對(duì)于靜態(tài)數(shù)據(jù)文件而言,根據(jù)不同的存儲(chǔ)實(shí)現(xiàn)方式會(huì)有不同的一致性保持方式。在共享存儲(chǔ)模式中,源主機(jī)與目標(biāo)主機(jī)的VPS靜態(tài)數(shù)據(jù)文件一致性由磁盤共享解決,通過磁盤共享將原屬于源主機(jī)的VPS靜態(tài)數(shù)據(jù)文件修改共享給目標(biāo)主機(jī)即可;在分布存儲(chǔ)模式中,源主機(jī)與目標(biāo)主機(jī)的VPS靜態(tài)文件一致性由相應(yīng)的數(shù)據(jù)實(shí)時(shí)同步工具解決,通過數(shù)據(jù)實(shí)時(shí)同步工具將VPS靜態(tài)文件從源主機(jī)的磁盤空間同步到目標(biāo)主機(jī)的磁盤空間即可。需要說明的是,本實(shí)施例中目標(biāo)主機(jī)磁盤、源主機(jī)磁盤也可以根據(jù)存儲(chǔ)實(shí)現(xiàn)方式會(huì)有不同的結(jié)構(gòu),既可以通過不同的物理磁盤實(shí)現(xiàn),也可以采用相同物理磁盤的不同磁盤空間實(shí)現(xiàn),或者采用分布存儲(chǔ)模式實(shí)現(xiàn)等。本實(shí)施例步驟4)中恢復(fù)VPS完畢后,目標(biāo)主機(jī)還將內(nèi)存文件系統(tǒng)中的內(nèi)存鏡像文件存儲(chǔ)到目標(biāo)主機(jī)磁盤作為VPS鏡像備份,通過VPS鏡像備份能夠?qū)崿F(xiàn)回滾恢復(fù)VPS,更加
安全可靠。本實(shí)施例VPS快速遷移方法的具體實(shí)施步驟如下
第一步、檢查源主機(jī)和目標(biāo)主機(jī)是否滿足遷移基本條件,具體參見步驟1. O 1. 3)。1.1)檢測(cè)目標(biāo)主機(jī)是否運(yùn)行OpenVZ系統(tǒng),如果目標(biāo)主機(jī)未運(yùn)行OpenVZ系統(tǒng),則輸出錯(cuò)誤信息,遷移過程結(jié)束;否則執(zhí)行步驟1. 2)。1. 2)檢測(cè)目標(biāo)主機(jī)是否存在與待遷移VPS相同的VPS,如果目標(biāo)主機(jī)存在與待遷移VPS相同的VPS,則輸出錯(cuò)誤信息,遷移過程結(jié)束;否則執(zhí)行步驟1. 3)。1. 3、檢測(cè)源主機(jī)和目標(biāo)主機(jī)是否均已經(jīng)掛載好tmpfs文件系統(tǒng)對(duì)應(yīng)的/dev/shm目錄,如果源主機(jī)和目標(biāo)主機(jī)中的任意一個(gè)未掛載好tmpfs文件系統(tǒng)對(duì)應(yīng)的/dev/shm目錄,則輸出錯(cuò)誤信息,遷移過程結(jié)束;否則執(zhí)行第二步。第二步、源主機(jī)和目標(biāo)主機(jī)之間進(jìn)行VPS快速遷移操作,具體參見步驟2.1) 2. 5)。
2.1)源主機(jī)凍結(jié)待遷移VPS,將待遷移VPS的動(dòng)態(tài)數(shù)據(jù)生成存儲(chǔ)于源主機(jī)的/dev/shm目錄中的Dumpfile文件作為內(nèi)存鏡像文件。2. 2)源主機(jī)在完成凍結(jié)待遷移VPS后,通過scp遠(yuǎn)程數(shù)據(jù)拷貝命令將Dumpfile文件通過遠(yuǎn)程數(shù)據(jù)拷貝的方式傳輸至目標(biāo)主機(jī)的/dev/shm目錄;同時(shí),源主機(jī)將待遷移VPS的靜態(tài)數(shù)據(jù)文件通過磁盤共享或者數(shù)據(jù)實(shí)時(shí)同步工具與目標(biāo)主機(jī)保持一致,共享存儲(chǔ)模式中源主機(jī)與目標(biāo)主機(jī)的VPS靜態(tài)數(shù)據(jù)文件一致性由磁盤共享解決,分布存儲(chǔ)模式中源主機(jī)與目標(biāo)主機(jī)之間的VPS靜態(tài)數(shù)據(jù)文件一致性由相應(yīng)的數(shù)據(jù)實(shí)時(shí)同步工具軟件解決;
2.3)目標(biāo)主機(jī)對(duì)待遷移VPS進(jìn)行恢復(fù)操作,讀取目標(biāo)主機(jī)的/dev/shm目錄中的內(nèi)存鏡像文件和目標(biāo)主機(jī)磁盤空間中的靜態(tài)文件并開始執(zhí)行restore操作恢復(fù)VPS。2. 4)目標(biāo)主機(jī)將內(nèi)存鏡像文件存儲(chǔ)至目標(biāo)主機(jī)磁盤空間的/dev/dump目錄下,作為VPS鏡像備份以便用于實(shí)現(xiàn)回滾恢復(fù)VPS。2. 5)目標(biāo)主機(jī)完成restore操作后向源主機(jī)發(fā)送確認(rèn)消息,確認(rèn)本次VPS遷移操作完成。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,本發(fā)明的保護(hù)范圍并不僅局限于上述實(shí)施例,凡屬于本發(fā)明思路下的技術(shù)方案均屬于本發(fā)明的保護(hù)范圍。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理前提下的若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種OpenVZ虛擬化的VPS快速遷移方法,其特征在于實(shí)施步驟如下 1)源主機(jī)和目標(biāo)主機(jī)通信,分別判斷目標(biāo)主機(jī)是否運(yùn)行OpenVZ系統(tǒng)、目標(biāo)主機(jī)是否存在相同類型VPS、源主機(jī)和目標(biāo)主機(jī)是否都已掛載內(nèi)存文件系統(tǒng),僅在上述條件均滿足的情況下跳轉(zhuǎn)執(zhí)行下一步; 2)源主機(jī)凍結(jié)待遷移VPS,將待遷移VPS的動(dòng)態(tài)數(shù)據(jù)生成存儲(chǔ)于源主機(jī)內(nèi)存文件系統(tǒng)中的內(nèi)存鏡像文件; 3)源主機(jī)將所述內(nèi)存鏡像文件通過遠(yuǎn)程數(shù)據(jù)拷貝的方式傳輸至目標(biāo)主機(jī)的內(nèi)存文件系統(tǒng)中;將源主機(jī)磁盤中的待遷移VPS的靜態(tài)數(shù)據(jù)文件通過磁盤共享或者數(shù)據(jù)實(shí)時(shí)同步工具與所述目標(biāo)主機(jī)磁盤保持一致; 4)目標(biāo)主機(jī)讀取內(nèi)存文件系統(tǒng)中的所述內(nèi)存鏡像文件,根據(jù)讀取的內(nèi)存鏡像文件和目標(biāo)主機(jī)磁盤中已與源主機(jī)保持一致的所述靜態(tài)數(shù)據(jù)文件恢復(fù)VPS,向源主機(jī)發(fā)送確認(rèn)消息確認(rèn)本次VPS遷移操作完成。
2.根據(jù)權(quán)利要求1所述的OpenVZ虛擬化的VPS快速遷移方法,其特征在于所述內(nèi)存文件系統(tǒng)具體是指Linux操作系統(tǒng)下的tmpfs文件系統(tǒng),所述tmpfs文件系統(tǒng)在Linux操作系統(tǒng)中的虛擬路徑為/dev/shm ;所述步驟I)中判斷源主機(jī)和目標(biāo)主機(jī)是否都已掛載內(nèi)存文件系統(tǒng)具體是指分別判斷源主機(jī)和目標(biāo)主機(jī)的路徑/dev/shm都已經(jīng)存在,如果路徑/dev/shm已經(jīng)存在則判定已掛載內(nèi)存文件系統(tǒng)。
3.根據(jù)權(quán)利要求2所述的OpenVZ虛擬化的VPS快速遷移方法,其特征在于,所述步驟3)中源主機(jī)將內(nèi)存鏡像文件通過遠(yuǎn)程數(shù)據(jù)拷貝的方式傳輸至目標(biāo)主機(jī)的內(nèi)存文件系統(tǒng)中具體是指源主機(jī)使用Linux操作系統(tǒng)環(huán)境下的scp遠(yuǎn)程數(shù)據(jù)拷貝命令將所述內(nèi)存鏡像文件從源主機(jī)的/dev/shm目錄傳輸至目標(biāo)主機(jī)的/dev/shm目錄中。
4.根據(jù)權(quán)利要求1或2或3所述的OpenVZ虛擬化的VPS快速遷移方法,其特征在于所述步驟4)中恢復(fù)VPS完畢后,目標(biāo)主機(jī)還將內(nèi)存文件系統(tǒng)中的所述內(nèi)存鏡像文件存儲(chǔ)到目標(biāo)主機(jī)磁盤作為VPS鏡像備份。
全文摘要
本發(fā)明公開了一種OpenVZ虛擬化的VPS快速遷移方法,其實(shí)施步驟如下1)源主機(jī)檢查源主機(jī)和目標(biāo)主機(jī)是否滿足遷移基本條件,在滿足時(shí)執(zhí)行下一步;2)源主機(jī)凍結(jié)待遷移VPS,將待遷移VPS的動(dòng)態(tài)數(shù)據(jù)生成內(nèi)存鏡像文件;3)源主機(jī)將內(nèi)存鏡像文件通過遠(yuǎn)程數(shù)據(jù)拷貝的方式傳輸至目標(biāo)主機(jī)的內(nèi)存文件系統(tǒng)中;將源主機(jī)磁盤中的待遷移VPS的靜態(tài)數(shù)據(jù)文件通過磁盤共享或者數(shù)據(jù)實(shí)時(shí)同步工具與目標(biāo)主機(jī)磁盤保持一致;4)目標(biāo)主機(jī)讀取內(nèi)存文件系統(tǒng)中的內(nèi)存鏡像文件和目標(biāo)主機(jī)磁盤中的靜態(tài)數(shù)據(jù)文件,根據(jù)內(nèi)存鏡像文件和靜態(tài)數(shù)據(jù)文件恢復(fù)VPS并發(fā)送確認(rèn)消息確認(rèn)本次VPS遷移完成。本發(fā)明具有遷移效率高、遷移速度快、可回滾恢復(fù)的優(yōu)點(diǎn)。
文檔編號(hào)G06F17/30GK103019804SQ20121058207
公開日2013年4月3日 申請(qǐng)日期2012年12月28日 優(yōu)先權(quán)日2012年12月28日
發(fā)明者顏躍進(jìn), 劉曉建, 李俊良, 孔金珠, 戴華東, 吳慶波, 楊沙洲 申請(qǐng)人:中國(guó)人民解放軍國(guó)防科學(xué)技術(shù)大學(xué), 湖南麒麟信息工程技術(shù)有限公司