本文將以深入剖析與實作的方式說明為何以Azure Local超融合叢集在名稱上取代過去舊有的Azure Stack HCI,以及與Windows Server在使用情境上的區別,並透過巢狀式虛擬化技術,讓管理人員在無須任何硬體伺服器的情況下,也能研究及測試Azure Local超融合叢集。
微軟的HCI超融合解決方案最初是在Windows Server 2016雲端作業系統當中推出,後來逐漸與Windows Server作業系統抽離,並推出專為HCI超融合打造的Azure Stack HCI作業系統。而全新推出的Azure Local解決方案,並非只是HCI超融合解決方案,而是兼顧企業組織混合雲需求,並納入原本Azure Stack HCI超融合的解決方案,如圖1所示。
圖1 整合雲端與地端的Azure Local解決方案運作架構示意圖。 (圖片來源:Azure本機解決方案概觀 - Azure Local | Microsoft Learn)
Azure Local取代Azure Stack HCI
值得注意的是,微軟現在將Azure Stack HCI重新命名為Azure Local,並且將原有Azure Stack HCI納入至Azure Local成為一部分,為了避免後續讀取技術文件上的誤會,管理人員需要注意幾項名稱變更的情況,以免誤會技術文件上所表達的意思。
舉例來說,過去的「Azure Stack HCI叢集」(Azure Stack HCI Clusters)已經重新命名為「Azure Local執行個體」(Azure Local Instances),而「Azure Stack HCI節點主機」(Azure Stack HCI Servers)重新命名為「Azure Local主機」(Azure Local Machines),其餘名稱則維持不變。
版本更新週期
為了因應現代化工作負載的快速變化,Azure Local透過定期更新以便增強或新增特色功能,同時也會包含原有的臭蟲修正和安全性更新,確保Azure Local運作環境穩定性並消除資安疑慮。
原則上,每個月都會推出功能更新或累積更新,舉例來說,2503和2504都是「功能更新」(Feature Build),而2505至2509為「累積更新」(Cumulative Build),但2510又是「功能更新」(Feature Build)。
值得注意的是,從2504版本開始,微軟每個月都會發行兩個解決方案版本,例如目前有OS 25398和OS 26100,便會分別推出對應的更新版本,確保現有版本穩定運作,同時兼顧未來更新版本的推進,如圖2所示。
圖2 Azure Local版本更新週期示意圖。 (圖片來源:Azure本地版本23H2和24H2發行資訊 - Azure Local | Microsoft Learn)
Azure Local vs Windows Server
管理人員可能會感到困惑,何時需要使用Azure Local?何時採用Windows Server?簡單來說,在下列運作環境需求時,便適合採用傳統的Windows Server作業系統,如圖3所示:
圖3 適合採用傳統Windows Server的使用情境示意圖。 (圖片來源:比較Azure本地環境與Windows Server - Azure Local | Microsoft Learn)
‧VM虛擬主機或容器內的客體作業系統
‧擔任Windows應用程式執行(Runtime)環境的伺服器
‧需要使用內建伺服器角色和功能,例如Active Directory目錄服務、DNS名稱解析伺服器、IIS網頁伺服器等等。
‧傳統裸機運作架構,例如Active Directory目錄服務的實體網域控制器、SQL Server資料庫伺服器。
‧傳統虛擬化架構,例如透過Fiber Channel光纖通道連接SAN儲存設備的VM虛擬主機。
反觀Azure Local則是HCI超融合基礎架構平台,部署完成後將用於運作VM虛擬主機、容器、VDI虛擬桌面、Azure混合雲服務等等。
因此,下列情境和運作環境需求時,便適合採用Azure Local,如圖4所示:
圖4 適合採用新式Azure Local的使用情境示意圖。 (圖片來源:比較Azure本地環境與Windows Server - Azure Local | Microsoft Learn)
‧擔任現代化基礎架構最佳化的虛擬化技術節點主機,無論承載地端資料中心內現有的工作負載,或是分公司及邊緣位置的新興需求都非常適合。
‧具備擴展至雲端環境的便利性,並且享有來自Azure訂閱帳戶的持續性更新和新增特色功能,以及一致性的操作工具和使用者體驗。
‧具備超融合式基礎架構的所有優點,在企業和組織地端資料中心內建構高速記憶體和低延遲網路環境,以及充足的儲存資源環境。
實戰部署Azure Local超融合叢集
接下來,實際示範如何部署Azure Local超融合叢集。
部署巢狀式技術VM虛擬主機
由於中小型企業組織可能沒有現成並且滿足Azure Local超融合叢集條件的硬體伺服器,因此在本次的實戰演練將會使用巢狀式虛擬化技術搭配地端資料中心的部署方式來建構Azure Local超融合叢集環境。
值得注意的是,無論是內部資料中心或是採用Azure公有雲環境進行測試,部署支援巢狀式虛擬化環境的VM虛擬主機所建構的Azure Local超融合叢集,僅僅適用於測試或研究用途,不適用於實際營運環境上。
管理人員在部署Azure Local單節點超融合叢集時,在儲存裝置方面請注意僅支援採用單一儲存類型,例如NVMe或SSD的All-Flash運作架構,不支援採用混合式儲存裝置,例如NVMe+SSD、NVMe+HDD、SSD+HDD等等,這是採用實體伺服器建構Azure Local單節點超融合叢集時,必須特別注意的地方。
本次實作演練將會在Azure公有雲環境中部署一台支援巢狀式虛擬化的VM虛擬主機,接著建立多台巢狀式VM虛擬主機,達成部署Azure Local超融合叢集的目的。值得注意的是,在部署Azure VM Gen2世代虛擬主機時,預設在安全性類別採用「Trusted launch virtual machines」選項,雖然支援更多新式安全性機制,但是卻會造成巢狀式虛擬化機制無法運作。
因此,在建立支援巢狀式虛擬化的Azure VM虛擬主機時,記得將安全性類別調整為「Standard」項目,如圖5所示,才能確保後續的巢狀式虛擬化技術正常運作,詳細資訊可參考「Azure VM的可信任啟動 - Azure Virtual Machines | Microsoft Learn」官方文件說明。
圖5 在安全性類型選項請採用Standard以避免巢狀式虛擬化技術無法運作。
巢狀網路NAT網路位址轉換
當企業組織使用Azure公有雲環境時,由於部署支援巢狀式虛擬化技術的Azure VM虛擬主機已經屬於Level 1層級的VM虛擬主機,企業無法碰觸到Azure公有雲環境中屬於Level 0層級的Hyper-V主機,無法為Level 1層級VM虛擬主機啟用MAC位址欺騙功能。
此時,必須在Level 1層級,也就是Azure VM虛擬主機上,建立具備NAT網路位址轉換功能的vSwitch虛擬網路交換器,以便屆時Level 2層級的VM虛擬主機,也就是DC網域控制站、Azure Local單節點主機、WAC管理主機,能夠透過Level 1層級的NAT網路位址轉換機制,讓Level 2層級的網路封包能夠被正確路由,進而與Level 0層級的實體網路環境或網際網路進行通訊。
在本文實作環境中,建立的NAT vSwitch虛擬交換器名稱為「AzLocal-NATSwitch」,處理的NAT網路位址轉譯IP網段為「10.10.75.0/24」,預設閘道IP位址是「10.10.75.1」。
在Azure VM虛擬主機中,安裝好Hyper-V PowerShell後,開啟PowerShell指令視窗並鍵入「New-VMSwitch -Name "AzLocal-NATSwitch" -SwitchType Internal」指令,建立給Level 2層級VM虛擬主機使用的NAT vSwitch虛擬交換器,並指派連接類型為「Internal network」,如圖6所示,建立完畢後可透過Hyper-V管理員進行檢查是否套用生效。
圖6 透過Hyper-V管理員檢查NAT vSwitch虛擬交換器是否建立完成。
接著,執行「New-NetIPAddress -IPAddress 10.10.75.1 -AddressFamily IPv4 -PrefixLength 24 -InterfaceAlias "vEthernet(AzLocal-NATSwitch)"」指令,為剛才建立的NAT vSwitch虛擬交換器,組態設定預設閘道IP位址為「10.10.75.1」。
執行「New-NetNat -Name "AzLocal-NATSwitch" -InternalIPInterfaceAddressPrefix "10.10.75.0/24"」,組態設定NAT vSwitch虛擬交換器所要處理的NAT網路位址轉譯IP網段為「10.10.75.0/24」。
當NAT vSwitch虛擬交換器成功建立後,可分別執行「Get-VMSwitch」、「Get-NetIPAddress -IPAddress 10.10.75.1」、「Get-NetNat」等等指令,再次確認NAT vSwitch虛擬交換器組態設定內容是否正確,避免後續發生網路組態錯誤導致無法路由的情況。
部署DC/Azure Local/WAC主機
首先,分別下載Windows Server 2025和Windows11 ISO映像檔,以及最新版本的Azure Local 24H2映像檔。特別注意的是,Azure Local映像檔必須從Azure入口網站下載,在登入Azure Portal頁面中,於上方搜尋列中鍵入Azure Local關鍵字,進入Get started with Azure Local頁面後,於2. Download software區塊中點選Download Local HCI OS選項,如圖7所示,並選擇使用的Azure訂閱和Azure Local版本後,即可下載Azure Local映像檔。
圖7 進入Azure Local頁面下載最新版本的Azure Local 24H2映像檔。
在本文實作環境中,新增一台VM虛擬主機並擔任DC網域控制站角色,組態設定IP位址為「10.10.75.10」,部署建立「lab.weithenn.org」網域名稱,同時新增DNS名稱解析服務,確保稍後擔任Windows Admin Center(WAC)角色的主機和Azure Local單節點主機,能夠順利加入Active Directory網域環境,並使用正確的DNS名稱解析。
為了方便研究和測試部署Azure Local超融合叢集環境,本文將採用「單台」節點主機的方式建立。值得注意的是,單台節點主機的Azure Local超融合叢集環境,至少要是舊版本的Azure Stack HCI 22H2或Azure Stack HCI 23H2才開始支援。當然啦!若採用最新的Azure Local 24H2版本絕對沒問題。
在建立Azure Local主機時,除了安裝OS作業系統硬碟之外,還額外配置6個1TB儲存空間的vDisk虛擬硬碟,屆時將整合為超融合儲存集區的儲存空間。在Azure Local主機處於關機狀態時,執行「Set-VMProcessor -VMName AzLocal-24H2 -ExposeVIrtualizationExtensions $true」指令,為Level 2層級的VM虛擬主機「AzLocal-24H2」啟用vCPU虛擬處理器硬體輔助虛擬化擴充功能,確保Azure Local主機能夠正確接收到底層Hyper-V虛擬化平台所公開和傳遞而來的Intel VT-x及EPT硬體輔助虛擬化技術。順利啟用後,請再次確認「ExposeVirtualizationExtensions」欄位值是否為「True」,確保啟用的工作任務已套用生效,如圖8所示。
圖8 為Azure Local主機啟用vCPU虛擬處理器硬體輔助虛擬化擴充功能。
事實上,Azure Local主機超融合作業系統的安裝流程,與Windows 11及Windows Server安裝程序一樣,如圖9所示,不同的是,當Azure Stack HCI作業系統安裝完成後,由於沒有圖形化介面,所以系統將自動彈出命令提示字元視窗,並提醒管理人員設定Administrator帳號的管理者密碼,完成管理者密碼設定後,便自動進入「伺服器組態設定工具」(Server Configuration Tools,SConfig)互動設定視窗。
圖9 安裝最新Azure Local 24H2版本超融合作業系統。
管理人員可以透過SConfig伺服器組態設定工具,輕鬆為Azure Local主機進行基礎架構的組態設定,例如電腦名稱、網路組態設定、變更系統時區和時間、安裝最新安全性更新、加入網域環境等等工作任務。
在本文實作環境中,將Azure Local虛擬主機的電腦名稱變更為「AzLocal」、網路組態設定固定IP位址為「10.10.75.21」、變更系統時區為「(UTC + 8)Taipei」、在安裝完最新安全性更新並重新啟動完畢後,加入「lab.weithenn.org」網域環境,如圖10所示。
圖10 為Azure Local主機進行基礎設定並加入lab.weithenn.org網域環境。
順利將Azure Local主機加入網域環境設定後,倘若管理人員對於指令管理防火牆規則不熟悉的話,可以在測試和研究環境中將防火牆關閉,在日後正式營運環境中務必保持防火牆規則啟用。執行指令「Set-NetFirewallProfile -Profile Domain,Private,Public -Enabled False」,一次將三個設定檔類型的防火牆規則都關閉,如圖11所示,然後再次確認是否套用生效。
圖11 一次將三個設定檔類型的防火牆規則都關閉。
接著,確認額外配置的6個1TB儲存空間的vDisk虛擬硬碟是否能夠被系統正確識別,確保稍後建立超融合儲存集區時,可以順利地將所有額外新增的vDisk虛擬硬碟匯整至儲存集區內,成為日後Azure Local超融合叢集中其他VM虛擬主機或容器等工作負載的儲存資源。
可以直接開啟Azure Local主機的Console畫面,離開SConfig伺服器組態設定工具後進入PowerShell指令環境,或是在其他台VM虛擬主機環境中,執行「Enter-PSSession -VMName "AZLOCAL" -Credential lab.weithenn.org\Administrator」指令,並通過使用者身分驗證程序後,遠端連線至Azure Local主機的PowerShell指令環境。
執行「Get-PhysicalDisk | Sort-Object -Property Size」指令,如圖12所示,檢查Azure Local主機儲存裝置,並以Size欄位排序顯示結果,確認6個1TB儲存空間的vDisk虛擬硬碟其每個CanPool欄位值皆為「True」,確保這6個儲存裝置都能順利加入至超融合儲存集區中。
圖12 確保系統識別6個1TB儲存空間的vDisk虛擬硬碟且CanPool欄位為True。
在舊版Azure Stack HCI環境中,預設值就像Windows Server一樣,必須透過Install-WindowsFeature指令,才能安裝指定的伺服器角色和功能,例如DCB資料中心橋接(Data-Center-Bridging)、容錯移轉叢集(Failover-Clustering)、檔案伺服器(FS-FileServer)、Hyper-V PowerShell管理工具等等。
現在,最新版本的Azure Local 24H2已經將這些建構HCI超融合叢集環境時必要的伺服器角色和功能安裝完畢,所以管理人員只需要確認是否安裝完成即可。執行「Get-WindowsFeature」指令即可查詢,或是如圖13所示使用本文的指令,僅列出系統已經安裝的伺服器角色和功能,並且依照Name欄位的名稱進行排序以便更容易讀取結果。
圖13 查詢並過濾已安裝的伺服器角色和功能。
部署Azure Local超融合叢集
部署Azure Local超融合叢集的前置作業已經完成,管理人員可以使用PowerShell指令執行部署「單節點」超融合叢集的動作。執行「New-Cluster -Name HCI-Cluster -Node azlocal -NoStorage -StaticAddress 10.10.75.20」指令,建構叢集名稱為「HCI-Cluster」容錯移轉,叢集節點主機名稱為「azlocal」,容錯移轉叢集的IP位址為「10.10.75.20」。必須注意的是,因為採用巢狀式虛擬化技術的關係,所以必須再加上一個「-NoStorage」參數,如果是採用實體伺服器,則無須此參數。
緊接著,執行「Enable-ClusterStorageSpacesDirect -CacheState Disabled」指令,啟用Storage Spaces Direct的超融合技術,並且停用儲存體快取機制,在系統詢問是否啟用超融合技術時,鍵入A即可。當系統啟用程序完成後,便會自動產生名稱為「EnableClusterS2D」的HTML格式報表檔案。執行「Get-StoragePool」指令,可以看到系統已經透過啟用Azure Local超融合技術,將6個1TB SSD固態硬碟空間,匯整為6TB的儲存集區,如圖14所示。
圖14 建構容錯移轉叢集並啟用Azure Local超融合機制。
透過WAC管理Azure Local超融合叢集
由於傳統的容錯移轉叢集管理員無法管理Azure Local超融合叢集,此時可以透過Windows Admin Center(WAC)輕鬆地在GUI圖形介面中管理Azure Local超融合叢集。同時,最新版本的WAC管理平台也已經完整支援單節點的Azure Local超融合叢集,無論是管理和組態設定,或是新增及建立相關工作負載都可以,例如VM虛擬主機、容器等等。
在本文實作中,另外部署一台安裝Windows 11作業系統的VM虛擬主機,並安裝WAC管理平台,當管理人員順利通過使用者身分驗證機制,登入WAC管理平台後,依序點選「Add > Add or create resources > Server Clusters > Add」,在Add Cluster欄位中鍵入「hci-cluster.lab.weithenn.org」叢集名稱,系統便會自動掃描和探索到Azure Local超融合叢集,如圖15所示。
圖15 新增Azure Local超融合叢集至WAC管理平台中。
順利連線並納管Azure Local超融合叢集後,便可以透過WAC管理平台來查看Azure Local超融合叢集的各種使用率和工作負載資訊,包括超融合叢集節點主機數量和資訊、儲存裝置數量和資訊、管理VM虛擬主機、超融合叢集CPU/Memory/Storage資源使用資訊、IOPS儲存效能、Latency延遲時間、Throughput傳輸速率等等,如圖16所示。
圖16 透過WAC管理平台觀看Azure Local超融合叢集資源使用情況。
同時,在WAC管理介面中可以看到,系統提示必須先將此台WAC管理平台註冊至Azure公有雲環境中,才能為剛才部署的單節點Azure Local超融合叢集進行註冊的動作,後續才能導入Azure Monitor監控機制、啟用Azure Benefits權益、建置AKS容器平台等等,達成混合雲運作架構。
啟用儲存進階功能
首先,依序點選「Configuration > Settings > Storage > In-memory cache」,進入CSV in-memory read cache功能設定頁面,簡單來說,這是將Azure Local節點主機的實體記憶體空間拿來當成VM虛擬主機的資料讀取快取空間,預設啟用並使用「1GB」記憶體空間,如圖17所示。
圖17 組態設定CSV in-memory read cache使用多少記憶體空間。
可以視工作負載型態,適當調整CSV in-memory read cache記憶體空間大小,舉例來說,倘若後續計畫建構VDI虛擬桌面基礎架構這一種屬於讀取密集型的工作負載時,就很適合使用CSV in-memory read cache記憶體空間技術。在官方文件中,每台叢集節點主機最多可以指派高達「80%」記憶體空間給CSV in-memory read cache進行使用。
在儲存磁碟區方面,雖然Azure Local超融合叢集早已經全面支援精簡佈建磁碟區,但在預設情況下,系統預設值仍為「固定」(Fixed)磁碟區。因此,管理人員可以在建立磁碟區之前,在WAC管理介面中先依序點選「Configuration > Settings > Storage > Storage Spaces and pools > Storage Pool : S2D on HCI-Cluster > Default Provisioning Type」,再將預設值Fixed選項調整為「Thin」選項,按下〔Save〕鈕,將磁碟區預設值修改為採用精簡佈建磁碟區,如圖18所示。
圖18 調整Azure Local超融合叢集預設值採用精簡佈建磁碟區。
在VM虛擬主機工作負載平衡方面,也可以視實際需求進行調整,預設情況下自動平衡模式為「Always」,表示每隔「30分鐘」系統會估算資源負載情況後,進行VM虛擬主機的負載平衡作業,在自動平衡積極度方面預設值為「Medium」,表示當叢集節點主機工作負載超過「70%」時,將會針對VM虛擬主機進行負載平衡作業,如圖19所示,詳細資訊請參考「Virtual machine load balancing - Azure Local | Microsoft Learn」文件內容。
圖19 調整VM虛擬主機負載平衡機制設定值。
建立精簡佈建磁碟區
從Azure Local 2311.2版本開始,便新增支援「精簡佈建磁碟區」(Thin Provisioning)功能。簡單來說,當管理人員不確定需要多少磁碟空間,並且對於儲存效能相較於固定磁碟區差一點時,便可以建立精簡佈建磁碟區來使用,進而達到節省儲存空間的目的,如圖20所示,詳細資訊請參考「Storage thin provisioning in Azure Local, version 23H2 - Azure Local | Microsoft Learn」文件內容。
圖20 固定磁碟區和精簡佈建磁碟區的比較。 (圖片來源:Azure本地23H2版中的儲存精簡配置-Azure Local | Microsoft Learn)
為了實際測試精簡佈建磁碟區的彈性,建立名稱為「Vol-1TB-Thin」的1TB精簡佈建磁碟區,如圖21所示,切換到Dashboard主頁,就可以看到Total size 1TB空間大小的精簡佈建磁碟區,但是在Used size欄位僅占用「8.73GB」儲存空間,而Available欄位仍有「1016GB」可供使用。
圖21 採用精簡佈建磁碟區有效提升儲存空間可用率。
有此可見,精簡佈建磁碟區確實能為企業組織提供儲存空間彈性。
<本文作者:王偉任,Microsoft MVP及VMware vExpert。早期主要研究Linux/FreeBSD各項整合應用,目前則專注於Microsoft及VMware虛擬化技術及混合雲運作架構,部落格weithenn.org。>