Microsoft早在Windows Server 2008作業系統內便已開始內建Hyper-V 1.0虛擬化技術,到了Windows Server 2012雲端作業系統(Cloud OS)則精進為Hyper-V 3.0,今年6月TechEd 2013大會上所發佈的Windows Server 2012 R2技術預覽版本更增加了許多功能。
2. 使用者帳戶及電腦帳戶的權限設定
- 設定限制委派的使用者帳戶,必須隸屬於Domain Administrators群組的成員。
- 設定和執行即時移轉的使用者帳戶,必須隸屬於本機Hyper-V Administrators群組的成員。
- 必須同時是來源端與目的端主機上,隸屬於Administrators群組的成員。
3. 即時移轉驗證通訊協定方式
- 採用「CredSSP」驗證通訊協定方式,則只能夠在「來源端」Hyper-V主機操作,才能順利地將VM虛擬主機執行「推送」即時遷移的動作,否則將產生錯誤,並停止執行即時遷移。
- 採用「Kerberos」驗證通訊協定方式,則必須在Active Directory網域的Computers容器當中,針對兩台主機所屬的電腦帳戶設定「委派」信任服務,否則會產生錯誤,並停止執行即時遷移。
4. 即時遷移網路流量
- 建置專門使用的即時遷移傳輸網路,避免與其他服務混用造成傳輸瓶頸。
- 建置專用受信任的私有即時遷移網路,因為即時遷移流量在執行資料移轉動作時,並不會「加密」所傳輸的資料流量,因此可以大幅提高主機整體安全性。
即時遷移運作流程
即時遷移機制,可以將線上運作(Power On)中的VM虛擬主機,在不影響其使用者存取服務及應用程式運作的狀況下,將VM虛擬主機由Hyper-V Host A,線上不中斷地遷移到Hyper-V Host B。以下為即時遷移機制的運作流程拆解:
虛擬化平台管理人員於管理介面中觸發執行即時遷移的動作。此時,兩台Hyper-V主機建立連接程序(TCP Connection),並在目的端Hyper-V主機內建立同樣名稱的VM虛擬主機,並且擁有與來源端一樣的VM虛擬主機「設定內容(Configuration Data)」,如圖3所示。
|
▲圖3 即時遷移(Live Migration)初始化階段。 |
來源端Hyper-V主機中線上運作的VM虛擬主機,將其擁有的「記憶體內容(Memory Content)」複製為一個副本後切割成許多Memory Page(每個Page為4 Kilobytes),進行傳送到目的端Hyper-V主機的任務(圖4)。
|
▲圖4 進行記憶體內容(Memory Content)複製階段。 |
當初始記憶體內容完成由來源端VM虛擬主機複製到目的端時,這個時候來源端VM虛擬主機的記憶體狀態,將會因為使用者的存取行為而有所改變。
因此,此階段中將透過「追蹤(Tracked)及標記(Marked)」機制,將剩餘的變動記憶體區塊(Modified Memory Pages)再次傳送到目的端主機當中,直到兩端主機之間的記憶體狀態「一致(Up-to-Date)」時,目的端VM虛擬主機便準備接手服務如圖5所示。
|
▲圖5 傳送變動記憶體區塊並準備接手服務。 |
此時「切換」成由目的端Hyper-V主機當中,所運作的VM虛擬主機存取共用儲存設備內的檔案(VHD/VHDX Disks或Pass-Through Disks),如圖6所示。
|
▲圖6 目的端VM虛擬主機接手儲存資源。 |
目的端VM虛擬主機執行「恢復(Resume)」動作,正式接手來源端VM虛擬主機的服務,但因為所處Hyper-V主機實體網路卡MAC Address不同,此時將發送RARP網路封包給實體交換器,以便交換器重新學習並更新MAC Address Tables內容,進而找到正確的MAC Address和Port號進行通訊。
此階段耗用時間非常短暫,若此時有外部主機持續ping該台VM虛擬主機的話,基本上不會掉任何ICMP回應封包(最多掉一個ICMP回應封包),如圖7所示。
|
▲圖7 目的端VM虛擬主機順利接手服務。 |
實作即時遷移
接著實作即時遷移,將分成Hyper-V主機信任委派服務類型、Hyper-V主機即時移轉功能、測試即時移轉功能三部分進行解說。