所述源虛擬機(jī)拷貝到所述 目的虛擬機(jī)的過(guò)程中是否發(fā)生改變;
[0151]暫停單元,用于暫停所述源虛擬機(jī)的運(yùn)行,并將所標(biāo)記的所述源虛擬機(jī)的每個(gè)內(nèi) 存頁(yè)面是否發(fā)生改變的狀態(tài)從所述源主機(jī)同步傳送到所述目的主機(jī),并將對(duì)外部請(qǐng)求的服 務(wù)從所述源虛擬機(jī)轉(zhuǎn)移到所述目的虛擬機(jī);
[0152]訪問(wèn)單元,用于響應(yīng)于所述目的主機(jī)監(jiān)控到要被訪問(wèn)的目的虛擬機(jī)的內(nèi)存頁(yè)面被 標(biāo)記為發(fā)生了改變,恢復(fù)所述源虛擬機(jī)的運(yùn)行,以在所述源虛擬機(jī)上對(duì)相應(yīng)的源虛擬機(jī)的 內(nèi)存頁(yè)面進(jìn)行訪問(wèn);以及
[0153]管理單元,用于將所述相應(yīng)的源虛擬機(jī)的內(nèi)存頁(yè)面?zhèn)魉偷剿瞿康奶摂M機(jī),將所 述相應(yīng)的源虛擬機(jī)的內(nèi)存頁(yè)面的狀態(tài)重新標(biāo)記為未發(fā)生改變,以及將重新標(biāo)記后的所述相 應(yīng)的源虛擬機(jī)的內(nèi)存頁(yè)面的狀態(tài)同步到所述目的主機(jī)。
[0154]附記2、根據(jù)附記1所述的虛擬機(jī)內(nèi)存遷移裝置,其中,所述暫停單元進(jìn)一步被配 置成通過(guò)將所述源虛擬機(jī)的CPU狀態(tài)傳送到所述目的虛擬機(jī),來(lái)將對(duì)所述外部請(qǐng)求的服務(wù) 從所述源虛擬機(jī)轉(zhuǎn)移到所述目的虛擬機(jī)。
[0155]附記3、根據(jù)附記1所述的虛擬機(jī)內(nèi)存遷移裝置,其中,所述訪問(wèn)單元包括:
[0156]CPU狀態(tài)接收子單元,用于接收來(lái)自所述目的虛擬機(jī)的CPU狀態(tài);
[0157] 訪問(wèn)子單元,用于通過(guò)將所述源虛擬機(jī)的CPU狀態(tài)設(shè)置為接收到的所述目的虛擬 機(jī)的CPU狀態(tài)來(lái)對(duì)所述相應(yīng)的源虛擬機(jī)的內(nèi)存頁(yè)面進(jìn)行訪問(wèn)。
[0158] 附記4、根據(jù)附記1至3中任意一項(xiàng)所述的虛擬機(jī)內(nèi)存遷移裝置,其中,所述訪問(wèn)單 元還包括:
[0159] 入棧子單元,用于將所述相應(yīng)的源虛擬機(jī)的內(nèi)存頁(yè)面的頁(yè)面號(hào)壓入棧;
[0160]CPU狀態(tài)傳送子單元,用于將所述源虛擬機(jī)的CPU狀態(tài)傳送到所述目的虛擬機(jī);以 及
[0161] 暫停子單元,用于暫停所述源虛擬機(jī)的運(yùn)行。
[0162] 附記5、根據(jù)附記4所述的虛擬機(jī)內(nèi)存遷移裝置,其中,所述管理單元通過(guò)后臺(tái)守 護(hù)進(jìn)程實(shí)施,所述后臺(tái)守護(hù)進(jìn)程將在所述源虛擬機(jī)的內(nèi)存頁(yè)面被拷貝到目的虛擬機(jī)的過(guò)程 中發(fā)生改變的源虛擬機(jī)的內(nèi)存頁(yè)面從源虛擬機(jī)再次拷貝到目的虛擬機(jī),并且通過(guò)監(jiān)聽(tīng)所述 棧來(lái)優(yōu)先拷貝所述相應(yīng)的源虛擬機(jī)的內(nèi)存頁(yè)面。
[0163] 附記6.根據(jù)附記1至3中任意一項(xiàng)所述的虛擬機(jī)內(nèi)存遷移裝置,其中,所述源主 機(jī)上的已分配但未使用的源虛擬機(jī)內(nèi)存頁(yè)面無(wú)需拷貝到所述目的主機(jī)上的目的虛擬機(jī)。
[0164] 附記7.根據(jù)附記1至3中任意一項(xiàng)所述的虛擬機(jī)內(nèi)存遷移裝置,其中,所標(biāo)記的 所述源虛擬機(jī)的每個(gè)內(nèi)存頁(yè)面是否發(fā)生改變的狀態(tài)利用數(shù)據(jù)結(jié)構(gòu)來(lái)管理。
[0165] 附記8、一種目的主機(jī)上的虛擬機(jī)內(nèi)存遷移裝置,包括:
[0166] 虛擬機(jī)內(nèi)存頁(yè)面保存單元,用于保存從源主機(jī)上的源虛擬機(jī)拷貝過(guò)來(lái)的源虛擬機(jī) 的內(nèi)存頁(yè)面;
[0167] 內(nèi)存頁(yè)面狀態(tài)保存單元,用于保存在從所述源虛擬機(jī)拷貝所述源虛擬機(jī)的內(nèi)存頁(yè) 面的過(guò)程中每個(gè)源虛擬機(jī)的內(nèi)存頁(yè)面是否發(fā)生改變的狀態(tài);
[0168]目的虛擬機(jī)監(jiān)控單元,用于在對(duì)外部請(qǐng)求提供服務(wù)時(shí)監(jiān)控對(duì)目的虛擬機(jī)的內(nèi)存頁(yè) 面的訪問(wèn),如果監(jiān)控到要被訪問(wèn)的目的虛擬機(jī)的內(nèi)存頁(yè)面被標(biāo)記為發(fā)生了改變,暫停所述 目的虛擬機(jī),并將對(duì)標(biāo)記為發(fā)生了改變的所述內(nèi)存頁(yè)面的訪問(wèn)從所述目的虛擬機(jī)轉(zhuǎn)移到所 述源虛擬機(jī);
[0169] 管理單元,用于接收來(lái)自所述源虛擬機(jī)的相應(yīng)的源虛擬機(jī)的內(nèi)存頁(yè)面以及重新標(biāo) 記后的所述相應(yīng)的源虛擬機(jī)的內(nèi)存頁(yè)面的狀態(tài),并且恢復(fù)所述目的虛擬機(jī)的運(yùn)行。
[0170] 附記9、根據(jù)附記8所述的虛擬機(jī)內(nèi)存遷移裝置,其中,所述目的虛擬機(jī)監(jiān)控單元 進(jìn)一步被配置成通過(guò)將所述目的虛擬機(jī)的所述CPU狀態(tài)傳送到所述源虛擬機(jī),來(lái)將對(duì)所述 目的虛擬機(jī)進(jìn)行訪問(wèn)轉(zhuǎn)移到對(duì)所述源虛擬機(jī)進(jìn)行訪問(wèn)。
[0171] 附記10、一種虛擬機(jī)遷移系統(tǒng),包括如附記1所述的源主機(jī)上的虛擬機(jī)內(nèi)存遷移 裝置和如附記8所述的目的主機(jī)上的虛擬機(jī)內(nèi)存遷移裝置。
【主權(quán)項(xiàng)】
1. 一種源主機(jī)上的虛擬機(jī)內(nèi)存遷移裝置,包括: 初始拷貝單元,用于初始地將源主機(jī)上的源虛擬機(jī)的內(nèi)存頁(yè)面全部拷貝到目的主機(jī)上 的目的虛擬機(jī); 標(biāo)記單元,用于標(biāo)記所述源虛擬機(jī)的每個(gè)內(nèi)存頁(yè)面在從所述源虛擬機(jī)拷貝到所述目的 虛擬機(jī)的過(guò)程中是否發(fā)生改變; 暫停單元,用于暫停所述源虛擬機(jī)的運(yùn)行,將所標(biāo)記的所述源虛擬機(jī)的每個(gè)內(nèi)存頁(yè)面 是否發(fā)生改變的狀態(tài)從所述源主機(jī)傳送到所述目的主機(jī),并將對(duì)外部請(qǐng)求的服務(wù)從所述源 虛擬機(jī)轉(zhuǎn)移到所述目的虛擬機(jī); 訪問(wèn)單元,用于響應(yīng)于所述目的主機(jī)監(jiān)控到要被訪問(wèn)的目的虛擬機(jī)的內(nèi)存頁(yè)面被標(biāo)記 為發(fā)生了改變,恢復(fù)所述源虛擬機(jī)的運(yùn)行,以在所述源虛擬機(jī)上對(duì)相應(yīng)的源虛擬機(jī)的內(nèi)存 頁(yè)面進(jìn)行訪問(wèn);以及 管理單元,用于將所述相應(yīng)的源虛擬機(jī)的內(nèi)存頁(yè)面?zhèn)魉偷剿瞿康奶摂M機(jī),將所述相 應(yīng)的源虛擬機(jī)的內(nèi)存頁(yè)面的狀態(tài)重新標(biāo)記為未發(fā)生改變,以及將重新標(biāo)記后的所述相應(yīng)的 源虛擬機(jī)的內(nèi)存頁(yè)面的狀態(tài)同步到所述目的主機(jī)。2. 根據(jù)權(quán)利要求1所述的虛擬機(jī)內(nèi)存遷移裝置,其中,所述暫停單元進(jìn)一步被配置成 通過(guò)將所述源虛擬機(jī)的CPU狀態(tài)傳送到所述目的虛擬機(jī),來(lái)將對(duì)所述外部請(qǐng)求的服務(wù)從所 述源虛擬機(jī)轉(zhuǎn)移到所述目的虛擬機(jī)。3. 根據(jù)權(quán)利要求1所述的虛擬機(jī)內(nèi)存遷移裝置,其中,所述訪問(wèn)單元包括: CPU狀態(tài)接收子單元,用于接收來(lái)自所述目的虛擬機(jī)的CPU狀態(tài); 訪問(wèn)子單元,用于通過(guò)將所述源虛擬機(jī)的CPU狀態(tài)設(shè)置為接收到的所述目的虛擬機(jī)的CHJ狀態(tài)來(lái)對(duì)所述相應(yīng)的源虛擬機(jī)的內(nèi)存頁(yè)面進(jìn)行訪問(wèn)。4. 根據(jù)權(quán)利要求1至3中任意一項(xiàng)所述的虛擬機(jī)內(nèi)存遷移裝置,其中,所述訪問(wèn)單元還 包括: 入棧子單元,用于將所述相應(yīng)的源虛擬機(jī)的內(nèi)存頁(yè)面的頁(yè)面號(hào)壓入棧; CHJ狀態(tài)傳送子單元,用于將所述源虛擬機(jī)的CPU狀態(tài)傳送到所述目的虛擬機(jī);以及 暫停子單元,用于暫停所述源虛擬機(jī)的運(yùn)行。5. 根據(jù)權(quán)利要求4所述的虛擬機(jī)內(nèi)存遷移裝置,其中,所述管理單元通過(guò)后臺(tái)守護(hù)進(jìn) 程來(lái)實(shí)施,所述后臺(tái)守護(hù)進(jìn)程將在所述源虛擬機(jī)的內(nèi)存頁(yè)面被拷貝到目的虛擬機(jī)的過(guò)程中 發(fā)生改變的源虛擬機(jī)的內(nèi)存頁(yè)面從源虛擬機(jī)再次拷貝到目的虛擬機(jī),并且通過(guò)監(jiān)聽(tīng)所述棧 來(lái)優(yōu)先拷貝所述相應(yīng)的源虛擬機(jī)的內(nèi)存頁(yè)面。6. 根據(jù)權(quán)利要求1至3中任意一項(xiàng)所述的虛擬機(jī)內(nèi)存遷移裝置,其中,已分配給所述源 虛擬機(jī)但未使用的內(nèi)存頁(yè)面無(wú)需拷貝到所述目的虛擬機(jī)。7. 根據(jù)權(quán)利要求1至3中任意一項(xiàng)所述的虛擬機(jī)內(nèi)存遷移裝置,其中,所標(biāo)記的所述源 虛擬機(jī)的每個(gè)內(nèi)存頁(yè)面是否發(fā)生改變的狀態(tài)利用數(shù)據(jù)結(jié)構(gòu)來(lái)管理。8. -種目的主機(jī)上的虛擬機(jī)內(nèi)存遷移裝置,包括: 虛擬機(jī)內(nèi)存頁(yè)面保存單元,用于保存從源主機(jī)上的源虛擬機(jī)拷貝過(guò)來(lái)的源虛擬機(jī)的內(nèi) 存頁(yè)面; 內(nèi)存頁(yè)面狀態(tài)保存單元,用于保存在從所述源虛擬機(jī)拷貝所述源虛擬機(jī)的內(nèi)存頁(yè)面的 過(guò)程中每個(gè)源虛擬機(jī)的內(nèi)存頁(yè)面是否發(fā)生改變的狀態(tài); 目的虛擬機(jī)監(jiān)控單元,用于在對(duì)外部請(qǐng)求提供服務(wù)時(shí)監(jiān)控對(duì)目的虛擬機(jī)的內(nèi)存頁(yè)面的 訪問(wèn),如果監(jiān)控到要被訪問(wèn)的目的虛擬機(jī)的內(nèi)存頁(yè)面被標(biāo)記為發(fā)生了改變,暫停所述目的 虛擬機(jī),并將對(duì)標(biāo)記為發(fā)生了改變的所述內(nèi)存頁(yè)面的訪問(wèn)從所述目的虛擬機(jī)轉(zhuǎn)移到所述源 虛擬機(jī); 管理單元,用于接收來(lái)自所述源虛擬機(jī)的相應(yīng)的源虛擬機(jī)的內(nèi)存頁(yè)面以及重新標(biāo)記后 的所述相應(yīng)的源虛擬機(jī)的內(nèi)存頁(yè)面的狀態(tài),并且恢復(fù)所述目的虛擬機(jī)的運(yùn)行。9. 根據(jù)權(quán)利要求8所述的虛擬機(jī)內(nèi)存遷移裝置,其中,所述目的虛擬機(jī)監(jiān)控單元進(jìn)一 步被配置成通過(guò)將所述目的虛擬機(jī)的所述CPU狀態(tài)傳送到所述源虛擬機(jī),來(lái)將對(duì)所述目的 虛擬機(jī)進(jìn)行訪問(wèn)轉(zhuǎn)移到對(duì)所述源虛擬機(jī)進(jìn)行訪問(wèn)。10. -種虛擬機(jī)遷移系統(tǒng),包括如權(quán)利要求1所述的源主機(jī)上的虛擬機(jī)內(nèi)存遷移裝置 和如權(quán)利要求8所述的目的主機(jī)上的虛擬機(jī)內(nèi)存遷移裝置。
【專(zhuān)利摘要】本發(fā)明涉及源主機(jī)和目的主機(jī)上的虛擬機(jī)內(nèi)存遷移裝置、方法及系統(tǒng)。源主機(jī)上的虛擬機(jī)內(nèi)存遷移裝置包括:初始拷貝單元、標(biāo)記單元、暫停單元、訪問(wèn)單元、以及管理單元。目的主機(jī)上的虛擬機(jī)內(nèi)存遷移裝置包括:虛擬機(jī)內(nèi)存頁(yè)面保存單元、內(nèi)存頁(yè)面狀態(tài)保存單元、目的虛擬機(jī)監(jiān)控單元、管理單元。該虛擬機(jī)遷移系統(tǒng)包括源主機(jī)上的虛擬機(jī)內(nèi)存遷移裝置和目的主機(jī)上的虛擬機(jī)內(nèi)存遷移裝置。根據(jù)本發(fā)明的裝置、方法及系統(tǒng),可以減少缺頁(yè)中斷的產(chǎn)生,提高缺頁(yè)訪問(wèn)的效率,減少遷移對(duì)服務(wù)性能的影響。
【IPC分類(lèi)】G06F9/48, G06F9/455
【公開(kāi)號(hào)】CN105335223
【申請(qǐng)?zhí)枴緾N201410281665
【發(fā)明人】馬磊, 鄒綱, 皮冰鋒, 張軍
【申請(qǐng)人】富士通株式會(huì)社
【公開(kāi)日】2016年2月17日
【申請(qǐng)日】2014年6月20日