簡介 Windows Server “8 (2012)” Hyper-V 網路虛擬化:在雲端環境中達成快速遷移和工作負載隔離

我們都聽說過伺服器虛擬化所帶來的靈活性。但是,我們與相關領域人員之間討論後,發現虛擬化的全部潛力還是遠遠超出他們所能承受的能力範圍。特別是缺少靈活的網路組態設定限制了您以合理的成本達到靈活性。  
Windows Server “8 (2012)”是優化的雲端作業系統,它在組態設定 私有雲、混合雲、公有雲 解決方案方面提供選擇和靈活性。Bill Laing 在部落格文章(Windows Server “8”Beta Available Now)當中簡要介紹了相關功能其中包括 Hyper-V 網路虛擬化。在本篇部落格文章當中 Sandeep Singhal(Windows 網路團隊總經理)和 Ross Ortega(Windows 網路團隊首席專案經理),介紹了採用雲端環境的一些問題,以及 Windows Server “8 (2012)” 中的 Hyper-V 網路虛擬化將如何解決這些難題。   
Cheers!– Jeffrey Snover

我們花費了數年的時間與使用者們探討他們尚未向在工作環境中部署雲端環境的原因。我們經常聽到三個主要問題。第一點,他們希望籍由靈活的混合雲解決方案逐漸開始將企業中個別服務遷移到雲端環境中。第二點,將個別服務遷移到雲端環境上的作業流程相當困難。因為它枯燥乏味、耗費時間、需要手動操作、容易出錯…等。第三點,管理人員對於遷移到雲端環境的同時,需要保持與其它承租用戶隔離的能力表示擔憂,私有雲中的其它業務部門或公有雲中的競爭對手同樣也是如此。最後,無論您是要建構自己的私有雲,或是考慮使用公有雲環境您都希望能夠輕鬆管理,在任何地方都能夠靈活的部署VM 虛擬主機(也就是說可以在雲端環境之中,也可以在雲端環境之外)並且能隔離工作負載。

網路靈活性: 未履行的承諾
考慮到上述的所有擔憂,管理人員們需要能控制並且靈活的將服務遷移到雲端環境上,遷移到不同的雲端環境供應商,甚至將服務遷移回企業資料中心內。但是,這是一項相當密集的作業流程,原因在於將服務遷移到特定的雲端環境上時,雲端主機代管服務供應商有可能要求客戶們需要更改服務的 IP 位址。這看起來似乎是一個微不足道的部署細節,但是 IP 位址不僅僅只是網路組態設定人員為了定址而任意設定的。IP 位址對於企業來說具有實實在在的含義。許多網路、安全、符合性和績效原則包含都依賴於指定服務的 IP 位址。遷移到雲端環境上表示必須要重新組態設定相關原則。當然,您必須要先查閱所有原則,然後與控制這些原則的不同組織進行協調。如果想遷移到不同的雲端供應商,則新的主機代管服務提供者應該要分配不同的 IP 位址,而這也是需要重新撰寫原則。目前的情況阻礙了許多客戶們和應用情境採用雲端技術。   
客戶們希望Windows 在雲端環境中的服務與在內部資料中心上運作的服務相似,同時又能遵守現有的原則並且與雲端代管環境中運作的其它VM 虛擬主機能互相隔離。當遷移到雲端環境上時,客戶們希望他們的資料如同在自已的資料中心中運作一樣可以獨立且安全。   
總之,您需要能夠在任何雲端環境中的任何伺服器上運作任何服務。   
我們認真對待此一重要的意見反應,並且設計了 Windows Server “8 (2012)”中 Hyper-V 網路虛擬化的新技術,來為建構雲端資料中心的客戶們提供可擴充性、高安全性的多承租用戶解決方案,並使客戶們更易於逐漸將網路基礎設施遷移到私有雲、混合雲、公有雲 環境上。正如我們將在後面所描述的那樣,Hyper-V 網路虛擬化建立在現有的 IETF 和 IEEE 標準基礎之上,提供目前和未來網路設備、安全設備及操作流程的互通性。

Hyper-V 網路虛擬化: 將伺服器虛擬化概念應用到網路環境中
對於傳統的伺服器虛擬化來說,每台實體主機被轉換為可以在公共實體主機上運作的VM 虛擬主機。每台VM 虛擬主機都可以在專用的硬體上運作,即使實際上共用所有硬體資源 — 記憶體、CPU、週邊設備。

clip_image001[7]

