本文將透過實作演練介紹整合SDN軟體定義網路至原有HCI超融合叢集中具備哪些優點,即時沒有任何的硬體設備,也能透過免費的Azure訂閱或花費少許費用,立即體驗及實際操作HCI超融合叢集整合SDN軟體定義網路的運作環境。
在過去的環境中,管理人員要在地端資料中心內,部署Microsoft HCI超融合以及SDN軟體定義網路環境時,雖然有許多部署方式可供選擇,但是需要投入的IT人力和預算並不低,因此對於IT人力和預算原本就不足的中小企業或組織來說,想要體驗這部分的技術就顯得有點距離。
現在,透過Azure公有雲環境,中小企業或組織的管理人員可以透過申請Azure免費訂閱帳號,或是花費極低的金額,便能夠快速體驗建構及部署微軟HCI超融合和SDN軟體定義網路環境,如圖1所示。
新版SDN特色功能介紹
關於新版SDN的特色功能,以下分別加以說明。
SDN網路控制器
在SDN軟體定義網路環境中,「網路控制器」(Network Controller)的重要性不言而喻,無論是地端資料中心內,集中管理和組態設定網路及服務,例如虛擬交換器、軟體路由器、負載平衡機制等等,都可以透過SDN網路控制器進行動態建立,以及保護傳統網路架構難以防禦的「東-西」(East-West)向網路惡意攻擊,如圖2所示。
簡單來說,網路控制器具備高可用性和擴充性,並提供兩個API應用程式設計介面,首先是「South Bound API」提供網路控制站與網路設備進行通訊,而「North Bound API」則是讓管理人員能夠與網路控制站進行通訊。因此,可以透過PowerShell或RESTful API,達到管理實體網路交換器、路由器、軟體式防火牆、VPN閘道、軟體式負載平衡器等等,如圖3所示。
SDN軟體式負載平衡
在過去的版本中,必須採用PowerShell指令碼或是透過SDN Express的協助,才能建構SDN軟體定義網路環境的主要運作元件。然而,從2021年11月最新的WAC版本釋出後,管理人員便可以輕鬆地透過WAC管理平台在HCI超融合叢集運作環境中部署SDN主要運作元件,包括SDN網路控制器、SDN軟體式負載平衡、SDN閘道。但要注意的是,必須搭配WAC中最新的擴充模組SDN Infrastructure v1.32.0或後續版本才行。
那麼SDN軟體式負載平衡具備哪些功能,並且能夠為企業或組織帶來什麼好處呢?首先,它是適用於第四層(Layer 4)的網路負載平衡服務,所以能夠處理南北向和東西向的TCP/UDP網路流量,並且在VLAN和Hyper-V虛擬網路環境中支援「動態IP位址」(Dynamic IP address,DIP)。
可以將前端的「虛擬IP位址」(Virtual IP address,VIP),透過SDN軟體負載平衡機制,組態設定與後端負載平衡集區成員的VM虛擬主機DIP進行綁定作業,如此一來,當使用者需要存取服務時,便會由前端VIP接收再傳送給後端的DIP進行服務的承接任務,如圖4所示。
此外,當後端的DIP負載平衡集區成員VM虛擬主機發生故障時,而前端的VIP服務能夠即時知悉,並避免將服務請求傳送給故障的主機,所以SDN軟體式負載平衡也支援「TCP連接埠偵測」及「URL和HTTP連接埠偵測」兩種不同的健康狀態偵測機制,確保後端DIP負載平衡集區成員VM虛擬主機的健康狀態,如圖5所示。
另外,在SDN軟體式負載平衡運作機制中,還支援「伺服器直接回傳」(Direct Server Return,DSR)機制。簡單來說,傳統的網路流量去回的路徑是同一條,也就是從前端VIP負載平衡機制,將請求流量導給後端DIP處理,然後把回應請求的網路封包再回傳給VIP後再回給請求端。然而,這樣的運作架構,有可能最後的瓶頸會是卡在VIP負載平衡端點上。
而DSR伺服器直接回傳機制,在處理請求封包時,同樣是從前端VIP負載平衡給後端的DIP處理,但是當後端的DIP處理完畢,便將回應請求的網路封包直接回傳給請求端,而不會由原本的路徑回到前端VIP再回給請求端,因此在回應請求上除了更快更有效率外,也能避免瓶頸卡在前端VIP端點上,如圖6所示。
輕鬆易用的微分段安全機制
在傳統網路架構中,防火牆是座落在保護南北向網路流量的位置,如圖7所示,但是傳統的網路架構無法阻擋新型態的惡意攻擊,例如東西向惡意攻擊網路流量。
在SDN軟體定義網路環境中,則能輕易透過Tag based機制實作出「微分段」(Micro-Segmentation)安全性機制,等於是在每台VM前方都有一台防火牆,能夠輕易阻擋傳統網路架構難以阻擋的東西向惡意攻擊網路流量。舉例來說,眾多VM虛擬主機在同一個網路環境中,其中一台遭受惡意攻擊成功後,卻無法感染同一個網段中的其他台VM虛擬主機,如圖8所示。
實作環境說明
在以下的實戰中,將會示範如何在沒有硬體設備的情況下,透過Azure公有雲環境體驗部署和建置Azure Stack HCI超融合,以及SDN軟體定義網路運作環境。
首先,在Azure公有雲環境中部署一台支援巢狀式虛擬化技術的VM虛擬主機,該台VM虛擬主機採用最新Windows Server 2022雲端作業系統,在啟用Hyper-V巢狀式虛擬化技術後,將會建立三台VM虛擬主機,第一台VM虛擬主機安裝Windows Server 2019作業系統,並且擔任Active Directory網域控制站、DNS名稱解析伺服器、DHCP伺服器和WAC(Windows Admin Center)管理平台,另外兩台則是安裝Azure Stack HCI 21H2版本,建構和部署Azure Stack HCI超融合叢集,同時部署SDN軟體定義網路的基礎架構,如圖9所示。
部署Azure巢狀式VM運作環境
首先,在Azure公有雲環境中部署一台支援巢狀式虛擬化技術的VM虛擬主機,預設將採用Standard_E16s_v4規格的VM虛擬主機,配置的虛擬硬體為16 vCPU和128GB vMemory,支援最多掛載32顆資料硬碟。
管理人員必須確認擁有實作的Azure訂閱帳號是否支援部署此規格的VM虛擬主機,倘若沒有Azure訂閱帳號,則可以註冊Azure免費訂閱帳號後,將免費訂閱帳號升級為「隨用隨付」(Pay-as-you-go),便能取得美金200元的額度,同時順利建立Standard_E16s_v4規格的VM虛擬主機,只要記得在實作完成後關閉和刪除相關雲端資源,便能夠在免費額度的情況下完整實作本文環境。
在部署Azure VM頁面中,按下〔Deploy to Azure〕按鈕,便會開啟新的頁面並轉導至Azure Portal介面,依據需求調整下列項目,如圖10所示:
‧Subscription:選擇建立此台VM虛擬主機的Azure訂閱帳號。
‧Resource Group:選擇裝載此台VM虛擬主機和相關資源元件的「資源群組」(Resource Group),本文實作名稱為「RG-EastAsia-AzSHCI-Lab」。
‧Region:選擇運作此台VM虛擬主機的Azure資料中心,本文實作選擇「東亞」(East Asia)資料中心。
‧Virtual Machine Name:填入此台VM虛擬主機的電腦名稱,本文實作為「AzSHCIHost」。請注意,這裡的電腦名稱若超過15個字元或包含特殊符號,將會導致部署失敗。
‧Virtual Machine Size:選擇部署此台VM虛擬主機採用的規格,採用預設值Standard_E16s_v4即可。
‧Data Disk Size:指定每個資料硬碟的大小,採用預設值256GB時,系統將會採用256GB × 8顆進行組合,也就是屆時VM虛擬主機將會看到2TB空間大小的儲存空間。
‧Admin Username:指定預設登入VM虛擬主機的管理帳號,本文實作為Weithenn。
‧Admin Password:指定預設登入VM虛擬主機的管理密碼。請注意,這裡的管理密碼僅打一次,所以務必注意不要打錯字造成稍後無法登入VM虛擬主機的情況。
‧Auto Shutdown Status:系統預設啟動自動關機組態設定,但由於會快速部署和測試後關閉,所以將自動關機組態設定停用,避免影響實作。
確認無誤後按下〔Review + create〕按鈕,系統將會檢查相關組態設定值是否正確,例如採用的Azure訂閱帳號是否支援部署此規模VM虛擬主機、VM虛擬主機的電腦名稱是否超過15個字元和包含特殊符號、選擇的Azure資料中心是否仍有資源提供部署等等。
系統檢查無誤後,將會出現「Validation Passed」的驗證通過訊息,按下〔Create〕按鈕便會開始進行部署巢狀式VM虛擬主機的動作,在本文實作部署過程中,花費約「50分鐘」便順利部署完成。
部署完成後,當嘗試透過下載的RDP遠端桌面連線設定檔連線時,將會發現無法連線至VM虛擬主機的情況。事實上,因為安全性的考量,系統預設網路安全性NSG的組態設定部分,已經先將RDP(Port 3389)的連線規則進行阻擋,所以導致無法連線的情況。
只要在Azure Portal頁面中,進入VM虛擬主機選項,並點選「Settings > Networking > Inbound port rules」,便能看到系統將RDP Port 3389的連線行為設定為「Deny」,只要選擇修改為「Allow」允許放行,即可順利連線,如圖11所示。
巢狀式VM虛擬主機基本組態設定
順利登入Azure VM虛擬主機後,檢查後可以發現採用的是最新Windows Server 2022 Datacenter Azure Edition(21H2)版本,時區方面則是採用標準的UTC格林威治時間,請將時區調整為符合當地時區的「UTC + 08 :00 - Taipei」。此外,查看後可以發現已經安裝和啟用Hyper-V虛擬化技術,以便稍後能夠部署三台VM虛擬主機。開啟磁碟管理員,可以看到系統中擁有一個2TB大小的磁碟區,並且使用「V:」磁碟機代號,這也是屆時存放VM虛擬主機和相關檔案的儲存空間,如圖12所示。
部署Azure Stack HCI超融合環境
基本組態確認完成後查看桌面時,將會看到名稱為「New-AzSHCISandbox」的圖示,這便是稍後幫助管理人員快速建構和自動化部署Azure Stack HCI超融合環境的指令碼。如果在桌面上未看到New-AzSHCISandbox圖示,那表示DSC(Desired State Configuration)工作程序仍在背景執行中尚未完成,等待一段時間,待DSC工作程序執行完畢,桌面上便會自動出現New-AzSHCISandbox圖示。
事實上,可以在執行部署之前,進行微調客製化組態設定,以便建構及部署出客製化環境,舉例來說,預設情況下將會建立名稱為「contoso.com」的網域名稱,而管理密碼則是「Password01」的運作環境,以及稍後部署SDN軟體定義網路的相關網段資訊。
若不想採用預設值而需要客製化環境時,則切換至「C:\AzHCI_Sandbox\AzSHCISandbox-main」資料夾下,編輯「AzSHCISandbox-Config.psd1」檔案內容,便可以將SDNAdminPassword指定的管理密碼,由預設的「Password01」修改為管理人員習慣的管理密碼,再將SDNDomainFQDN欄位值由預設的「contoso.com」修改為客製化的網域名稱,例如「lab.weithenn.org」,而DCName欄位值由預設的「contosodc」修改為客製化的主機名稱,例如「labdc」,其他欄位值也都可以視需求調整。
組態設定檔客製化內容修改完畢後,為了確保稍後部署過程中可以了解整理的部署項目和進度,點選桌面上的New-AzSHCISandbox圖示,再按下右鍵,然後選擇【內容】,將捷徑設定的Target欄位值修改為「PowerShell -NoExit C:\AzHCI_Sandbox\AzSHCISandbox-main\New-AzSHCISandbox.ps1」,之後按下〔OK〕按鈕,那麼稍後執行時,PowerShell指令視窗便不會消失轉為背景執行而是留在桌面上以便觀察,如果部署過程中發生錯誤的話才方便進行除錯。
現在可以按兩下桌面上的New-AzSHCISandbox圖示開始執行部署作業,也可以開啟Hyper-V管理員,稍後便能看到系統自動化進行部署作業,並且依序建立三台VM虛擬主機,分別是名稱為AzSMGMT的DC網域控制站,以及二台AzSHOST1和AzSHOST2超融合節點主機,如圖13所示。
在本次實作環境中,自動化部署的工作任務花費「1小時52分」順利部署完成,在PowerShell指令碼視窗中,可以看到「Successfully deployed the Azure Stack HCI Sandbox」訊息,以及工作任務執行時間,如圖14所示。
管理Azure Stack HCI超融合環境
當部署完成,系統會在桌面上建立另一個RDP遠端連線捷徑,名稱為「AdminCenter」,方便直接連線至AzSMGMT管理主機,若採用系統預設值,鍵入「Contoso\Administrator」管理者帳號以及「Password01」管理者密碼,即可登入管理主機。
順利登入AzSMGMT管理主機後,可以看到桌面上已經有許多管理工具的捷徑,例如DNS管理員、容錯移轉叢集管理員、Hyper-V管理員以及WAC(Windows Admin Center)。按兩下桌面上的Windows Admin Center捷徑,同樣地,如果管理人員未採用客製化組態設定的話,鍵入預設的「Contoso\Administrator」管理者帳號,以及「Password01」管理者密碼,登入WAC管理平台。
登入WAC管理平台後,預設情況下將會看到目前採用的WAC為最新的v2211版本,並且系統開始自動更新相關擴充模組,全部更新完成後,系統會出現「Successfully updated your extensions」提示訊息,表示所有擴充模組已經更新完畢,按下〔OK〕按鈕,將會重新載入WAC管理頁面。點選右上角齒輪圖示,再點選Gateway下的Extensions項目,查看SDN軟體定義網路相關擴充模組及版本,如圖15所示。
回到WAC主要頁面,依序點選「All connections > Cluster Manager > Add」項目,在Add cluster頁籤下的Cluster name欄位,鍵入「AzStackCluster.contoso.com」預設HCI超融合叢集名稱,系統正確辨別叢集名稱後,便會自動勾選,也要將AzSHOST1和AzSHOST2這二台HCI超融合叢集節點主機加入,確認後按下〔Add〕按鈕即可。
順利納管HCI超融合叢集,可以看到HCI超融合叢集的各種工作負載資訊,例如HCI超融合叢集節點主機數量、儲存裝置數量、管理vSwitch虛擬網路交換器、HCI超融合叢集的各項硬體資源使用資訊、IOPS儲存效能、Latency網路延遲時間、Throughput傳輸速率等等,如圖16所示。
啟用SDN軟體定義網路基礎架構
目前在WAC管理介面中可以看到Networking項目下只有Virtual switches和SDN Infrastructure項目,點選SDN Infrastructure項目後,系統將會自動安裝RSAT-NetworkController伺服器功能管理工具,並確認已自動安裝SDN網路控制器的REST憑證,確認後系統將出現「SDN infrastructure was detected and validated」訊息,按下〔Continue〕按鈕繼續。此時,系統會出現Connect to Network Controller視窗,請鍵入SDN網路控制器的主機名稱,採用預設值的管理人員可以鍵入「nc01.contoso.com」再按下〔Continue〕按鈕,便會順利連結至SDN網路控制器,同時系統提示按下〔F5〕鍵重新載入WAC管理介面。
順利重新載入頁面後,在Networking項目下就會多了許多SDN軟體定義網路管理項目,包括Load balancer、Logical networks、Gateway connections、Network security group等等,如圖17所示。
查看SDN網路控制器
點選Network Controller項目,可以看到SDN網路控制器的運作資訊和執行狀態,例如REST URL資訊、SDN網路控制器版本、SDN網路控制器服務狀態等等,如圖18所示。
查看SDN軟體負載平衡
點選Load Balancer項目,可以看到系統預設已經指派「30.30.30.1」為SDN軟體負載平衡的管理IP位址,以及Outbound NAT IP位址。同時,可以看到HCI超融合叢集的成員主機AzSHOST1和AzSHOST2都運作著負載平衡代理程式、目前Public IP Pool和Private IP Pool的使用情況,以及Mux負載平衡機制主機的工作負載資訊,如圖19所示。
若希望新增其他的軟體負載平衡,點選「Networking > Load balancers > Inventory > New」即可新增,如果要新增其他軟體負載平衡的Public IP位址,點選「Networking > Public IP addresses> Inventory > New」就能新增。
查看SDN閘道
點選Gateway項目,可以看到SDN閘道的運作狀態和工作負載,在管理畫面中看到gw01.contoso.com主機狀態為「Uninitialzed」的警告訊息,請不用擔心,將畫面往下捲,就能看到SDN閘道主機共有兩台並且互為備援的Active/Standby機制,所以目前gw02.contoso.com主機狀態為「Active」,gw01.contoso.com主機運作狀態為「Redundant」,而組態設定狀態是「Uninitialzed」,如圖20所示。
部署VM虛擬主機並套用SDN規則
可以在Networking項目中針對運作環境進行組態設定,例如新增相關Logical Networks和Subnet等等網路環境,後續在新增VM虛擬主機時,便能夠在部署階段中的Network項目,選擇套用SDN軟體定義網路的相關組態設定。
舉例來說,在本文實作環境中,建立名稱為「VM vNetwork」的邏輯網路,以及網段為「10.10.168.0/24」,此外還套用名稱為「NSG-WebApp」的網路安全群組原則,確保部署的這台VM虛擬主機受到微分段安全機制的保護,避免受到東西向網路惡意攻擊的威脅,如圖21所示。
結語
透過本文的實作,管理人員就能夠理解整合SDN軟體定義網路至原有HCI超融合叢集中具備哪些優點,即便是IT預算不足的中小型企業,在沒有任何硬體設備的情況下,也能透過免費的Azure訂閱或花費少許費用,體驗和實際操作HCI超融合叢集整合SDN軟體定義網路的運作環境。
<本文作者:王偉任,Microsoft MVP及VMware vExpert。早期主要研究Linux/FreeBSD各項整合應用,目前則專注於Microsoft及VMware虛擬化技術及混合雲運作架構,部落格weithenn.org。>