網管人雜誌
本文刊載於 網管人雜誌第 195 期 - 2022 年 4 月 1 日出刊,NetAdmin 網管人雜誌為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它,或透過城邦出版人讀者服務網進行訂閱。本文目錄
前言
在微軟的「超融合基礎架構」(Hyper-Converged Infrastructure,HCI)技術藍圖中,原本 HCI 技術直接內建於 Windows Server 2016 作業系統中,讓管理人員能夠使用已經熟悉的 Windows Server 作業系統架構,輕鬆建構出 HCI 超融合基礎架構(如圖 1 所示)。
圖 1、透過 Windows Server 搭建 HCI 超融合基礎架構示意圖
然而,隨著時間的推進和管理人員的意見反應,微軟發現應該將 HCI 超融合基礎架構技術獨立出來,因為在 Windows Server 作業系統中,通常都運作企業和組織在地端資料中心常用的服務,例如,DC 網域控制站、DNS 名稱解析伺服器、DHCP 伺服器……等,所以採用 Windows Server 所搭建的 HCI 超融合基礎架構中,有著過多未使用的系統服務和函式庫,以及舊有 Windows Server 架構的包袱,導致 HCI 超融合基礎架構技術無法進行精簡設計和效能最佳化。
因此,從 Windows Server 2019 版本開始,除了維持將 HCI 超融合基礎架構技術內建之外,也同時發佈針對 HCI 超融合基礎架構技術,進行精簡設計和效能最佳化的「Azure Stack HCI OS」雲端作業系統(如圖 2 所示),並且官方宣佈後續所有的進階功能,都只會在 Azure Stack HCI OS 雲端作業系統中推出,而非 Windows Server 2019 和後續版本,舉例來說,最新的「延展叢集」(Stretch Cluster)、「4 倍快速修復儲存空間」(4x faster Storage Spaces reparis)、「引導式部署」(Guided deployment)……等進階功能,便只能運作在 Azure Stack HCI 雲端作業系統,所搭建的 HCI 超融合基礎架構運作環境中。
圖 2、Azure Stack HCI OS 雲端作業系統運作架構示意圖
Azure Stack HCI 21H2 亮眼新功能
基本上,Azure Stack HCI 雲端作業系統和 Windows 10/11 設計理念相同,除了每個月定期的安全性更新對外,每隔「六個月」便會推出新版本(如圖 3 所示),Azure Stack HCI 新版本包括新增或增強功能以及臭蟲修復和安全性更新。值得注意的是,企業或組織採用 Windows Server 2019 作業系統,所建構的 HCI 超融合基礎架構,不支援就地升級為 Azure Stack HCI 超融合基礎架構,必須整合叢集升級機制,在升級程序過程中個別重建每台 HCI 超融合叢集節點才行。
圖 3、Azure Stack HCI 雲端作業系統產品生命週期示意圖
那麼管理人員該如何確認,每次 Azure Stack HCI 更新版本有哪些特色功能,舉例來說,支援的 Kubernetes 版本有哪些、是否支援新的 GPU 機制、是否採用新一代的 ContainerD 取代舊有的 Moby……等。只要前往 Azure Stack HCI 在 Github 上的發行公告(Release Notes),即可了解每一個版本詳細的功能說明。
後續將 Azure Stack HCI 超融合基礎架構,簡稱為「AzSHCI」。
支援 Windows Server 2022 : Azure Edition
對於 Microsoft Azure 公有雲有熟悉度的管理人員應該知道,在 Azure 公有雲環境中,有些工作負載和服務僅能運作在公有雲環境,無法運作在企業和組織的地端資料中心內。此外,在 Windows Server 2022 發行版本中,眼尖的管理人員應該已經發現,除了原有的 Standard 和 Datacenter 之外,還多出一個僅限於在 Azure 公有雲環境上運作的「Windows Server 2022 Datacenter : Azure Edition」發行版本。
這個新的 Windows Server 2022 發行版本,由於在 Azure 公有雲環境中的特殊設計,因此更支援幾項特殊進階功能,例如,SMB over QUIC、Azure Extended Network、Hot Patching…… 等,這些特殊進階功能在 Standard 和 Datacenter 發行版本中並不支援。
有關 Windows Server 2022 不同發行版本的功能比較表詳細資訊,請參考 Comparison of Standard,Datacenter,and Datacenter Azure Edition editions of Windows Server 2022 | Microsoft Docs文件內容。
現在,最新推出的 AzSHCI 21H2 版本中,新增支援「Azure 權益」(Azure Benefits) 機制,能夠完整支援和運作安裝 Windows Server 2022 Datacenter : Azure Edition 版本的 VM 虛擬主機。簡單來說,AzSHCI 21H2 版本將 Azure 權益機制內建後,便能為 VM 虛擬主機提供 Azure 平台驗證服務,讓 VM 虛擬主機以為運作在 Azure 公有雲環境中。
管理人員只要在 AzSHCI 21H2 運作環境中,啟用 Azure 權益機制後,系統將會在 AzSHCI 叢集環境中,為每台 AzSHCI 叢集節點主機啟動 HciSvc 服務,並且啟動後的 HciSvc 服務,會至 Azure 公有雲取得通過簽署的憑證,並將憑證存放在 AzSHCI 叢集節點主機記憶體保護區內。
接著,HciSvc 服務會傳遞不可路由的 REST 端點,提供給 AzSHCI 叢集環境上運作的 VM 虛擬主機進行存取作業。所以,當安裝 Windows Server 2022 Datacenter : Azure Edition 版本的 VM 虛擬主機,自我驗證所處環境是否為 Azure 公有雲環境時,HciSvc 服務便會將剛才儲存在記憶體保護區內憑證進行回應,讓 VM 虛擬主機以為自己運作在 Azure 公有雲環境中,但實際上 VM 虛擬主機則是運作在企業和組織地端資料中心內的 AzSHCI 叢集(如圖 4 所示)。
圖 4、運作在 AzSHCI 叢集中 Azure 權益運作架構示意圖
支援舊版 Windows Server 和 SQL Server 安全性更新
除了運作 Azure 公有雲才支援的新式雲端作業系統之外,相信不少企業和組織因為種種因素,還運作著舊有的 Windows Server 2008 R2 / 2012 R2 作業系統,以及 SQL Server 2008 R2 / 2012 R2 資料庫系統。
因為這些舊有的作業系統和資料庫系統,已經到了產品生命週期結束階段,所以微軟並不提供後續任何的安全性更新,簡單來說,倘若企業和組織強硬在地端資料中心內繼續運作的話,將會使企業和組織的機敏資訊,暴露在非常大的資安風險當中。
因此,微軟推出在 Azure 公有雲環境運作這些舊有作業系統和資料庫系統時,能夠享有特殊的延長安全性更新服務,讓企業和組織可以在這段充裕的延長時間中,將重要的營運服務遷移至新的作業系統和資料庫系統版本,但是有些企業和組織可能因為架構環境和法規考量等種種因素,無法將舊有作業系統和資料庫系統運作在 Azure 公有雲環境,只能在地端資料中心內建構簡易安全防護的環境,運作這些高資安風險的舊作業系統和資料庫系統。
現在,整合 Azure 權益機制的新版 AzSHCI 叢集,也支援將這些舊有作業系統和資料庫系統的 VM 虛擬主機,運作在新版 AzSHCI 叢集環境中,並且因為整合的 Azure 權益機制,讓舊作業系統和資料庫系統,就像運作在 Azure 公有雲環境一樣能夠進行延伸的安全性更新服務,有效解決企業和組織的困擾並加速遷移服務至新系統的速度(如圖 5 所示)。
圖 5、新版 AzSHCI 21H2 支援運作舊有作業系統和資料庫系統,並提供安全性更新服務
支援 AVD(Azure Virtual Desktop)
過去,當企業或組織需要在地端資料中心內,建構和部署「虛擬桌面基礎結構」(Virtual Desktop Infrastructure,VDI)時,只能在 AzSHCI 運作環境中,建立多台 VM 虛擬主機並部署「遠端桌面服務」(Remote Desktop Services,RDS)來達成(如圖 6 所示),後續也只能由管理人員肩負 VDI 架構的維護和管理工作任務。
有關手動建構和部署 RDS 遠端桌面服務的詳細資訊,請參考本刊【189期-架設微軟RDS遠端桌面,速成遠距辦公友善環境】專欄內容。
圖 6、RDS 遠端桌面服務運作架構示意圖
倘若,企業和組織能夠接受和允許,在 Azure 公有雲建構 VDI 虛擬桌面環境時,那麼可以透過「Windows 虛擬桌面」(Windows Virtual Desktop,WVD)服務,由 Azure 公有雲部署和管理 RDS 遠端桌面服務中,各項主要運作元件和角色,例如,RD Session Host、RD Connection Broker、RD Gateway、RD Web Access……等,除了達到快速部署的目的之外,也能輕鬆建構出具備高可用性的 RDS 遠端桌面服務運作架構(如圖 7 所示),更提供安全監控機制讓管理人員易於管理 WVD 虛擬桌面的安全性更新。
有關部署 WVD 虛擬桌面服務的詳細資訊,請參考本刊【177 期 - 雲端 Windows 虛擬桌面零硬體免建構立享 VDI】專欄內容。
圖 7、WVD 虛擬桌面的 RDS 遠端桌面服務運作架構示意圖
圖 8、Azure 虛擬桌面運作架構示意圖
圖 9、將 AVD 虛擬桌面部署至 Azure Stack HCI 超融合基礎架構示意圖
具備高可用性的 GPU 集區
在 AI 人工智慧和 ML 機器學習當道的時代,當 VM 虛擬主機支援「圖形處理器」(Graphics Processing Units,GPUs)時,能夠在訓練模型時有效縮短整體時間。
在過去的 AzSHCI 運作架構中,雖然也支援 GPU 運作架構,但是通常為一對一或一對多的 GPU 指派關係,在一般正常情況下運作並沒有任何問題。然而,當 AzSHCI 叢集節點主機發生災難事件時,由於 VM 虛擬主機移轉至不同台 AzSHCI 叢集節點主機,所以管理人員必須手動為每台使用 GPU 的 VM 虛擬主機,重新指派 GPU 的對應關係才行。
現在,新版 AzSHCI 21H2 運作環境中,支援新式的「GPU 集區」(GPU Pools)架構。首先,確認
在 AzSHCI 叢集中的每台 AzSHCI 叢集節點主機,皆建立相同名稱的 PCI Express 資源集區,並且將配置的硬體 GPU 加入至 GPU 集區中,當 GPU 集區機制建立完成後,將特定的 VM 虛擬主機指派到 GPU 集區中,而非傳統一對一或一對多的指派到單個 GPU,後續當 AzSHCI 叢集節點主機發生災難事件時,移轉並重新啟動的 VM 虛擬主機,便會在重新啟動時自動尋找並使用其它台 AzSHCI 叢集節點主機,加入至 GPU 集區的 GPU 資源,而無須管理人員手動為 VM 虛擬主機再次建立和指派 GPU 對應關係(如圖 10 所示)。
圖 10、GPU 集區運作架構示意圖
管理人員在新版 AzSHCI 21H2 運作環境中,可以透過 WAC 整合的「離散裝置指派」(Discrete Device Assignment,DDA),或稱「GPU 傳遞」(GPU Pass-Through)機制,為 AzSHCI 叢集建立 GPU 集區,並指派給特定的 VM 虛擬主機使用(如圖 11 所示)。
圖 11、透過 WAC 建立 GPU Pools 並指派給特定的 VM 虛擬主機使用
支援精簡佈建
在過去的 AzSHCI 版本中,僅支援「固定佈建」(Fixed Provisioned)方式,這表示管理人員在儲存集區建立磁碟區時,會預先配置並一次佔用指派的儲存空間在儲存集區內,即便磁碟區未存放任何資料,其它磁碟區也無法使用這些被佔用的儲存空間。
現在,新版 AzSHCI 21H2 運作環境,支援新式的「精簡佈建」(Thin Provisioning)機制(如圖 12 所示),在儲存集區建立磁碟區時,不會預先配置並佔用指派的所有儲存空間,而是當磁碟區開始新增和異動資料時儲存空間才會開始成長,並且當刪除資料時也會自動減少儲存空間,達到彈性運用和「超量佈建」(Over-Provisioned)的目的,舉例來說,儲存集區總共只有 1 TB 儲存空間,但是管理人員卻可以建立五個支援新式精簡佈建且 1 TB 大小的磁碟區,讓儲存空間彈性應用最大化。
請注意,雖然支援超量使用儲存空間,但上述舉例中仍須注意整體儲存空間僅有 1 TB 而非 5 TB 。
圖 12、固定佈建和精簡佈建差異比較示意圖
新版 AzSHCI 21H2 的精簡佈建,支援所有磁碟區類型,例如,Two-way Mirror、Three-way Mirror、Mirror Accelerated Parity…… 等,並且在儲存集區使用容量達到「70%」時(如圖 13 所示),可以在 WAC 管理介面中顯示告警訊息,提醒管理人員應該為儲存集區加入更多儲存空間,或是刪除老舊和不必要的資料以釋放更多儲存空間。
管理人員可以依據需求調整告警通知百分比,例如,由預設的 70% 調整為 85% 。
圖 13、儲存集區使用量達 70% 提醒擴充儲存空間示意圖
同時管理多個 AzSHCI 叢集
很多企業和組織,在世界各地都會有分公司,即便僅在台灣也會有多個分公司據點的需求,這些分公司雖然無須太多基礎架構,但是也需要運作少量的 VM 虛擬主機和基礎服務,例如,分公司當地的檔案伺服器、印表伺服器……等。同時,在 AzSHCI 叢集運作架構中,最少只要「二台」AzSHCI 叢集節點主機即可建構,所以非常符合分公司少量資源的部署需求。
然而,當總公司的 IT 管理人員,為數量眾多的分公司建立許多小型 AzSHCI 叢集後,如何有效監控及管理便是一大難題。因此,當管理人員建構 AzSHCI 叢集並連接及註冊至 Azure 環境後,便能在 Azure Portal 中同時監控和管理眾多 AzSHCI 叢集(如圖 14 所示)。
圖 14、透過 Azure Portal 同時監控和管理數量眾多的 AzSHCI 叢集
管理人員只要透過幾個簡單的步驟,即可達成在 Azure Portal 統一監控和管理 AzSHCI 叢集的目的。首先,在 AzSHCI 叢集中每台 AzSHCI 叢集節點主機,安裝 Azure Arc 的 MMA(Microsoft Monitoring Agent),MMA 收集 AzSHCI 叢集節點主機的運作狀態及日誌,傳送到連接和註冊的 Azure 訂閱帳戶中的 Log Analytics 工作區,透過 Insights 解決方案提供查詢和視覺化的圖形儀表板,最後管理人員便能在 Azure Monitor 頁面中,監控和管理多個 AzSHCI 叢集(如圖 15 所示)。
圖 15、同時管理多個 AzSHCI 叢集機制運作架構示意圖
實戰 – 部署 Windows Server 2022:Azure Edition 至 AzSHCI
如前所述,預設情況下 Windows Server 2022 :Azure Edition雲端作業系統,只能運作在 Azure 公有雲環境中。然而,新版 AzSHCI 已經透過 Azure 權益機制,支援運作在企業和組織地端資料中心內的 AzSHCI 叢集中。本小節將實戰演練此部份。
啟用 Azure 權益
首先,管理人員必須確認 AzSHCI 叢集已建立完成,並且透過 WAC 管理介面可順利連結至 AzSHCI 叢集。接著,在 WAC 管理介面中依序點選「AzSHCI Cluster > Settings > Azure Stack HCI > Azure benefits」項目即可啟用 Azure 權益。值得注意的是,必須先將 AzSHCI 叢集註冊至企業和組織的 Azure 訂閱帳戶內,才能啟用 Azure 權益機制,否則將會顯示無法順利啟用 Azure 權益的錯誤訊息(如圖 16 所示)。
有關建構 AzSHCI 叢集運作環境的詳細資訊,請參考本刊 【181 期 - 微軟超融合雲端作業系統 Azure Stack HCI開箱】 專欄內容。
圖 16、必須先將 AzSHCI 叢集進行註冊後,才能順利啟用 Azure 權益機制
順利完成 AzSHCI 叢集的註冊動作後(如圖 17 所示),管理人員可以透過 WAC 管理介面或是 PowerShell 指令,針對指定的 AzSHCI 叢集啟用 Azure 權益機制。
請注意,將 AzSHCI 叢集正式註冊至 Azure 訂閱帳戶後,將會產生相關費用,但是後續在 AzSHCI 叢集中啟用 Azure 權益機制時,並不會產生額外的費用。
圖 17、將 AzSHCI 叢集註冊和連結至企業及組織的 Azure 訂閱帳戶
由於,為 AzSHCI 叢集啟用 Azure 權益機制時,除了必須採用 AzSHCI 21H2 版本之外,至少要安裝 2021 年 12 月的 KB5008223 更新或後續版本,才能順利為 AzSHCI 叢集啟用 Azure 權益機制,否則在嘗試啟用 Azure 權益時,系統將會顯示「Install the latest updates and the refresh this page」錯誤訊息,並提醒管理人員必須先為 AzSHCI 叢集安全最新更新後再繼續。
當前置條件都滿足後,管理人員即可透過 WAC 管理介面在 Azure benefits 頁面中按下「Turn on」鈕,或在 PowerShell 視窗中執行「Enable-AzStackHCIAttestation」指令,即可輕鬆為 AzSHCI 叢集啟用 Azure 權益機制。預設情況下,系統會為 AzSHCI 叢集中所有的 VM 虛擬主機啟用 Azure 權益,當然管理人員也可以一開始不全部啟用,後續在針對個別 VM 虛擬主機手動進行啟用。
順利啟用 Azure 權益機制後,管理人員可以在 WAC 管理介面中,依序點選「AzSHCI Cluster > Settings > Azure Stack HCI > Azure benefits」(如圖 18 所示),或透過「Get-AzureStackHCI」指令,查詢 AzSHCI 叢集的 Azure 權益啟用狀態,確保 AzSHCI 叢集中的每一台節點主機在 Azure benefits 欄位為「Active」狀態,即表示 AzSHCI 叢集節點主機順利取得 IMDS 簽署證明 ,屆時 VM 虛擬主機中的作業系統,需要驗證運作環境是否來自 Azure 時便能夠順利通過驗證程序。
圖 18、透過 WAC 管理介面確認 AzSHCI 叢集是否順利啟用 Azure 權益
管理 VM 虛擬主機的 Azure 權益存取權
預設情況下,在啟用 Azure 權益時,會針對 AzSHCI 叢集上所有的 VM 虛擬主機啟用 Azure 權益,倘若預設未全部啟用,或是後續新增需要 Azure 權益機制的 VM 虛擬主機,或是管理人員想要取消某些 VM 虛擬主機的 Azure 權益時,都可以透過 WAC 管理介面或是 PowerShell 指令完成。
在本文實作環境中,目前 AzSHCI 叢集共有 3 台 VM 虛擬主機皆未套用 Azure 權益存取權,這些 VM 虛擬主機在「VM benefits status」欄位為「Off」,管理人員只要選取 VM 虛擬主機後,點選「Turn on Azure benefits for VMs」,即可為選取的 VM 虛擬主機套用 Azure 權益存取權,套用成功後 VM 虛擬主機將會移至下方「VMs with Azure benefits」區塊中,並且 VM benefits status 欄位顯示為「On」狀態(如圖 19 所示)。
當然,管理人員也可以透過 PowerShell 的「Add-AzStackHCIVMAttestation -VMName <VM 虛擬主機名稱 >」指令,為特定的 VM 虛擬主機套用 Azure 權益存取權,或是執行「Add-AzStackHCIAttestation -AddAll」指令,一次性的為 AzSHCI 叢集中所有的 VM 虛擬主機套用 Azure 權益存取權。
圖 19、為特定的 VM 虛擬主機套用 Azure 權益存取權
同樣的,當管理人員需要取消 VM 虛擬主機的 Azure 權益存取權時,只要選取該台 VM 虛擬主機後點選「Turn off Azure benefits for VMs」,便會取消 VM 虛擬主機的 Azure 權益存取權,取消作業完成後該台 VM 虛擬主機,將會移至上方「VMs without Azure benefits」區塊中,並且 VM benefits status 欄位顯示為「Off」狀態(如圖 20 所示)。
當然,管理人員也可以透過 PowerShell 的「Remove-AzStackHCIVMAttestation -VMName <VM 虛擬主機名稱 >」指令,為特定的 VM 虛擬主機取消 Azure 權益存取權,或是執行「Remove-AzStackHCIVMAttestation -RemoveAll」指令,一次性的為 AzSHCI 叢集中所有的 VM 虛擬主機套用 Azure 權益存取權。
圖 20、為特定的 VM 虛擬主機取消 Azure 權益存取權
管理 AzSHCI 叢集節點主機的 Azure 權益
預設情況下,一旦 AzSHCI 叢集順利啟用 Azure 權益機制,並確保 AzSHCI 叢集節點主機狀態為「啟用」(Active)後,管理人員便無須擔心 AzSHCI 叢集節點主機狀態,因為系統會自動排程同步至最新狀態。
值得注意的是,企業或組織地端資料中心的 AzSHCI 叢集,倘若發生網路中斷情況或其它因素,導致 AzSHCI 叢集未與 Azure 同步「超過 30 天」時,那麼在 Azure benefits 頁面中的 AzSHCI 叢集節點主機狀態,將會轉變為「過期」(Expired)或「未啟用」(Inactive)。此時,管理人員可以點選「Sync with Azure」鈕(如圖 21 所示),或執行 PowerShell「Sync-AzureStackHCI」指令,手動為 AzSHCI 叢集和 AzSHCI 叢集節點主機與 Azure 進行同步。
圖 21、手動為 AzSHCI 叢集和 AzSHCI 叢集節點主機同步 Azure 權益狀態
結語
透過本文的深入剖析及實戰演練,相信管理人員對於新版 Azure Stack HCI 21H2 超融合基礎架構,有哪些亮眼新功能可以幫助企業和組織,無論是在 AI 人工智慧和 ML 機器學習,或是 VDI 虛擬桌面基礎架構上,都能夠滿足需求,最後實作演練啟用和整合 Azure 權益,讓原本只能運作在 Azure 公有雲的 Windows Server 2022 : Azure Edition,也能運作在地端資料中心內。