125 期 - 用微軟 MAS 混合雲平台打造本地端 Azure 環境


網管人雜誌

本文刊載於 網管人雜誌第 125 期 - 2016 年 6 月 1 日出刊,NetAdmin 網管人雜誌 為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它或透過下列圖示連結至博客來網路書店訂閱它。





文章目錄

前言
Microsoft Azure Stack 概觀
MAS POC 運作架構
部署 MAS 的前置作業
安裝 MAS TP1 混合雲平台
登入 MAS 入口網站
提供 IaaS 服務
建立租用戶使用者帳號
利用 IaaS 服務建立 VM 虛擬主機
結語





前言

拜「雲端運算(Cloud Computing)」技術成熟之賜,各種產業類別不管是傳統產業或科技產業,每家企業或組織當中的商務流程,或多或少都會使用到雲端服務業者建立的服務(例如,OneDrive、Gmail……等),或者由企業或組織在內部資料中心內自行建立私有雲環境。

根據 RightScale 最新的雲端運算發展趨勢調查結果顯示,企業或組織採用雲端運算技術的比例從 2015 年的 93 % 上升至 95 %,在自建「私有雲(Private Cloud)」的部分則是從 63 % 提升為 77 %。此外,因為「公有雲(Public Cloud)」環境的成熟,加上自建私有雲的比例不斷提升,連帶讓「混合雲(Hybrid Cloud)」的佔有比例從 58 % 大幅上升至 71 %,並且佔有比例呈現年年不斷上升的趨勢。

圖1、2016 年雲端運算趨勢 – 混合雲佔有比例明顯上升





Microsoft Azure Stack 概觀

MAS(Microsoft Azure Stack),是微軟專為新世代混合雲運作架構而設計的平台。簡單來說,雖然公有雲運作環境及技術都已經成熟,然而企業或組織對於將內部的機敏資料(例如,營運報表、顧客資料及採購習性……等),存放至公有雲環境時雖然已經將機敏資料加密後才上傳,但仍覺得機敏資料並非放在內部資料中心來得安心,但是審視內部資料中心時又發現缺少公有雲等級的靈活性或擴充性。

現在,企業或組織可以透過 Microsoft Azure Stack 混合雲平台,自行打造出如同 Microsoft Azure 公有雲的靈活性及運作規模,但是這樣的高可用性、高靈活性的平台掌控權,可以完全由企業或組織的 IT 所管控,並且在需要時能夠輕鬆與公有雲介接達成混合雲的運作架構。

圖2、MAS 混合雲平台提供與 Azure 公有雲一致的操作體驗


熟悉 Microsoft Azure 公有雲操作環境的 IT 管理人員,對於 Azure 入口網站(Azure Portal)應該不陌生,早期為採用 Azure Service Management 的管理模式,只要瀏覽 https://manage.windowsazure.com 網址,並於登入畫面鍵入 Azure 訂閱帳戶資訊即可登入。事實上,在 Windows Server 2012 R2 的運作環境中,企業或組織也可以輕鬆自行打造私有雲平台稱之為 Microsoft Azure Pack,其入口網站及管理模式也是採用 Azure Service Management。

圖3、舊有的 Microsoft Azure 入口網站採用 Azure Service Management 管理模式


從 2015 年 12 月 2 日起,微軟宣佈新版的 Azure 入口網站正式啟用,它採用新式的 ARM(Azure Resource Manager)管理模式,只要瀏覽 https://portal.azure.com 網址,並於登入畫面鍵入 Azure 訂閱帳戶資訊即可登入。當然,為了讓習慣使用舊有入口網站的 IT 管理人員,能夠慢慢過渡到新的 Azure 入口網站操作模式,所以目前同一個 Azure 訂閱帳戶能夠同時使用新舊 Azure 入口網站。

圖4、新式的 Microsoft Azure 入口網站採用 Azure Resource Manager 管理模式

同樣的,為了提供給 IT 管理人員一致的管理操作體驗平台,以及開發人員一致的程式碼編寫平台(只要內部編寫一次,上傳至公有雲環境中便可立即使用),屆時企業或組織所自行打造的 MAS 混合雲平台,也同樣採用 Azure Resource Manager 管理模式。

圖5、同樣採用 Azure Resource Manager 管理模式的 Microsoft Azure Stack 入口網站





MAS POC 運作架構

