網管人雜誌
本文刊載於 網管人雜誌第 201 期 - 2022 年 10 月 1 日出刊,NetAdmin 網管人雜誌為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它,或透過城邦出版人讀者服務網進行訂閱。
本文目錄
前言
隨著新版 Windows Server 2022 雲端作業系統的發佈,依照過往版本釋放的步調來看,應該過一陣子後便會發佈,伺服器虛擬化平台版本且可免費使用的 Hyper-V Server 2022。然而,管理人員應該已經發現,在微軟官方網站上,似乎找不到任何有關 Hyper-V Server 2022 的相關資訊。
事實上,過去的 Hyper-V Server 主要用途,為企業和組織地端資料中心的伺服器虛擬化平台,然而在整個虛擬化平台的規劃設計方面,並沒有考慮到現代化應用和混合雲的需求,這也正是為何微軟推出 Azure Stack HCI版本,以便符合企業和組織打造伺服器虛擬化、容器、超融合、混合雲……等需求。
因此, 微軟已經說明,傳統用於地端資料中心單純提供伺服器虛擬化的 Hyper-V Server 產品,最後一代的版本便是 Hyper-V Server 2019,其主要支援日期至 2024 年 1 月,而延伸支援則至 2029 年 1 月(如圖 1 所示),目的就是讓原本使用 Hyper-V Server 的企業和組織,能有更多時間過渡到 Azure Stack HCI平台。
圖 1、Hyper-V Server 2019 主要支援和延伸支援到期日
對於不熟悉 Hyper-V 虛擬化技術的管理人員可能會有疑問,採用 GUI 圖形介面的 Windows Server 2022 或 2019 並啟用 Hyper-V 角色,和本文介紹的 Hyper-V Server 2019 之間有哪些差異? 簡單來說,Windows Server 支援許多特色功能和伺服器角色,而 Hyper-V Server 2019 則僅專注於 Hyper-V 虛擬化功能。
對於 Windows Server 效能調校熟悉的管理人員應知,倘若希望 Windows Server 能夠進一步提升運作效能時,可以採用僅文字介面進行操作的 Server Core 模式。主要原因在於,去除 GUI 圖形介面的 Server Core 模式,除了整體運作效能大幅提升之外,在安全性更新數量方面將會「減少 40% - 60%」,連帶提升主機整體安全性。
相較於 Server Core 模式來說,Hyper-V Server 2019 則是更為精簡的版本,因為在 Hyper-V Server 2019 伺服器虛擬化平台中,僅支援 Hyper-V 伺服器角色,不支援安裝其它伺服器角色,例如,IIS、DNS、DHCP……等,也因為這樣的特性所以最適合用於運作 Hyper-V 伺服器虛擬化平台。
此時,管理人員可能會擔心,精簡版本的 Hyper-V Server 2019,在硬體裝置支援方面是否會有不足的情況產生? 簡單來說,Hyper-V Server 中已經內建 Windows Server Driver Model,因此只要能夠安裝 Windows Server 的硬體伺服器,也能順利安裝 Hyper-V Server 並正確識別所有硬體裝置。
雖然,Hyper-V Server 伺服器虛擬化平台,為可免費使用的 Hypervisor 虛擬化平台,然而在虛擬化功能方面,與啟用 Hyper-V 角色的 Windows Server 則完全相同,完整支援即時遷移(Live Migration)、儲存即時遷移(Storage Live Migration)、儲存複寫(Storage Replica)……等虛擬化進階功能(如圖 2 所示)。
圖 2、延展式叢集啟用儲存複寫機制示意圖
值得注意的是,所謂企業和組織可以「免費」使用 Hyper-V Server,是指 Hyper-V Hypervisor 虛擬化平台的部份,然而其上運作的 VM 虛擬主機客體作業系統,倘若為 Windows Server 或其它需要軟體授權的 Linux 作業系統,則仍需要購買作業系統軟體授權才行。
實戰演練 – Hyper-V Server 2019
原則上,Hyper-V Server 2019 的安裝流程,與管理人員安裝 Windows Server 流程相同。當管理人員下載 Hyper-V Server 2019 映像檔後,將 ISO 製作成可開機 USB 隨身碟,或透過硬體伺服器 IPMI Virtual Media 功能,將 ISO 映像檔掛載成為硬體伺服器光碟機後,即可進行 Hyper-V Server 2019 的安裝作業(如圖 3 所示)。
圖 3、Hyper-V Server 2019 安裝流程和 Windows Server 相同
當 Hyper-V Server 2019 安裝完成後,首次登入 Hyper-V Server 時,系統將會要求設定 Administrator 管理者密碼,順利登入 Hyper-V Server 後,整個操作體驗其實和 Server Core 版本相同,也就是不支援 GUI 圖形介面僅支援文字管理介面,登入系統後將會自動開啟二個視窗,分別是 Cmd 命令提示字元和 Server Configuration Tool(如圖 4 所示)。
圖 4、Hyper-V Server 2019 登入後僅支援文字模式操作
查詢 Hyper-V Server 軟體授權資訊
再次提醒管理人員,所謂可免費使用 Hyper-V Server,是指 Hyper-V 虛擬化平台的部份,而 VM 虛擬主機倘若運作需要軟體授權的作業系統時,仍然需要購買相關軟體授權才行。
管理人員可以在登入畫面中,切換到 Cmd 命令提示字元視窗,鍵入「slmgr.vbs -dli」或「slmgr.vbs -dlv」指令即可查詢,從查詢結果可以看到,安裝好的 Hyper-V Server 在軟體授權狀態方面,License Status 欄位值為 Licensed 也就是已授權狀態(如圖 5 所示)。
圖 5、可免費使用的 Hyper-V Server 伺服器虛擬化平台
攻擊面小安全性高的 Hyper-V Server
由於 Hyper-V Server 僅專注於提供 Hyper-V 伺服器虛擬化功能,並且拿掉 GUI 圖形介面僅剩文字介面,因此在預設情況下開啟的網路連接埠數量更少,所以能達到遭受惡意攻擊面縮小安全性提升的好處。
請切換至 Cmd 命令提示字元視窗,鍵入「netstat -nao」指令並配合工作管理員,查詢使用該通訊連接埠相對應的 PID 程序(如圖 6 所示),即可得知 Hyper-V Server 預設啟用的執行程序情況。下列為相關通訊連接埠號說明:
- TCP 135、49665、49666 / UDP 123、5353、5355: svchost.exe(Windows Services 主機處理程序)
- TCP 139、445、5985、47001 / UDP 137、138: System(NT Kernel & System)
- TCP 2179: vmms.exe(VM 虛擬主機管理服務)
- TCP 49664: wininit.exe(Windows啟動應用程式)
- TCP 49667: services.exe(服務及控制站應用程式)
- TCP 49669: lsass.exe(本機安全性認證處理程序)
圖 6、Hyper-V Server 2019 預設開啟的通訊連接埠號
Hyper-V Server 基礎設定
預設情況下,當 Hyper-V Server 主機啟動完成後,將會自動啟動 DHCP Client 網路功能,嘗試尋找所處區域網路中,是否有 DHCP 伺服器派發 IP 位址和相關網路組態。
同時,管理人員也可以透過內建的 Server Configuration Tool,透過文字互動方式組態設定 Hyper-V Server 網路組態。本文實作環境中,將組態設定 Hyper-V Server 主機,採用「10.10.75.19」固定 IP 位址,並且指定 DNS 伺服器 IP 位址為「10.10.75.10」。
首先,請在 SConfig 視窗中,鍵入數字「8」選擇「Network Settings」項目,進入文字互動設定頁面後,系統會條列出本機所有的網路卡,倘若有配置多張網路卡時,請透過網路卡的「Index# ID」,選擇指定的實體網路卡進行網路組態設定。
本文實作環境中,Hyper-V Server 主機僅配置一張網路卡,請依序鍵入「1 > 1 > S > 10.10.75.19 > 255.255.255.0 > 10.10.75.254」,組態設定固定 IP 位址、子網路遮罩、預設閘道。接著,鍵入「2 > 10.10.75.10」組態設定 DNS 伺服器 IP 位址。最後鍵入數字「4」,即可回到 SConfig 主選單。
在電腦名稱的部份,預設情況下系統會自動採用「WIN- 亂數」的命名規則,然而預設亂數的電腦名稱,通常不具識別性也不符合企業或組織的主機命名規則。管理人員需要變更 Hyper-V Server 主機的電腦名稱時,請在 SConfig 視窗中,鍵入數字「2」選擇「Computer Name」項目,鍵入「HV2019」新電腦名稱,此時系統將會彈出視窗,提醒管理人員必須重新啟動主機才能套用生效,按下「Yes」鈕便立即重新啟動主機,當 Hyper-V Server 順利重新啟動後,登入後即可發現新的電腦名稱已經套用生效(如圖 7 所示)。
圖 7、變更 Hyper-V Server 電腦名稱
Hyper-V Server 加入網域環境
原則上,Hyper-V Server 主機,必須加入 Windows AD 網域後,才能建構 Hyper-V 高可用性容錯移轉叢集並實作進階功能,例如,Live Migration 即時遷移……等。倘若,企業和組織只是希望透過 Hyper-V Server 主機,單純運作 VM 虛擬主機並且不需要相關進階功能時,則無須加入 Windows AD 網域環境。
即便管理人員選擇不將 Hyper-V Server 加入 Windows AD 網域環境,那麼也應該保持良好的管理習慣,請避免使用預設的 Administrator 管理帳號,進行 Hyper-V Server 主機的日常維護工作,而是新增其它管理者帳號後,將預設 Administrator 管理帳號停用,以降低遭受惡意攻擊的機會,例如,知道預設管理帳號為 Administrator 之後,剩下就是透過暴力密碼猜測工具破解管理員密碼了。
請在 SConfig 視窗中,鍵入數字「3」選擇「Add Local Administrator」項目,鍵入新的管理者帳號,本文實作為「Weithenn」,當新增管理者帳號名稱輸入完畢後,系統將彈出管理密碼設定視窗,請鍵入二次管理者密碼,此時系統將會自動把新增的管理者帳號,加入至 Administrators 管理者群組內。
請切換至 Cmd 命令提示字元視窗中,鍵入「net user Weithenn」指令,查詢剛才新增的管理者帳號 Weithenn,在 Local Group Memberships 欄位,是否顯示為「Administrators」管理者群組的成員(如圖 8 所示)。
圖 8、新增管理者帳號 Weithenn 並確認已加入 Administrators 管理者群組
此時,請登出 Hyper-V Server 主機,改為採用剛才新增的管理者帳號 Weithenn 登入。確認管理者帳號新增完成,並且能夠順利登入並管理 Hyper-V Server 主機後,即可將預設 Administrator 帳號,進行「停用」(Disable)的動作。
請在 Cmd 命令提示字元視窗中,鍵入「net user Administrator /ACTIVE:NO」指令停用帳號,然後再次鍵入「net user Administrator」指令,查詢預設的 Administrator 管理帳號資訊,可以看到「Account active」欄位值為「No」,表示成功停用預設 Administrator 管理者帳號。
在本文實作環境中,將 Hyper-V Server 主機加入「lab.weithenn.org」網域環境。請在 SConfig 視窗中,依序鍵入「1 > D > lab.weithenn.org > lab.weithenn.org\Administrator > 網域管理者密碼」,加入 lab.weithenn.org 網域環境,此時系統將會彈出視窗,提醒管理人員必須重新啟動主機才能套用生效,按下「Yes」鈕便立即重新啟動主機,當 Hyper-V Server 順利重新啟動後,即可採用網域帳號登入進行管理作業(如圖 9 所示)。
圖 9、使用網域帳號登入 Hyper-V Server 進行管理作業
由於加入網域後,預設情況下,Hyper-V Server 主機將會自動啟用,並且套用「Domain」網卡防火牆規則。因此,預設情況下區域網路中的其它主機,並無法 ping 到 Hyper-V Server 主機,管理人員可以透過「Set-NetFirewallProfile」的 PowerShell 指令,或是透過 SConfig 允許回應 ping 的防火牆規則,當然後續也可以透過 WAC(Windows Admin Center)管理工具調整防火牆規則。
預設防火牆規則為「阻擋進入」(Block Inbound),「允許流出」(Allow Outbound)網路封包。
請在 SConfig 視窗中,鍵入數字「4」,選擇「Configure Remote Management」項目,鍵入數字「3」,選擇「Configure Server Response to Ping」項目,並於彈出視窗按下「Yes」鈕,即可允許 Hyper-V Server 主機回應 ping 封包。
電源設定為高效能
預設情況下,Windows Server 主機的電源設定為「平衡」(Balanced),即便是 Hyper-V Server 也不例外,然而這樣的預設值,可能造成屆時其上運作的 VM 虛擬主機,必須等待一小段時間,待 Hyper-V Server 提升電源和運算能力後,才能夠快速回覆使用者請求,導致使用者會感覺到 VM 虛擬主機運作上卡卡的。
因此,管理人員應該將 Hyper-V Server 主機,在硬體伺服器的 BIOS/UEFI 設定中,將電源管理項目中調整至「Max Performance」設定值,然後登入 Hyper-V Server 主機中,透過「powercfg /setactive」指令取得「Power Scheme GUID」後,將 Hyper-V Server 主機的電源設定,調整為「高效能」(High Performance),確保在硬體伺服器層級和 Hyper-V Server 作業系統層級相互搭配的情況下,發揮主機最大化的運算效能(如圖 10 所示)。
圖 10、調整 Hyper-V Server 電源設定至高效能
其它 SConfig 選項
原則上,在 SConfig 組態設定選項中,其它選項因為功能直覺且設定簡單,便不再細項逐一操作。請參考下列其它組態設定選項功能描述:
5) Windows Update Settings: 組態設定 Windows 安全性更新方式。
6) Download and Install Update: 是否立即下載和安裝 Windows 安全性更新。
7) Remote Desktop: 啟用 RDP 遠端桌面連線功能。
9) Date and Time: 組態設定系統日期和時間。
10) Telemetry settings: 組態設定遙測機制等級。
11) Log Off User: 執行使用者登出。
12) Restart Server: 執行主機重新啟動。
13) Shut Down Server: 執行關機作業。
14) Exit to Command Line: 離開 Server Configuration Tool 模式,回到命令提示字元。
此外,當管理人員不小心,將 Hyper-V Server 內命令提示字元和 SConfig 視窗都關閉時,只要按下「Ctrl + Alt + Delete」組合鍵,選擇「Task Manager」開啟工作管理員,在工作管理員視窗中,點選「File > Run new task」後,鍵入「cmd」即可開啟命令提示字元,鍵入「powershell」即可開啟 PowerShell 指令視窗,鍵入「sconfig」即可開啟 Server Configuration Tool 設定視窗。
WAC 遠端管理 Hyper-V Server
一旦 Hyper-V Server 主機基礎設定完成後,後續的管理維護通常會透過遠端連線處理。然而,在過去需要遠端管理 Hyper-V Server 主機之前,必須先在 Hyper-V Server 主機處理「遠端存取權限」、「信任主機清單」、「啟用遠端管理」……等,才能夠透過伺服器管理員或 Hyper-V 管理員,或是 RSAT 遠端管理工具,遠端連線並管理 Hyper-V Server 主機。
現在,管理人員可以透過 WAC(Windows Admin Center)管理工具,即能以內建的 Remote PowerShell,以及 WMI over WinRM(Port 5985)遠端管理連線機制,快速納管 Windows Server 和 Hyper-V Server 主機,並且納入管理的 Hyper-V Server 無須安裝任何代理程式,達到「無代理程式」(Agentless)的現代化管理運作架構。
請在 WAC 管理工具中,依序點選「All Connections > Add > Servers > Add」項目,鍵入 Hyper-V Server 主機電腦名稱,本文實作環境為「HV2019」,此時系統便立即透過 WMI over WinRM(Port 5985)機制,探索及發現遠端 Hyper-V Server 主機(如圖 11 所示)。
圖 11、透過 WAC 管理工具納管遠端 Hyper-V Server 主機
成功透過 WAC 管理工具納管 Hyper-V Server 主機後,預設將會切換到左邊的「Overview」項目,在該項目中可以快速一覽 Hyper-V Server 主機的資訊,包括,電腦名稱、網域環境、作業系統版本,硬體資訊……等,甚至還有 CPU 處理器、記憶體使用量、乙太網路頻寬使用……等效能圖表。
點選左邊的 Firewall 項目,除了方便的針對 Hyper-V Server 主機,調整網卡防火牆設定檔之外,針對防火牆的「進入」(Incoming)和「流出」(Outgoing)等網路流量,也可以非常方便調整規則內容,以及防火牆規則的啟用和停用甚至是刪除或新增等作業(如圖 12 所示)。
圖 12、透過 WAC 管理工具遠端管理 Hyper-V Server 防火牆規則
原則上,透過 WAC 管理工具,非常容易針對遠端的 Hyper-V Server 進行維護管理作業(如圖 13 所示),舉凡,檔案或資料夾分享、查詢系統事件、安裝驅動程式、管理使用者和群組、效能檢視器、管理系統服務……等,甚至還能結合 Microsoft Azure 公有雲服務,例如,屆時可以整合 Azure Backup 機制,將地端的 VM 虛擬主機備份至 Azure 公有雲……等。
圖 13、透過 WAC 管理工具 RDP 遠端連線至 Hyper-V Server
簡單來說,WAC 管理工具結合過往多項管理工具的優點,例如,整合伺服器管理員系統組態的部份,整合 RSAT 遠端管理工具僅支援部份組態設定,整合 Hyper-V 管理員僅支援虛擬化管理作業。因此,管理人員透過簡單直覺的管理介面,能夠全方位管理遠端 Hyper-V Server 伺服器虛擬化平台,以及其上運作的 VM 虛擬主機。
首先,請在 WAC 管理工具中,依序點選「Virtual Switches > New」項目後,填入 Hyper-V vSwitch 虛擬交換器名稱,本文實作環境為「VMs-vSwitch」,在 vSwitch 虛擬交換器類型方面,可以直接選擇「External」類型,以便與 Hyper-V Server 主機實體網路環境溝通,選擇需要套用的乙太網路卡,倘若 Hyper-V Server 主機僅有一張網路卡時,請記得勾選「Allow management OS to share these network adapters」項目,以便透過同一張網路卡管理 Hyper-V Server,確認組態設定內容無誤後按下 Save 鈕即可(如圖 14 所示)。
圖 14、透過 WAC 管理工具建立 Hyper-V vSwitch 虛擬網路交換器
在建立 VM 虛擬主機之前,管理人員可以透過 PowerShell 的「Get-VMHostSupportedVersion」指令,查詢 Hyper-V Server 2019 伺服器虛擬化平台,支援哪些 VM 虛擬主機安裝的客體作業系統。在本文實作環境中,Hyper-V Server 2019 最多支援至「9.0」的 VM 虛擬主機設定版本(如圖 15 所示)。
圖 15、查詢 Hyper-V Server 2019 支援的 VM 虛擬主機設定版本
簡單來說,VM 虛擬主機設定版本,和屆時 VM 虛擬主機內安裝的客體作業系統版本支援度有關,舉例來說,當 VM 虛擬主機安裝 Windows Server 2016 作業系統時,只需要「8.0」版本即可支援,倘若安裝較新的 Windows Server 2019 作業系統時,則必須採用「9.0」版本才能支援(如圖 16 所示),至於最新的 Windows Server 2022 作業系統,則是建議採用最新的「10.0」版本,確保 VM 虛擬主機和 Hyper-V 虛擬化平台完整結合,達到運作效能最佳化。
圖 16、Hyper-V 伺服器虛擬化平台支援的 VM 虛擬主機設定版本一覽表
與傳統 Hyper-V 管理員工具相比,透過 WAC 管理工具更能得到許多管理優勢。首先,點選進入 Virtual Machines 項目後,在右邊「Summary」頁籤項目中,可以看到 Hyper-V Server 主機,VM 虛擬主機整體工作負載狀態,包括,VM 虛擬主機運作狀態(運作中、關機、封存、暫停)、近期發生的系統事件、CPU 處理器使用率、記憶體工作負載……等資訊,甚至會顯示前十名使用最多 CPU 和記憶體運算資源的 VM 虛擬主機。
點選「Inventory」選項,除了條列出每台 VM 虛擬主機概要資訊之外,例如,運作狀態、CPU 使用率、指派的記憶體空間、已經運作多少時間、心跳偵測狀態……等,也能針對「單台或多台」VM 虛擬主機進行維運管理作業,例如,多台 VM 虛擬主機重新啟動、關機、建立檢查點……等。
管理人員可以點選單台 VM 虛擬主機,更深入管理和探索 VM 虛擬主機,在預設頁面中可以看到 VM 虛擬主機的詳細資訊和效能圖表,其中效能圖表還包含儲存資源的 IOPS 和 Throughput,這二項效能圖表在傳統的 Hyper-V 管理員工具中並無法顯示。
在管理單台 VM 虛擬主機中,主要有四大項目,分別是 Connect、Power、Manage、Settings,其中點選 Connect 則會出現直接連線的 Connect,或是像操作 Azure VM 公有雲虛擬主機一樣的體驗,下載 RDP 設定檔後再進行遠端連線管理作業。
在 Power 項目中,則是管理 VM 虛擬主機的電力情況,包含,啟動、關機、斷電、儲存、重新啟動、暫停、恢復……等。在 Manage 項目中,除了支援複製、匯出、重新命令、刪除快照……等一般管理作業之外,點選 Move 則可整合 Hyper-V Server 進階功能 Live Migration 即時遷移,或是點選 Replicate using Azure Site Recovery 項目,整合 Azure ASR 機制進行 DR 異地備援作業。
最後,按下 Settings 項目,則是調整 VM 虛擬主機的原有組態設定值,包括,是否啟用動態記憶體、vCPU 虛擬處理器數量、是否啟用巢狀式虛擬化功能、是否啟用處理器相容性機制、啟用或關閉整合服務功能……等(如圖 17 所示)。
圖 17、調整 VM 虛擬主機整合服務項目
結語
透過本文的深入剖析和實戰演練後,相信管理人員已經知道 Windows Server、Hyper-V Server、Azure Stack HCI 之間的差異,同時透過 WAC 管理工具,能夠幫助管理人員輕鬆遠端連線管理 Hyper-V Server 伺服器虛擬化平台。