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