目前,MAS 混合雲平台仍處於「技術預覽(Technical Preview)」階段,並且在 2016 年 1 月時釋出 MAS TP1(Technical Preview 1)版本。由於目前 MAS TP1 仍為 POC 概念性驗證階段,因此可以將所有功能、元件、角色以及運作環境,都部署在「1 台」實體伺服器當中進行運作。

下列為 MAS TP1 運作架構中,相關 VM 虛擬主機所擔任的角色及功能說明:

  • ADVM: 負責整個 MAS 運作環境的基礎架構,例如,Active Directory、DNS、DHCP……等。
  • ACSVM: 負責 ACS(Azure Consistent Storage)儲存資源服務,同時將與 SQLVM 協同運作。
  • MuxVM: 負責 SLB(Software Load Balancer)與 Network Multiplexing Service 等,有關網路流量負載平衡部分的運作機制。
  • NCVM: 透過「網路控制器(Network Controller,NC)」運作元件及機制,負責整個 MAS 運作環境中 SDN 軟體定義網路的部份。
  • NATVM: 負責整個 MAS 運作環境中 NAT(Network Address Translation)機制,以便處理所有 VM 虛擬主機的「流出(Outbound)」網路流量。
  • xRPVM: 負責整個 MAS 運作環境中,所有資源如 Compute / Network / Storage 等核心資源提供者(Core Resource Provider),同時將與 SQLVM 協同運作。
  • SQLVM: 負責承載 ACS / xRP 運作角色中需要資料庫服務的部分。
  • PortalVM: 負責建立 Azure Resource Manager 管理模式,以及運作 Microsoft Azure Stack 入口網站。
  • ClientVM: 提供 PowerShell、Vistual Studio 等相關開發工具,以便 IT 管理人員及開發人員進行測試及除錯作業。
  • Storage Service: 在 MAS TP1 版本中,搭配的 Windows Server 2016 TP4 作業系統,將會提供的儲存資源服務有 CS Blob Service(Microsoft Azure Consistent Storage Blob Service)、SOFS(Scale-Out File Server)、ReFS CSV(Resilient File System Cluster Shared Volume)、Virtual Disk、Storage Space、Storage Spaces Direct。

圖6、Microsoft Azure Stack POC 運作架構





部署 MAS 的前置作業 

由於目前 MAS TP1 技術預覽版本中,採用 One-Node Deployment 運作架構,也就是只要 1 台實體伺服器,便可以安裝 MAS 混合雲平台並且實作所有功能。

原則上,只要採用通過 Windows Server 2012 R2 硬體認證的伺服器即可。那麼,讓我們來看看這台實體伺服器的詳細硬體需求:

  • CPU 處理器: 採用 2 顆 CPU 處理器,總運算核心至少應有 12 Cores,但建議配置 16 Cores 運算核心比較理想。同時,必須支援硬體輔助虛擬化技術,例如,Intel VT-x / EPT 或 AMD AMD-V / NPT。
  • 記憶體空間: 至少應具備 96 GB 記憶體空間,但建議配置 128 GB 記憶體空間較為理想。
  • BIOS: 啟用硬體輔助虛擬化技術,以支援運作 Hyper-V 虛擬化平台。
  • 網路卡: 採用通過 Windows Server 2012 R2 硬體認證的網路卡即可,無須其它特殊功能。
  • 作業系統磁碟: 可採用 「1 顆」SSD 固態硬碟或 SAS / SATA 機械式硬碟,磁碟空間大小至少應有 200 GB。
  • 資料磁碟: 至少要有 「4 顆」SSD 固態硬碟或 SAS / SATA 機械式硬碟,磁碟空間大小至少應有 140 GB 但建議為 250 GB。這些磁碟空間,屆時將存放 Azure Stack POC 運作環境中的所有資料。值得注意的是,若採用混合硬碟類型時硬碟介面的格式必須一致才行,否則屆時安裝過程將會產生錯誤,舉例來說,若採用 SATA SSD 固態硬碟的話,那麼必須搭配 SATA 機械式硬碟才行。此外,目前尚未支援採用 SATADOM 及 NVMe SSD 固態硬碟。
  • 硬碟控制器: 建議採用 Simple HBA 硬碟控制器(例如,LSI 9300-8i),若採用 RAID HBA 硬碟控制器的話,那麼必須支援 「Pass-Through Mode」,或是可以針對「每顆硬碟」建立 「RAID-0」 才行,否則屆時將因為 MAS 的 SDS 軟體定義儲存技術,無法將資料磁碟建立成儲存資源而導致安裝失敗。


