利用 Windows Server 2012 和 System Center 2012 SP1 建構雲端基礎設施

作業系統平台提供的經驗、功能和 API 可以供開發人員借鏡及使用。現在,許多開發人員會採用 Windows 已發佈版本,提供雲端運算解決方案。Windows Server 2012 是雲端優化的作業系統,表示開發人員可以付出較少的人力,傳遞更好的雲端運算解決方案。System Center 2012 已經使用 Windows Sever 2008/R2 傳遞更佳的雲端運算解決方案。在本篇部落格文章當中,我們管理部門的技術工程師 Anders Vinberg 將會介紹 System Center 2012 SP1 當中的 Virtual Machine Manager 元件(目前為提供社群技術預覽) 如何借助 Windows Server 2012 的雲端優化功能,將該解決方案提升到一個新的水準。
–Cheers!Jeffrey

Windows Server 2012 的官方名稱之前為 Windows Server “8”,幾個月前在 MMS 發佈了 System Center 2012,Microsoft 現在已經為我們的顧客提供解決方案(用於建構顧客自己的私有雲),向主機代管服務供應商提供解決方案(用於建構其自己的基礎設施,也就是服務公有雲產品和服務)。按照 Brad Anderson 在 MMS 的 主題演講 當中所闡述的重新定義移動到雲端模型以及雲端的核心原則,並且查看如何利用 Windows Server 2012 和 System Center 2012 SP1 達成此一目標。   
雲端模型
首先,雲端運算不一定就表示工作負載是在顧客之外運作,這一點很重要。工作負載可以部署在顧客的基礎設施上,或者部署在合作夥伴上,但是完全由顧客控制和管理,這是“私有雲”。工作負載還可以部署並運作在主機服務供應商的基礎設施上,由其他承租用戶共同使用,這是“公有雲”。在這二種情況下,雲端運算均是消耗資源的一種方式,並且具有 資源池、自助式服務、彈性、針對使用資源情況計費 的屬性特徵。

clip_image001[17]

雲端角色
由於雲端模型將基礎設施和支援的服務解耦合,它還解耦合了二個不同的程序:供應、消耗。並且有二種相對應的角色:

· 服務供應商(資料中心管理人員)

· 服務使用者(應用程式擁有者)

這二種角色在各自的領域當中有截然不同的特性:

clip_image002[11]
供應商和使用者的分離提供了極大的簡便性和靈活性。這是計算民主化趨勢的重要基礎。我們經常聽到這樣一種說法,就是使用者無需瞭解實體基礎設施的詳細情況,但是我們現在做出更有力的聲明: 不允許使用者瞭解實體基礎設施,因為這樣會限制到供應商的日常運作。供應商可能需要使用一個更有效率的新設備來代替舊的設備,但是不應該讓使用者牽涉其當中甚至不必通知他們(前提是需要達成抽象層級和服務層級協定)。這個解耦合模型不適合所有現有 IT 程序或所有現有應用程式;後續發佈的部落格還會討論 Windows Server 和 System Center 如何能容納這混合的工作模式。

達成的雲端特性
我們來分別看看這四種雲端特性,並瞭解 Windows Server 2012 和 System Center 2012 向顧客提供哪些內容。

· 資源池: 這表示我們會在整合層級而不是各個伺服器層級來處理資源。雲端會公開資源池以供應需要容量空間的服務使用,此抽象方法會將虛擬化工作負載從實體基礎設施當中解耦,允許動態工作負載分配和獨立的基礎設施管理。   
儘管現代的大型雲端通常會使用相同的硬體,並且軟體版本相同,這種情況在企業運算環境當中通常不切實際,因為這種環境當中現有軟體可能已經具有特定的硬體要求;我們的雲端模型支援異質資源池,在這裡系統會自動將軟體要求與硬體特性互相匹配。   
具有資源池表示多個承租用戶(顧客)將在此環境當中具有他們自己的工作負載,基礎設施必須在資源池之間提供必要的隔離。這種多租賃用戶環境不僅僅適用於公有雲:即使在私有雲環境當中,自助式服務模型會為使用者提供在少量監控的情況下部署服務的靈活性,這就需要在資源池之間進行強而有力的隔離動作,以防止對鄰居產生意外的影響。

