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