當實體伺服器符合上述硬體需求後,便可以進入安裝 MAS 混合雲平台的階段了,但是在開始部署 MAS 運作環境之前還有幾個小細節值得注意。

首先,在作業系統方面當安裝 Windows Server 2016 DataCenter TP4 之後,必須安裝 KB 3124262 更新以進行相關修正作業,並且這台 MAS 實體主機「」需要預先加入網域環境,屆時實體主機將會加入 ADVM 所建立的 「StackAzure.local」 網域環境中。

此外,這台 MAS 實體主機網路環境的部分,請不要使用這些網段 「192.168.100.0/24、192.168.133.0/24、192.168.200.0/24」,因為這些網段必須保留給 MAS 運作環境中,相關運作元件及角色的 VM 虛擬主機使用。同時,這台 MAS 實體主機必須可以透過 Port 80、443,存取 graph.windows.net login.windows.net 網際網路站台。

最後,你必須建立 Microsoft Azure AD 帳戶,以便屆時在 MAS 運作環境中能夠設定,例如,Clouds、租用戶使用者帳號、Tenant Plans、Quota……等。

圖7、建立 Microsoft Azure AD 帳戶





安裝 MAS TP1 混合雲平台

當安裝 MAS 運作環境的前置作業準備完畢後,便可以連結至 Microsoft Azure 官方網站,下載 Microsoft Azure Stack POC TP1 安裝檔案,並存放至已經安裝好 Windows Server 2016 TP4 的 MAS 實體主機中,例如,C:\MAS 資料夾內。

圖8、下載 Microsoft Azure Stack POC TP1 安裝檔案

當你解開剛才所下載的 Microsoft Azure Stack POC.exe 安裝檔案後,便會看到稍後進行部署作業的 Azure Stack POC PowerShell 指令碼檔案,以及其它相關安裝檔案。

圖9、解開 Microsoft Azure Stack POC.exe 安裝檔案

請以「系統管理員身分」開啟 PowerShell 執行環境,切換至部署 Azure Stack POC 的 PowerShell 指令碼路徑,鍵入指令 「.\DeployAzureStack.ps1 -verbose」,開始安裝 Azure Stack POC 運作環境。

首先,在安裝過程中將會跳出 「Please enter the password for the built-in administrator」 訊息。此時,請鍵入 MAS 運作環境的預設管理者密碼,你必須鍵入 2 次相同的管理者密碼以便通過驗證。

接著,將會出現 「Please sign in to your Azure account in the Microsoft Azure sign in windows」 訊息。此時,請鍵入剛才登入 Microsoft Azure 訂閱帳戶,並且建立給 MAS 運作環境使用 Microsoft Azure AD 管理者帳號及密碼,通過使用者身分驗證程序後,將會列出該 Azure 訂閱帳戶中所有的 Azure AD 資訊,請選擇要用於 MAS 運作環境的 Azure AD 即可。

圖10、鍵入 Microsoft Azure AD 管理者帳號及密碼

選擇好用於 MAS 運作環境的 Azure AD 之後,可以看到系統執行 「Show-WapToken.ps1」 指令碼,並且顯示 Microsoft Azure Stack POC Deployment 安裝畫面。此時,你可以開啟 Azure 入口網站並登入 Azure 訂閱帳戶,切換到用於 MAS 運作環境的 Azure AD 後,可以看到在剛才的 MAS 安裝流程當中,已經分別建立 Service AdminTenant Admin 帳戶。

圖11、MAS 安裝流程中自動建立的 Azure AD 帳戶

當 MAS 部署流程順利開始後,首先你會發現實體主機重新啟動,此時便是 MAS 安裝程序為實體伺服器啟用 Hyper-V 角色,並加入 MAS 運作環境中由 ADVM 所建立的 「AzureStack.local」 網域環境。接著,便會依序建立 MAS 運作環境中相關的 VM 虛擬主機,例如,ACSVM、PortalVM、SQLVM……等。