o 利用 Windows Server 2012 可以透過相關功能(例如 Hyper-V 可擴充式交換機、網路虛擬化、服務品質 (QoS) 和網路隔離原則)達成對資源的共用。另外,有了即時遷移和儲存遷移的增強功能,Windows Server 平台使資源可以輕鬆的在資料中心內移動,以優化資料中心資源的使用。

o System Center 2012 透過 Virtual Machine Manager 元件可以整合運算、網路和儲存資源,並將他們公開為一個“雲端”的結構。它支援大規模的管理這些雲端,並動態的在雲端當中佈署工作負載,對於多承租用戶隔離以及向使用者委派雲端,可以使用針對角色的存取控制機制。在 SP1 當中,Virtual Machine Manager 使用網路虛擬化的平台功能以及即時遷移和儲存遷移,達成靈活的資源池管理以及環境當中的負載平衡,這樣將會符合顧客的 SLA。

· 自助式服務: 在雲端模型當中,服務使用者可以利用自助式服務經驗(通常是針對 Web 的用戶)來存取已經分配給他們的空間容量,自助式組態設定工作負載(從支援單一 VM 虛擬主機,到部署複雜的服務)管理這些工作負載的生命週期。

o Windows Server 2012 在達成資料中心完全自動化方面走了很長的一段路。自助式服務表示所有資料中心操作行為必須完全可自動化,如果未能達成,則每次在雲端當中佈建工作負載時都需要人工手動操作。Windows Server 2012 透過 PowerShell 和 WMI 達成完全自動化,達成此應用情境的介面。

o System Center 2012 針對 Windows Server 2012 的自動化功能,並提供用戶和管理功能以達成自助式服務。Service Manager 元件提供服務目錄,將自助式服務用戶推向 IT 審查工作流程,例如分配空間容量。App Controller 元件提供管理虛擬機器和服務的自助式服務體驗,同時涵蓋私有雲和 Windows Azure 公有雲。Operations Manager 元件為環境提供運作智慧,Orchestrator 元件提供 Run-book 自動化。最後,System Center 的 Data Protection Manager 元件施行業務連續性原則。

· 彈性 : 雲端彈性表示基礎設施可以支援組織的變更需求,按需要部署新服務,為負載較重的服務分配更多資源,或者取消分配資源,以便在負載較輕時節省資源。借助跨雲端管理,工作負載還可以在私有雲和公有雲之間移動,提供額外的空間容量、大規模存取或其他需要的特性。

o 從 Windows Server 平台角度出發,允許運作在不同基礎設施上的多個服務透過 IPSec VPN 互相連接以達成彈性。Windows Server 2012 內建對 IKEv2 VPN 新的支援,允許它輕鬆的將私有雲和公有雲互相連接。  
另外,彈性還表示,將任何工作負載跨越雲端移動到公有雲供應商還是可能的。在目前技術條件下,非常難於達成,這是因為工作負載往往嵌入有大量的網路組態假設,例如固定的 IP 位址和子網路。借助 Windows Server 2012 網路虛擬化,現在,在保持自己的 IP 位址並將其從供應商的 IP 空間當中分離的情況下,移動工作負載是可能的。

o System Center 2012 SP1 在其網路結構當中使用平台功能進行網路虛擬化。當定義工作負載“網路”時,System Center 允許雲端使用者在它們可用的任意雲端或任意實體網路基礎設施上部署此類網路。  
VM 虛擬主機不僅允許向雲端內的服務彈性分配和發佈資源,而且還允許對雲端本身增加或刪除容量,在服務使用者看起來就好像有無限的雲端容量。

· 針對使用情況: 在雲端模型當中,顧客支付或至少被告知的雲端資源使用量,針對其實際的資源消耗用量。

o Windows Server 2012 可以為 CPU、記憶體、儲存和網路…等核心指標提供精細的計費資訊。在 Windows Server 2012 當中,當 VM 虛擬主機在環境中遷移時,這些指標也會跟隨 VM 虛擬主機。