網路虛擬化則是將伺服器虛擬化的概念擴充到整個網路環境中。透過網路虛擬化,每個實體網路被轉換為一個可以在公共實體網路上運作的虛擬網路。每個虛擬網路都可以在專用的網路上運作,即使實際上共用所有資源- IP 位址、交換機和路由器。  
Hyper-V 網路虛擬化允許客戶們在遷移到雲端環境時能夠保留原本的內部 IP 位址,同時與其它客戶們的VM 虛擬主機具備互相隔離的特性 - 即使這些VM 虛擬主機使用完全相同的 IP 位址。我們透過為每台VM 虛擬主機提供兩個 IP 位址來達成此一目標。VM 虛擬主機中可以看到一個 IP 位址在指定承租用戶的虛擬子網路環境中。遵循 IEEE 命名規則,我們將此稱為 CA (Customer Address)。其它 IP 位址在雲端資料中心內的實體網路環境中相關,稱為 PA (Provider Address)。這為承租用戶和資料中心帶來 IP 位址抽離的許多優點。   
第一項優點是可以將VM 虛擬主機遷移到雲端環境上,而且無須修改VM 虛擬主機的網路組態設定或擔心資料中心內的其它問題,您的服務可以繼續運作。在本文最後引用的展示影片中,我們使用 traceroute(一種底層網路診斷工具)來說明本機服務如何與已經遷移到雲端環境的服務透明的溝通。我們強調的是當服務遷移到雲端環境之後,資料封包便可以利用一個額外的Hop 點到達雲端資料中心。虛擬子網路成為近乎透明、擴充的企業資料中心。我們還為虛擬子網路建立了安全加密的通道。簡單來說,連接到同一台虛擬交換機中即使是完全相同 IP 位址的不同客戶們其 VM 虛擬主機被互相隔離了。

clip_image002[5]

想像一下上圖中紅色 VM 虛擬主機的 IP 位址為 10.1.1.7,而藍色 VM 虛擬主機的 IP 位址也是 10.1.1.7。在此範例當中,10.1.1.7 其 IP 位址是 CA IP 位址。透過為這些VM 虛擬主機分配不同的 PA IP 位址(例如 Blue PA = 192.168.1.10 和 Red PA = 192.168.1.11),因此並不存在路由分歧的問題。我們透過原則將紅色VM 虛擬主機局限於僅與其它紅色 VM 虛擬主機進行溝通,同樣的使藍色 VM 虛擬主機局限於與藍色虛擬網路進行溝通。紅色 VM 虛擬主機和藍色 VM 虛擬主機的 CA 雖然均為 10.1.1.7,但是它們可以在同一台 Hyper-V 虛擬交換機和同一個雲端資料中心中安全的共存。  
第二項優點是終端主機中執行原則為多承租用戶隔離提供可擴充的解決方案。我們不需要重新組態設定網路基礎設施便可以使承租用戶互相隔離。在 Hyper-V 網路虛擬化之前,一般的解決方案是採用 VLAN 來達成隔離效果。但是 VLAN 具有可擴充性上的限制,在共用資料中心中僅支持有限數量的承租用戶。除了具有可擴充性限制之外,VLAN 比較適合於靜態網路拓撲,而不適合於動態環境上,也就是說承租用戶可能持續加入和離開雲端資料中心,或者承租用戶工作負載可能持續在實體伺服器上互相遷移,以達成負載平衡或容錯目的。在每次需要將VM 虛擬主機導入至新的伺服器時,VLAN 需要重新組態設定核心交換機。通常來說,VM 虛擬主機部署團隊為網路操作團隊建立重新組態設定具有相關 VLAN 標籤相對應交換機的服務 Token。減少了此一組態設定步驟,Hyper-V 網路虛擬化上的 VM 虛擬主機提高運作資料中心的總體營運效率。   
第三項優點是允許在遷移至雲端環境時保留原有 IP 位址,Hyper-V 網路虛擬化達成了跨越子網路的即時遷移。當我們談論到即時遷移時,我們的意思是指任何與服務通訊的用戶端並不知道代管該服務的VM 虛擬主機已經從一台實體主機遷移到不同的實體主機。以前無法達成跨越子網路即時遷移,原因在於,按照定義來說如果將 VM 虛擬主機從一個子網路遷移到不同的子網路時,其 IP 位址必須要更改以符合路由環境。但是更改 IP 位址將會導致服務中斷。如果一台 VM 虛擬主機具有二個 IP 位址,則資料中心環境當中相關的 IP 位址(實體位址)便可以更改,但是並不需要更改 VM 虛擬主機的 IP 位址(客戶們位址)。因此,透過 CA 與 VM 虛擬主機溝通的用戶端並不知道 VM 虛擬主機已經實體的遷移到不同的子網路中。   
真正令人興奮的是,跨越子網路即時遷移達成了全新的應用情境。回想我們的“任何服務、任何伺服器、任何雲端環境”理念。VM 虛擬主機如今可以在資料中心內在任何地方運作和即時遷移,而且不會導致服務中斷。新的資料中心效率終於可以如願以償。例如對於主機代管服務供應商來說,在輕負載期間(例如 凌晨 3 點),可以將線上運作中的 VM 虛擬主機集中整合到資料中心的子網路後,關閉資料中心內其它閒置主機 - 所有這一切都不必重新組態設定實體網路拓撲。管理人員也不再需要擔心因為資料中心的實體 IP 位址因為被限制地理位置而使一台VM 虛擬主機陷入資料中心的某一部分。同樣的,VM 虛擬主機部署演算法可以更自由的在資料中心內任何地方分配 VM 虛擬主機,因為更改實體資料中心環境中相關的 PA 位址,與虛擬網路中相關的 CA 位址並不相關。   
對於 Hyper-V 網路虛擬化來說,VM 虛擬主機完全不知道其 IP 位址已經被虛擬化。從 VM 虛擬主機的角度來看,所有通訊均透過 CA IP 位址進行。由於VM 虛擬主機並不知道它們屬於虛擬網路的一部分,因此,在 Hyper-V VM 虛擬主機中運作的任何作業系統(例如 Windows Server 2008 R2、Windows Server 2003、 Linux …等)都可以是虛擬網路的成員。Hyper-V 網路虛擬化對於客戶們的作業系統來說完全透明。