整體 MAS POC 運作環境的部署時間,將依 MAS POC 實體伺服器的硬體資源而定,並且在部署期間將會重新啟動數次,但是每當主機重新啟動並再次登入系統後,將會繼續出現 PowerShell 部署視窗,以便了解目前 MAS 的安裝進度,一旦 MAS 部署作業完畢後,最後便會看到 「Congratulations ! Microsoft Azure Stack POC is successfully deployed」 訊息,並且關閉 PowerShell 部署視窗。

圖12、MAS POC 運作環境即將部署完成

倘若,你在 MAS 部署期間遭遇錯誤而無法繼續安裝程序時,你可以切換至 「C:\ProgramData\Microsoft\AzureStack\Logs」 路徑,查看日誌檔案中詳細的錯誤訊息資訊以進行故障排除作業。

舉例來說,筆者在初次安裝時遭遇到 「POCFabricInstaller failed because the following tasks failed: CreateCSV」 錯誤,並且導致整個 MAS 安裝部署程序停止。此時,切換至日誌檔案存放路徑後,查看以 「CreateCSV」 為開頭的日誌檔案閱讀詳細的錯誤資訊。

在此次的實作環境中,由於 MAS POC 實體伺服器配置 SATADOM 儲存媒體,但目前 MAS POC 運作環境尚未支援,因此造成 MAS 在建立 SDS 軟體定義儲存資源時,無法將 SATADOM 儲存媒體納入管理,進而發生錯誤最後導致 MAS 部署作業停止。因此,開啟裝置管理員後將 SATADOM 裝置「停用」,然後再次執行「.\DeployAzureStack.ps1 -verbose」部署指令,便順利完成 MAS 環境的部署作業。

圖13、遭遇錯誤導致 MAS 安裝部署程序停止





登入 MAS 入口網站

順利安裝 MAS POC 運作環境後,將會在桌面上看到 MAS 安裝程序所建立的 RDP 遠端桌面連線圖示(ClientVM.AzureStack.local.rdp),點選執行後將採用預設「AzureStack\AzureStackUser」使用者帳號登入,在使用者密碼欄位的部分,請鍵入在 MAS 安裝流程中所鍵入的預設管理者密碼。

