透視微軟LiveMigration動(dòng)態(tài)遷移技術(shù)
Live Migration即動(dòng)態(tài)遷移是Windows Server 2008 R2 Hyper-V其中一項(xiàng)最備受期待的新功能。以下將詳細(xì)描述Windows Server 2008 R2 Hyper-V的動(dòng)態(tài)遷移的信息,包括動(dòng)態(tài)遷移如何運(yùn)行虛擬機(jī),動(dòng)態(tài)遷移在幾種特定情況下的突出作用和執(zhí)行動(dòng)態(tài)遷移的要求。
概況
Live Migration,動(dòng)態(tài)遷移是Windows Server 2008 R2 Hyper-V與Microsoft Hyper-V Server R2新增的特性。利用Hyper-V動(dòng)態(tài)遷移,可以將一個(gè)運(yùn)行中的虛擬機(jī)在沒有任何服務(wù)中斷或者任何停機(jī)時(shí)間從一個(gè)Hyper-V物理主機(jī)移動(dòng)到另外一個(gè)上面。
由于Hyper-V可以在沒有停機(jī)的情況下將運(yùn)行的虛擬機(jī)搬移,這將帶來更大的靈活性和價(jià)值:
提供更好的敏捷性:數(shù)據(jù)中心與多個(gè)Hyper-V物理主機(jī)將可以在用戶使用的性能,縮放和最優(yōu)合并不受影響的情況下把運(yùn)行的虛擬機(jī)們移動(dòng)到最好的物理主機(jī)上。
降低成本,提高生產(chǎn)效率:數(shù)據(jù)中心與多個(gè)Hyper-V物理主機(jī)將可以用更可控的方式維護(hù)這些系統(tǒng),將它們的維護(hù)安排在正常的運(yùn)營時(shí)間內(nèi)。動(dòng)態(tài)遷移可以保持虛擬機(jī)在線。這樣大大的為用戶和管理員提高了生產(chǎn)效率。數(shù)據(jù)中心也將能夠在需求下降時(shí)期通過強(qiáng)有力的增加合并比率和關(guān)閉閑置的物理主機(jī)來降低能耗。
動(dòng)態(tài)遷移Live Migration與快速遷移Quick Migration的比較
快速遷移(Quick Migration)也是Windows Server 2008 Hyper-V和Windows Server 2008 R2 Hyper-V的一個(gè)共同的特點(diǎn)。動(dòng)態(tài)遷移與快速遷移都可以將運(yùn)行的虛擬機(jī)從一個(gè)Hyper-V物理主機(jī)上移動(dòng)到另外一個(gè),他們最主要的區(qū)別是快速遷移Quick Migration移動(dòng)、存儲(chǔ)和恢復(fù)虛擬機(jī)是需要停機(jī)的。而動(dòng)態(tài)遷移Live Migration是使用不同的機(jī)制來移動(dòng)虛擬機(jī)到新的物理計(jì)算機(jī)的。
1、所有的虛擬機(jī)內(nèi)存頁都是從源Hyper-V物理主機(jī)轉(zhuǎn)移到目標(biāo)Hyper-V物理主機(jī)。在這些執(zhí)行過程中,任何虛擬機(jī)內(nèi)存頁的修改都是被追蹤的。
2、當(dāng)?shù)谝徊綀?zhí)行過程中Pages被修改到目標(biāo)地的物理計(jì)算機(jī)上。
3、虛擬機(jī)上VHD文件的存儲(chǔ)句柄被移動(dòng)到目標(biāo)的物理計(jì)算機(jī)上。
4、目標(biāo)虛擬機(jī)在Hyper-V服務(wù)器上是聯(lián)機(jī)的。
動(dòng)態(tài)遷移大大的減少了虛擬機(jī)的遷移的停機(jī)時(shí)間。這使動(dòng)態(tài)遷移成了用戶在需要不間斷工作時(shí)遷移虛擬機(jī)的首選。由于動(dòng)態(tài)遷移的完成時(shí)間要大大的小于虛擬機(jī)遷移過程中的TCP間歇時(shí)間,所以用戶可以在完全不被影響下完成遷移的第3步到第4步。
08年發(fā)布的Windows Server 2008 Hyper-V已經(jīng)支持快速遷移,而Windows Server 2008的R2版本同時(shí)支持快速遷移與動(dòng)態(tài)遷移。所以說動(dòng)態(tài)遷移的R2版本的主要革新的地方。
動(dòng)態(tài)遷移架構(gòu)
Hyper-V動(dòng)態(tài)遷移是被設(shè)計(jì)成不影響用戶使用虛擬機(jī)情況下移動(dòng)運(yùn)行的虛擬機(jī)。通過預(yù)復(fù)制遷移的虛擬機(jī)中的內(nèi)存到目標(biāo)物理主機(jī),動(dòng)態(tài)遷移在一個(gè)移動(dòng)虛擬機(jī)過程中大量的減少了轉(zhuǎn)移時(shí)間,同時(shí)管理員或者腳本在啟動(dòng)動(dòng)態(tài)遷移的時(shí)候可以控制哪臺(tái)計(jì)算機(jī)會(huì)成為此次遷移的目標(biāo)計(jì)算機(jī)。在客戶操作運(yùn)行系統(tǒng)的過程中是不會(huì)感到遷移在進(jìn)行的,所以無特殊配置對(duì)于客戶操作系統(tǒng)是很必要的。
要求:
Hyper-V動(dòng)態(tài)遷移與Hyper-V快速遷移有著相似的要求。對(duì)于已經(jīng)在使用快速遷移的組織來說,轉(zhuǎn)為使用動(dòng)態(tài)遷移是很簡單的。在動(dòng)態(tài)遷移中,物理主機(jī)參與需要配置微軟故障轉(zhuǎn)移群集服務(wù)作為故障轉(zhuǎn)移群集,而且必須使用共享存儲(chǔ)。此外,物理主機(jī)必須使用相同類型的處理器。例如,要使用動(dòng)態(tài)遷移將虛擬機(jī)從Hyper-V物理主機(jī)遷移到另外一個(gè),兩臺(tái)物理主機(jī)必須使用相同制造商的處理器。在這點(diǎn)上動(dòng)態(tài)遷移與快速遷移要求都是一樣的。
以下是Hyper-V動(dòng)態(tài)遷移的一個(gè)完整的要求列表:
Hyper-V動(dòng)態(tài)遷移支持以下版本的Windows Server 2008 R2:
Windows Server 2008 R2 x64 Enterprise Edition
Windows Server 2008 R2 x64 Datacenter Edition
Hyper-V Server 2008 R2也支持動(dòng)態(tài)遷移
動(dòng)態(tài)遷移時(shí)所有的物理主機(jī)都需要被設(shè)置為微軟故障轉(zhuǎn)移群集
故障轉(zhuǎn)移群集支持16個(gè)節(jié)點(diǎn)每群集
群集應(yīng)為動(dòng)態(tài)遷移配置專用網(wǎng)絡(luò)
物理主機(jī)服務(wù)器必須使用相同制造商的處理器
物理主機(jī)上必須配置相同的TCP/IP子網(wǎng)
物理主機(jī)必須能夠訪問共享存儲(chǔ)
建議:
建議在動(dòng)態(tài)遷移中虛擬機(jī)存儲(chǔ)使用群集共享卷
一個(gè)動(dòng)態(tài)遷移在任何時(shí)間任何兩個(gè)群集節(jié)點(diǎn)間可以很活躍的。這就意味著一個(gè)群集將同時(shí)支持節(jié)點(diǎn)數(shù)/2個(gè)動(dòng)態(tài)遷移。例如,一個(gè)16節(jié)點(diǎn)群集將在不超過群集內(nèi)每個(gè)節(jié)點(diǎn)間一個(gè)動(dòng)態(tài)遷移激活的時(shí)間同時(shí)支持8個(gè)動(dòng)態(tài)遷移。
為虛擬機(jī)在一個(gè)群集節(jié)點(diǎn)間傳輸大量的存儲(chǔ)頁的動(dòng)態(tài)遷移配置專門的千兆以太網(wǎng)絡(luò)。
動(dòng)態(tài)遷移如何工作
動(dòng)態(tài)遷移過程的目標(biāo)是盡快盡可能的將一個(gè)運(yùn)行的虛擬機(jī)從一個(gè)源物理主機(jī)移動(dòng)到目標(biāo)物理主機(jī)。一個(gè)動(dòng)態(tài)遷移是管理員通過一下列表中其一的方法啟動(dòng)的。這一過程完成的速度取決于源頭計(jì)算機(jī)和目標(biāo)計(jì)算機(jī)的硬件使用以及網(wǎng)絡(luò)容量。以下是一個(gè)動(dòng)態(tài)遷移啟動(dòng)的三種方式:
A、管理員可以通過故障轉(zhuǎn)移群集管理控制臺(tái)啟動(dòng)一個(gè)動(dòng)態(tài)遷移
B、虛擬機(jī)管理者是管理物理主機(jī),那么當(dāng)它們被設(shè)置成支持移動(dòng)遷移時(shí),虛擬機(jī)管理器的管理控制臺(tái)可以啟動(dòng)一個(gè)動(dòng)態(tài)遷移。
C、一個(gè)WMI或PowerShell腳本可以啟動(dòng)一個(gè)動(dòng)態(tài)遷移。
Hyper-V動(dòng)態(tài)遷移支持的任何客戶操作系統(tǒng),在一個(gè)動(dòng)態(tài)遷移啟動(dòng)后,下面的過程將發(fā)生:
1、動(dòng)態(tài)遷移啟動(dòng)
啟動(dòng)是動(dòng)態(tài)遷移的第一階段,源物理主機(jī)與目標(biāo)物理主機(jī)建立一個(gè)TCP的連接。這個(gè)連接被用來傳送虛擬機(jī)設(shè)置數(shù)據(jù)給目標(biāo)物理主機(jī)。依據(jù)設(shè)置數(shù)據(jù)在目標(biāo)地物理主機(jī)上建立基干虛擬機(jī)是建立的,內(nèi)存分配給目標(biāo)虛擬機(jī)。
圖1 動(dòng)態(tài)遷移的安裝
#p#
2、內(nèi)存頁從源節(jié)點(diǎn)轉(zhuǎn)移到目標(biāo)節(jié)點(diǎn)
分配給遷移的虛擬機(jī)的內(nèi)存是通過網(wǎng)絡(luò)復(fù)制到目標(biāo)物理主機(jī)的。這種內(nèi)存是指遷移的虛擬主機(jī)的工作區(qū)。一個(gè)內(nèi)存頁為4K字節(jié)的大小。比如,假設(shè)一個(gè)命名為NYC-SVR2的虛擬機(jī),遷移到另外一個(gè)Hyper-V物理主機(jī)上被設(shè)置了1024MB的內(nèi)存。整個(gè)1024MB的內(nèi)存將被分配給這臺(tái)虛擬機(jī)來組成NYC-SVR2的工作組。利用的NYC-SVR2工作組內(nèi)的內(nèi)存頁復(fù)制到目標(biāo)Hyper-V物理主機(jī)。
除了復(fù)制NYC-SVR2的工作組到目標(biāo)物理主機(jī),源物理主機(jī)上Hyper-V會(huì)監(jiān)控NYC-SVR2工作組內(nèi)的內(nèi)存頁。被NYC-SVR2修改的內(nèi)存頁,它們將被追蹤并標(biāo)記為正在被修改中。修正的頁面清單僅僅是內(nèi)存頁的清單,在NYC-SVR2的工作組開始修正后NYC-SVR2即修改。在遷移的這一階段,遷移的虛擬機(jī)持續(xù)運(yùn)轉(zhuǎn)。Hyper-V會(huì)經(jīng)歷好幾次復(fù)制內(nèi)存過程,每次需要復(fù)制到目標(biāo)物理計(jì)算機(jī)的內(nèi)存頁數(shù)量減少。在工作組被復(fù)制到目標(biāo)物理主機(jī)后,動(dòng)態(tài)遷移開始下一步。
圖2 內(nèi)存頁轉(zhuǎn)移
3、內(nèi)存頁的轉(zhuǎn)移
最終的內(nèi)存復(fù)制過程是將NYC-SVR2剩余修改完畢的內(nèi)存頁面復(fù)制到目標(biāo)物理主機(jī)。源物理主機(jī)將虛擬機(jī)的注冊表和設(shè)備狀態(tài)傳送到目標(biāo)物理主機(jī)。在動(dòng)態(tài)遷移的這一步中,源物理主機(jī)與目標(biāo)物理主機(jī)間的網(wǎng)絡(luò)寬帶可利用性對(duì)于動(dòng)態(tài)遷移來說是至關(guān)重要的。由于這一原因,建議使用千兆以太網(wǎng)。源物理主機(jī)傳送遷移中的虛擬機(jī)工作組的修改頁面越快,動(dòng)態(tài)遷移完成的也越快。
重要的是要注意到,在這一階段,所有頁面?zhèn)鬏數(shù)侥繕?biāo)物理主機(jī)的遷移過程長短和傳輸量多少是基于虛擬機(jī)訪問及其修改內(nèi)存頁的活躍程度。在修改的內(nèi)存頁被完全的復(fù)制到目標(biāo)物理主機(jī)之后,目標(biāo)物理開始更新NYC-SVR2的工作組。這意味著NYC-SVR2開始遷移過程后,NYC-SVR2的工作組就開始存在于目標(biāo)物理主機(jī)上了。
但要注意:在這個(gè)階段,動(dòng)態(tài)遷移過程可能隨時(shí)被取消。
圖3 修正的頁面?zhèn)鬏?/P>
4、源到目標(biāo)存儲(chǔ)句柄的移動(dòng)
在動(dòng)態(tài)遷移的第四步中,NYC-SVR2聯(lián)合存儲(chǔ)控制,如任何的VHD文件或者磁盤傳遞一樣,被傳送到目標(biāo)物理主機(jī)。
圖4 存儲(chǔ)句柄移動(dòng)
5、目標(biāo)服務(wù)器上虛擬機(jī)聯(lián)機(jī)
在動(dòng)態(tài)遷移的第五步中,目標(biāo)服務(wù)器對(duì)NYC-SVR2的工作組進(jìn)行更新,NYC-SVR2也可以訪問存在的存儲(chǔ)器。這個(gè)時(shí)候,NYC-SVR2被恢復(fù)。
圖5 虛擬機(jī)恢復(fù)
#p#
6、執(zhí)行網(wǎng)絡(luò)清理
在動(dòng)態(tài)遷移的最后步驟,遷移的虛擬機(jī)已經(jīng)在目標(biāo)服務(wù)器上運(yùn)行。這個(gè)時(shí)侯,信息發(fā)送到物理網(wǎng)絡(luò)交換器促使重新獲取遷移虛擬機(jī)的MAC地址,以發(fā)送到或者來自NYC-SVR2的網(wǎng)絡(luò)通信量可以使用正確的交換機(jī)端口。動(dòng)態(tài)遷移過程的完成時(shí)間大大的小于遷移虛擬機(jī)的TCP間歇時(shí)間。TCP間歇時(shí)間取決于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和其他因素。下面的這些變量可能會(huì)影響到動(dòng)態(tài)遷移的速度:
A、虛擬機(jī)上大量修正的頁面文件遷移:大量的修正頁面使VM將保持遷移狀態(tài)。
B、源和目標(biāo)物理計(jì)算機(jī)之間的網(wǎng)絡(luò)可用帶寬較少
C、源和目標(biāo)計(jì)算機(jī)的硬件配置較低
D、Hyper-V物理主機(jī)和共享存儲(chǔ)間的可用寬帶(網(wǎng)絡(luò)或光線通道)
利用動(dòng)態(tài)遷移實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)中心
利用Hyper-V動(dòng)態(tài)遷移,組織可以實(shí)現(xiàn)動(dòng)態(tài)的IT環(huán)境。動(dòng)態(tài)的IT環(huán)境根據(jù)實(shí)際使用和服務(wù)要求提供便利服務(wù)器,而不是根據(jù)呆板的標(biāo)準(zhǔn),如預(yù)期的需求。動(dòng)態(tài)IT環(huán)境的管理邏輯根據(jù)實(shí)際的使用和需求分配虛擬機(jī)到Hyper-V物理主機(jī)。
由于負(fù)載波動(dòng),虛擬機(jī)可以在保持硬件利用率的情況下在進(jìn)行物理主機(jī)間進(jìn)行傳輸。閑置的物理主機(jī)被關(guān)閉,這樣就減少了了能耗與散熱的需求,因此有助于減少運(yùn)行成本。物理主機(jī)容量與虛擬機(jī)需求不匹配的問題可以更容易的解決。因?yàn)樘摂M機(jī)移動(dòng)到另外一個(gè)物理主機(jī)上時(shí)不需要為停機(jī)提供更多的可用處理容量。如果虛擬機(jī)在放置到服務(wù)器上后,物理主機(jī)性能或使用更改,虛擬機(jī)可以很容易的被遷移到擁有更多自由容量的服務(wù)器上。虛擬機(jī)管理器可以方便的用來報(bào)告當(dāng)前物理主機(jī)的利用率,并可以在發(fā)生問題時(shí)幫助虛擬機(jī)選擇理想的候選目標(biāo)。
圖6 工作量搬移到更強(qiáng)有力的服務(wù)器
部署動(dòng)態(tài)遷移
因?yàn)閃indows Server 2008緩解了配置過程中的故障轉(zhuǎn)移群集,所以部署動(dòng)態(tài)遷移很容易。首先,完成必要的規(guī)劃,以確定有多少群集節(jié)點(diǎn)會(huì)執(zhí)行。下一步,確保物理主機(jī)和共享存儲(chǔ)可以滿足微軟故障轉(zhuǎn)移群集使用時(shí)的要求。這個(gè)過程包括以下高級(jí)別步驟:
配置Windows Server 2008 R2的故障轉(zhuǎn)移群集
連接物理主機(jī)到網(wǎng)絡(luò)和內(nèi)存
安裝Hyper-V和故障轉(zhuǎn)移群集到物理主機(jī)上
啟動(dòng)群集共享卷
使虛擬機(jī)有高的可用性
測試動(dòng)態(tài)遷移
管理動(dòng)態(tài)遷移
使用Hyper-V動(dòng)態(tài)遷移為組織增加了巨大的價(jià)值。微軟SCVMM2008 R2虛擬機(jī)管理器的虛擬機(jī)管理和報(bào)告功能與動(dòng)態(tài)遷移相結(jié)合可以用于減少需要管理的虛擬化數(shù)據(jù)中心。虛擬機(jī)管理器與動(dòng)態(tài)遷移的結(jié)合可以提高組織應(yīng)對(duì)不斷變化的使用程度和要求的能力。虛擬機(jī)管理器在管理同一組織中的不同Hyper-V物理主機(jī)時(shí)非常的有用,如位于遠(yuǎn)程站點(diǎn)的Hyper-V物理主機(jī)。
當(dāng)虛擬機(jī)管理器管理管理一個(gè)被設(shè)置成高可用性的Hyper-V主機(jī)時(shí),虛擬機(jī)管理器可以從虛擬機(jī)管理器管理控制臺(tái)發(fā)起快算遷移或者動(dòng)態(tài)遷移。這將為所有的虛擬機(jī)管理任務(wù)提供了一個(gè)獨(dú)立的管理工具,包括動(dòng)態(tài)遷移。
由于虛擬機(jī)管理器的管理控制臺(tái)可以為每個(gè)任務(wù)任意的輸出PowerShell腳本,未來的共同任務(wù)迭代可以很容易的以最小的編程技術(shù)要求自動(dòng)執(zhí)行。當(dāng)然這也延伸到了動(dòng)態(tài)遷移。使用虛擬機(jī)管理器啟動(dòng)一個(gè)動(dòng)態(tài)遷移在不停機(jī)的狀態(tài)下來將運(yùn)行的虛擬機(jī)遷移到另外一個(gè)物理主機(jī)上,這樣在以后可以產(chǎn)生PowerShell腳本來啟動(dòng)一個(gè)同樣的任務(wù)或輕易的修改在不同的虛擬機(jī)上或不同的源與目標(biāo)物理主機(jī)的動(dòng)態(tài)遷移。
虛擬機(jī)管理器可以全面的提供虛擬主機(jī)的利用率和虛擬機(jī)的位置。這些報(bào)告可以被用于決策新的虛擬機(jī)位置的過程中或者現(xiàn)有的虛擬機(jī)遷移。特別是在像很多數(shù)據(jù)中心的密集的環(huán)境中或者是像遠(yuǎn)程站點(diǎn)的分散的環(huán)境中。良好的虛擬性能信息,對(duì)于會(huì)議的正常運(yùn)行時(shí)間和要求的可用性非常的重要。虛擬機(jī)管理器便利的為有效的管理多個(gè)Hyper-V物理主機(jī)或虛擬機(jī)提供所需信息。由于Hyper-V動(dòng)態(tài)遷移使虛擬機(jī)由一個(gè)物理主機(jī)移動(dòng)到另外一個(gè)變的簡單了,獲得關(guān)于Hyper-V物理主機(jī)的良好信息在環(huán)境中尤其的重要。
總的來說,Windows Server 2008 R2 Hyper-V動(dòng)態(tài)遷移的特點(diǎn)就是為Hyper-V大大的增加了靈活性。對(duì)Hyper-V物理主機(jī)間的運(yùn)行虛擬機(jī)無停機(jī)的遷移能力不僅使用戶更容易的維護(hù)物理主機(jī)而且它也為動(dòng)態(tài)縮放的服務(wù)器資源開辟了新的可能性,以便有效地滿足不斷變化的需求。
【編輯推薦】