o System Center 2012 會整合這些消耗指標,並且允許雲端操作人員針對其原則重新顯示或計算費用。

使 Windows Server 2012 成為一個雲端優化的作業系統的各種功能的詳細介紹,可以在下面的白皮書當中找到: 使用 Windows Server 8 建構 基礎設施即服務 (IaaS) 雲端

應用情境
我們上面所述當中可以看出,雲端有許多個方面。在本篇部落格文章當中,我們將主要注意服務供應商角色,特別是供應商在使用 SMB 3.0 作為 VM 虛擬主機的儲存來使用 Windows Server 2012 RCHyper-V 網路虛擬化System Center 2012 SP1 Virtual Machine Manager 的社群技術預覽 (CTP) 功能方面如何支援其私有雲基礎設施。在未來的部落格文章當中,我們將會繼續深入探討雲端的其他方面。

利用 System Center 2012 SP1 支援雲端基礎設施
首先,讓我們看一下 VM 虛擬主機如何提供和管理 Hyper-V 網路虛擬化。在 System Center 2012 當中,VM 虛擬主機導入了邏輯網路,會抽象企業資料中心當中的網路的各種定義,允許資料中心管理人員使用應用程式擁有者的語言,例如用術語“我希望我的 VM 虛擬主機連接到 CORP 網路”表達連線。對於每個資料中心,邏輯網路可以有不同的定義,VM 虛擬主機當中的自動化可以確保當部署 VM 虛擬主機時,會應用適當的組態設定。有了 SP1 我們在這之上導入了另一個叫做“ VM 虛擬主機網路”的抽象概念。邏輯網路現在適合於光纖網路, VM 虛擬主機和服務現在僅連接到“ VM 虛擬主機網路”。VM 虛擬主機網路可以由 VLAN、直接邏輯網路或 Windows Server 2012(具有 Hyper-V 網路虛擬化)達成。   
在 System Center 2012 SP1 CTP 當中,VM 虛擬主機僅支援使用通用路由封裝 (GRE) 建立 Hyper-V 網路虛擬化的 VM 虛擬主機網路,這是預設建議使用的機制。在 System Center 2012 SP1 的最後版本當中,我們計畫支援用 IP Rewrite 建立 VM 虛擬主機網路,這在現有環境當中部署較為容易,且不需要更改網路基礎設施,但是對於您分配的每個顧客位址 (CA) 均需要一個供應商位址 (PA)。我強烈建議您閱讀 Hyper-V 虛擬網路 上的部落格文章,來瞭解此技術的工作原理。   
PA 是從邏輯網路空間分配得來的,所以您應該像先前所做的那樣建立一個邏輯網路,並且分配一個 IP 位址集區,VM 虛擬主機可以從當中為 PA 空間提取位址。接著,您需要建立一個 VM 虛擬主機網路,該網路會由被部署的實際服務所使用。只需點擊幾次 VM 虛擬主機控制台當中的“ VM 虛擬主機”和“ Services ”圖示上的新連結點,就可以建立 VM 虛擬主機網路。可以在 此處 查看上述操作的詳細步驟。

clip_image003[9]

在上面的範例當中,您可以看到 Tailspin 網路和 Wingtip 網路均具有重疊的 IP 範圍。他們是使用 Hyper-V 網路虛擬化達成自動組態設定的,無需任何特殊的硬體或其他軟體即可提供完全隔離。建立 VM 虛擬主機時,現在它可以連接到此 VM 虛擬主機網路,因此允許其在同一 VM 虛擬主機網路上連接到其他 VM 虛擬主機,同時保持該 VM 虛擬主機與其他屬於不同顧客的 VM 虛擬主機處於隔離狀態,即便他們使用同一子網路。  
對於需要為其服務使用者(承租用戶)提供隔離環境的服務供應商來說此功能非常重要,並且提供靈活性,使得承租用戶可以將其自己的 IP 位址帶到公用雲端環境。在 CTP2 當中,如果希望 VM 虛擬主機網路上的 VM 虛擬主機可以與不在 VM 虛擬主機網路上的實體交流,則您需要在這些網路之間設定閘道。這可以使用具有正確路由規則的 Windows Server來完成,將來您可以得到指導您如何完成設定此過程的指南。另外,隨著開發功能更進一步的深入,System Center 將允許此操作無縫式完成。   
儲存是雲端和虛擬化項目的另一個重要組成部分。利用 Windows Server 2012,我們現在能夠使用 SMB 3.0 檔案共用,進而在一個叢集和獨立的環境當中承載 Hyper-V VM 虛擬主機。這有助於降低雲端成本,同時增加靈活性,並且使得管理作業更簡單。(您可以在 此處 閱讀關於儲存的更多內容。)有了 System Center 2012 SP1,使用起來非常簡便。下面的螢幕擷圖中顯示如何為叢集和獨立主機增加檔案共用作為儲存,並且在此組態設定當中 VM 虛擬主機適當的組態設定存取控制清單。