順利登入 ClientVM 環境中,請點選桌面上的 Microsoft Azure Stack POC Portal 圖示,此時將會開啟 Microsoft Edge 瀏覽器,並連結至 MAS 入口網站(https://portal.azurestack.local)。由於,目前尚未建立任何 MAS 環境中的租用戶使用者帳號,因此請鍵入此 MAS 環境的 Azure AD 管理者帳號及密碼,順利通過使用者身分驗證程序後,便可以看到 Microsoft Azure Stack 入口網站。

圖14、登入 Microsoft Azure Stack 入口網站





提供 IaaS 服務

與 Microsoft Azure 公有雲同樣的租用戶服務概念,MAS 運作環境的管理人員,可以針對企業或組織的內部需求,規劃出各式各樣的 IaaS 服務。在 MAS 運作環境中,可以透過 Subscription、Offer、Plan、Service 等不同項目,提供不同「租用戶(Tenant)」所需的各項 IaaS 服務:

  • Subscription: 定義租用戶可以使用哪些 Offer、Plan、Service。
  • Offer: 可以使用哪些 Plan,例如,Plan-A 為 VM 資源而 Plan-B 為 Storage 資源。
  • Plan: 組態設定 Quota 機制,以便限制租用戶能使用的資源範圍,例如,限制只能建立 2 台 VM 虛擬主機、總共只能使用 10 vCPU 虛擬處理器及 16 GB vRAM 記憶體……等。
  • Service: 定義使用的應用程式及服務資源,例如,VM、SQL Server 資料庫、SharePoint……等。

圖15、Subscription、Offer、Plan、Service 階層關係示意圖

順利以 MAS 管理員身份登入後,依序點選 「New > Tenant Offers and Plans」 項目,即可建立屆時給予租用戶使用的訂閱及相關服務。一般來說提供的 IaaS 服務,都會勾選 「Storage、Compute、Network」 這 3 個 Provider 項目,或者 IT 管理人員可以依內部需求進行資源項目的勾選。

圖16、建立 Plan、Offer、Subscription 項目

值得注意的是,預設情況下建立好的 Plan 及 Offer 項目運作狀態為 「Private」,也就是只有 MAS 管理員才能看到,而租用戶登入後並無法看到 Plan 及 Offer,請點選 「Change State」 圖示將運作狀態調整為 「Public」,那麼租用戶登入後便可以訂閱並使用該 Plan 及 Offer。此外,若將運作狀態調整為 「Decommissioned」 的話,那麼表示已經訂閱的租用戶將不受影響,但是新的租用戶則無法進行訂閱的動作。

圖17、將 Plan 運作狀態從 Private 調整為 Public





建立租用戶使用者帳號

當 MAS 管理人員順利建立好租用戶訂閱方案後,便可以著手建立租用戶使用者帳號,以便驗證租用戶登入後是否能夠順利使用相關資源。請登入 Microsoft Azure 訂閱,切換至 MAS 環境的 Azure AD 當中,在新增使用者類型下拉式選單中,請選擇至「您組織中的新使用者」項目,在使用者設定檔頁面中角色下拉式選單請選擇「使用者」項目即可。在此次實作環境中,我們建立名稱為 「Chris Lee」 的租用戶使用者帳號。

圖18、建立租用戶使用者帳號

接著,便可以使用此租用戶使用者帳號登入 MAS 入口網站,第一次登入時系統將會要求重新設定使用者密碼,順利登入 MAS 入口網站後,租用戶便可以按下 「Get a Subscription」 圖示進行訂閱的動作,在訂閱的內容中按下 「Select an offer」 項目,就可以看到剛才 MAS 管理人員所定義的 Offer 內容,最後便完成租用戶訂閱方案的動作。

圖19、租用戶順利完成訂閱方案的動作

倘若租用戶登入 MAS 入口網站點選 Get a Subscription 後,卻發現看不到任何訂閱方案時,請使用 MAS 管理者帳號登入,確認相關的 Offer / Plan 的運作狀態是否為 Public,若運作狀態為 Private 則租用戶便無法進行訂閱的動作。





利用 IaaS 服務建立 VM 虛擬主機

當租用戶順利完成訂閱方案的動作後,便可以馬上使用 IaaS 服務來建立 VM 虛擬主機。在預設情況下,MAS 運作環境已經建立 Windows Server 2012 R2 DataCenter 範本,你可以直接使用此 VM 虛擬主機範本,或者由 MAS 管理人員自行建立新的 VM 範本。此實作環境中,租用戶登入 MAS 入口網站後,請依序點選 「New > Compute > WindowsServer-2012-R2-Datacenter」 項目即可。

圖20、準備利用 IaaS 服務建立 VM 虛擬主機

接著,只要經過簡單的 4 個操作步驟即可部署 VM 虛擬主機,分別是 「Basics > Size > Settings > Summary」:

  1. Basics: 首先,你必須設定 VM 虛擬主機的電腦名稱,以及 Guest OS 的管理者帳號及密碼,同時選擇採用的訂閱名稱及資源群組名稱。
  2. Size: 預設情況下,MAS 已經建立好 2 種 VM 虛擬主機的運作規模,分別是 A1 Basic(1 Core、1.75 GB vRAM、2 Data Disk)以及 A2 Standard(2 Cores、3.5 GB vRAM、4 Data Disk)。當然,MAS 管理人員也可以自行建立不同大小的運作規模,以便租用戶挑選使用。
  3. Setting: 選擇所要採用的儲存體帳戶,以及這台 VM 虛擬主機所要採用的網路組態設定資訊。
  4. Summary: 最後,檢查這台 VM 虛擬主機的相關組態設定資訊是否正確無誤,確認後即可立即進行部署的動作。


確認 VM 虛擬主機相關資訊無誤後,便可以按下 OK 鈕開始進行部署的動作,此時便可以在 MAS 入口網站中看到正在部署 VM 虛擬主機的訊息,部署作業完成後的 VM 虛擬主機,預設將會採用 192.168.133.x/24 網段的 IP 位址。

圖21、透過 MAS 入口網站的 IaaS 服務部署 VM 虛擬主機





結語

透過本文的說明及實作演練,相信你已經了解 MAS 混合雲平台的強大功能,對於希望在內部資料中心建立私有雲及混合雲平台的企業或組織來說,建構 MAS 平台將能有效幫助 IT 管理人員及開發人員。同時,熟悉 Microsoft Azure 公有雲環境的 IT 管理人員,應該不難發現在 MAS 環境的使用者操作體驗,都跟 Azure 公有雲環境一模一樣,對於已經在使用 Azure 公有雲服務的企業使用者來說,完全不需要適應新的操作介面及方式便可立即使用。