針對子網路上的 IP 位址虛擬化的二種機制
客戶們可以使用IP 虛擬化機制而不需要升級任何硬體,或者更改目前資料中心內的網路拓撲以部署 Hyper-V 網路虛擬化。我們透過在不同的終端主機之間傳送網路通訊時使用 PA 來達成 CA IP 位址的虛擬化。我們使用二種不同的機制來虛擬化 IP 位址: GRE(Generic Routing Encapsulation) 和 IP Rewrite。對於大多數網路環境來說,建議使用 GRE 機制進行網路虛擬化,因為它具有最大的靈活性和效能。但是,在目前的某些高容量資料中心內 IP Rewrite機制可能比較適合,以便提高運作效能和相容性。   
在來源和目標 VM 虛擬主機監控程序當中,資料封包與虛擬子網路 ID 互相關聯。虛擬子網路 ID 允許 VM 虛擬主機監控程序區分可能共用相同 CA IP 位址的不同虛擬子網路流量(例如 區分紅色 VM 10.1.1.7 和藍色 VM 10.1.1.7)。VM 虛擬主機監控程序可以使用虛擬子網路 ID 應用在每個承租用戶的原則 (例如 存取控制)。   
第一種 IP 虛擬化機制是 GRE(Generic Routing Encapsulation),這是一種 IETF 標準。在此情況下,我們將 VM 虛擬主機的資料封包(使用 CA IP 位址)封裝在另一個資料封包當中(使用 PA IP 位址)。這個新資料封包的 Header 還包含虛擬子網路 ID 的副本。GRE 的優點在於,資料封包中包括虛擬子網路 ID,網路設備可以對資料封包套用每個承租用戶的原則,達成有效的流量計算、流量調整和入侵偵測。GRE 的另一個優點在於,虛擬子網路 ID 可用於將各種 IP 位址與不同的虛擬子網路區分開來,位於指定終端主機上的所有 VM 虛擬主機可以共用相同的 PA。共用 PA 對於可擴充性具有重大影響。網路基礎設施需要知悉的 IP 和 MAC 位址的數量可以大大減少。例如如果每個終端主機的 VM 虛擬主機平均數量是 20,則網路基礎設施需要知悉 IP 和 MAC 位址數量減少 20 倍。GRE 目前的不足之處在於,NIC Offloads機制不再為終端主機提供可擴充性好處,因為 NIC Offloads機制對外部 Header 發生作用,不會對內部 Header 發生作用。Offloads 機制對於 VM 虛擬主機需要 10 Gbps頻寬的高效能環境非常重要。同樣,資料中心多路徑路由減小,原因在於交換機透過位於外部資料封包中的欄位,將不會區分來自位於同一終端主機上不同VM 虛擬主機的流量。   
別擔心!! 我們擁有針對這些限制的解決方案。   
在 Windows Server “8 (2012)”當中我們已經採用具備控制高優先順序的標準。我們與業界主要領導廠商(Arista、Broadcom、Dell、Emulex、HP、Intel)發佈指導性的草案 RFC (NVGRE),討論使用現有的 IETF 標準 GRE 作為網路虛擬化的封裝協定。我們與伺服器、交換機和 NIC 合作夥伴一起,展開對 Hyper-V 網路虛擬化的生態系統支援。在我們的合作夥伴將 NVGRE 納入產品之後,主機代管服務提供者將在沒有效能損失的情況下獲得 GRE 可擴充性的好處。他們還見證部署多承租用戶網路設備的機會,其中包括負載平衡設備、防火牆、儲存控制器、網路監控和分析工具,以及其它安全和效能產品。   
GRE 是適合大多數目前和未來資料中心網路虛擬化首選方法。對於這些環境 Windows Server “8 (2012)”支援第二種 IP 虛擬化機制 ( IP Rewrite)。   
透過 IP Rewrite 我們在資料封包離開終端主機時,用相對應的 PA 位址改寫資料封包中來源和目標 CA IP 位址。同樣的,當虛擬子網路資料封包進入終端主機時,用相對應的 CA 位址改寫 PA IP 位址。IP Rewrite的一個主要優點是不需要更改資料封包格式。現有的網路硬體卸載技術,例如 LSO (Large Send Offload) 和 VMQ(Virtual Machine Queue) 可以繼續運作。這些卸載機制為 10 Gbps 乙太網路環境中的應用情境帶來了許多好處。此外,IP Rewrite完全相容於現有的網路設備,它並不會檢查任何新的流量類型或格式。當然,虛擬子網路 ID 並不會在網路上傳輸,因此現有的網路設備無法為每個承租用戶的資料封包進行處理。   
逐漸建立混合雲的方法
透過 Hyper-V 網路虛擬化,我們使子網路遷移到雲端環境上變得輕鬆。但是,一旦遷移到雲端環境中,接下來要做的是讓虛擬子網路之間互相溝通。例如典型的 3-Tier 式架構包括 Front End Tier、Business Logic Tier、Database Tier。您需要一種適合這些虛擬子網路進行通訊的方法,使它們如同位於您自己的資料中心一樣。Hyper-V 網路虛擬化允許您在虛擬子網路之間路由。也就是說,不但可以將虛擬子網路引入雲端環境當中,而且還可以將整個網路拓撲引入雲端環境中。   
Windows Server “8 (2012)”還提供一種 Cloud Cross-Premise 連接解決方案,這種解決方案可以將您的資料中心或私有雲與公有雲互相連接以便建立混合雲。將 Hyper-V 網路虛擬化與 Cloud Cross-Premise 連接互相結合,表示我們使雲端成為資料中心的無縫式擴充。   
在 Microsoft 內部我們使用 GRE 作為 IP 虛擬化機制,在私有雲部署時採用 Hyper-V 網路虛擬化。這裡的承租用戶是伺服器和 STB(Server and Tools Business unit) 中的各個產品群組。我們希望對資料中心基礎設施進行整合,以便達成雲端環境的營運效率和資源效率,並為我們的產品群組提供在雲端環境中部署服務時所需的必要靈活性。

結語
我們對 Hyper-V 網路虛擬化感到興奮不已,因為它使遷移到 私有雲、混合雲、公有雲 的客戶們大為受益;為運作雲端資料中心的主機代管服務供應商和管理人員帶來新的效率體驗;並且為我們的生態系統合作夥伴提供了新的機會。Hyper-V 網路虛擬化與 Storage Live Migration、Simultaneous Live Migration、Failover Replication…等其它技術互相結合,透過 Windows Server “8 (2012)”達成了VM 虛擬主機的完全移動性。   
要瞭解有關 Hyper-V 網路虛擬化的更多內容,請收看我們在 //BUILD/ 大會上提供的展示影片。我們的展示在 13 分 52 秒開始。我們在 //BUILD 影片中討論:使用 Hyper-V 網路虛擬化建構安全、可擴充性的多承租用戶雲端環境 提供更詳細的技術資訊。有關部署方面詳細的資訊歡迎瀏覽 Technet 網站