clip_image004[7]

獨立主機

clip_image005[7]

Hyper-V 叢集

VM 虛擬主機一經部署到主機和特定儲存子系統上時,服務供應商可能需要靈活的將工作負載移動到不同的主機,或使用不同的儲存來確保 VM 虛擬主機是可用的,即便在需要為主機提供服務或者需要維護儲存環境時也是可用的。有了 Windows Server 2012 和 VM 虛擬主機,我們現在為即時遷移 VM 虛擬主機及其相關儲存提供多種選項。您可以:

1. 在一個叢集內即時遷移 VM 虛擬主機(通常具有共用的區塊或檔案儲存)

2. 將 VM 虛擬主機即時遷移到叢集內或從叢集內遷出

3. 將 VM 虛擬主機的儲存從一個儲存子系統即時遷移到另一個儲存子系統

4. 將 VM 虛擬主機從一個主機即時遷移到另一個主機(無共用儲存)

作為資料中心管理人員,您可以想像,這些選項為您提供多麼大的靈活性。下面的螢幕擷圖中顯示 VM 虛擬主機當中的各種不同選項。

clip_image006[5]

您可以從上面螢幕擷圖的左邊看到,名為 Tailspin_ 2 虛擬主機運作在一個獨立的主機 HV104 上。右邊的對話方塊顯示,該 VM 虛擬主機可以從此獨立的主機遷移到 HVClusterA 叢集的節點當中(hv103n3、hv101n1、hv102n2),還可以遷移到獨立的 HV105。System Center 會自動檢測到在 HV104 和 HVClusterA 之間有沒有共用儲存,並為這些遷移加上“Live (VSM)”標籤,表示也將遷移儲存,而不僅僅只遷移 VM 虛擬主機。  
請注意,System Center 還可以令您選擇在主機內遷移 VM 虛擬主機的儲存,而 VM 虛擬主機無須停機。對於以下範例情況: 您某個特定儲存設備上的本機存放區馬上就要用完了,您希望將 VM 虛擬主機的儲存移動到主機上具有更多容量的另一個儲存設備上,這種情況下,上述功能特別有用。   
現在您可能已經察覺到我們僅對 HV105 顯示“即時”!這是為什麼呢?它並不是一個 Bug。要對此有所瞭解,我們來看 HV104( VM 虛擬主機當前所在的主機)和 HV105 的儲存屬性。您可能已經看到,上述每台主機都會看到相同的 SMB 3.0,因此 VM 虛擬主機可以遷移 VM 虛擬主機(無需移動該儲存)。

clip_image007[5]

結語
在本篇部落格文章當中,我們討論了雲端模型和二個不同的雲端角色(“服務供應商”和“服務使用者”)。我們還介紹了 Windows Server 2012 和 System Center 2012 SP1 如何提供此模型。我們重點介紹 Windows Server 2012 和 System Center 2012 SP1 當中的 Virtual Machine Manager 元件,以及如何使供應商能夠為 VM 虛擬主機使用 SMB 3.0 儲存,同時使用 Hyper-V 網路虛擬化建立隔離網路。在接下來的幾個月當中,我們將提供更多詳細資訊:關於 VM 虛擬主機如何使資源池和承租用戶管理,以及它如何利用 Windows Server 2012 當中的更多功能。