網管人雜誌
本文刊載於 網管人雜誌第 162 期 - 2019 年 7 月 1 日出刊,NetAdmin 網管人雜誌 為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它,或透過城邦出版人讀者服務網進行訂閱。文章目錄
前言Hyper-V Server 2016
安裝 Hyper-V Server 2016
查詢 Hyper-V Server 軟體授權狀態
Hyper-V Server 預設開啟連接埠號
組態設定網路環境
新增其它管理者帳號
變更電腦名稱
加入 Windows 網域或變更工作群組名稱
防火牆組態設定
其它功能選項
調整電源設定
移除 SMB 1.0 伺服器功能
所有視窗都關閉時
遠端管理 Hyper-V Server 2016
基礎設定管理
建立 Hyper-V vSwitch 虛擬交換器
管理 VM 虛擬主機
調整 Hyper-V 進階設定
結語
前言
微軟最新雲端作業系統 Windows Server 2019,已經在 2018 年 10 月正式推出。然而,卻因為「已知資料夾重新導向」(Knows Folder Redirection,KFR)臭蟲問題,有可能導致使用者帳號內,Document 資料夾內文件被全數誤刪的情況。雖然,Windows Server 2019 已經順利修復問題,但是 Hyper-V Server 2019 虛擬化平台的部份,仍在持續進行修復中。直至 2019 年 6 月中旬為止,不管在 Windows Evaluation Center 或 MSDN 訂閱(如圖 1 所示),都無法找到 Hyper-V Server 2019 映像檔。 ( 2019/07 更新,現在已經可以下載 Hyper-V Server 2019 ISO 映像檔了)
圖 1、2019 年 6 月之前,新世代 Hyper-V Server 2019 映像檔仍持續修復中
本文,將以目前主流的 Hyper-V Server 2016 實作演練,如何建構虛擬化平台並透過微軟最新 WAC(Windows Admin Center)管理平台,遠端管理 Hyper-V Server 2016 虛擬化平台的工作任務。
Hyper-V Server 2016
經常有許多 IT 管理人員詢問,啟用 Hyper-V 角色的 Windows Server,和 Windows Hyper-V Server 之間有何不同 ?簡單來說,Windows Server 支援許多特色功能和伺服器角色,然而 Windows Hyper-V Server 僅專注於 Hyper-V 。熟悉 Windows Server 平台的管理人員皆知,希望 Windows Server 能夠進一步提升運作效能時,可以採用 Server Core 版本的 Windows Server 。事實上,拿掉 GUI 圖形介面的 Server Core,除了運作效能提升之外,主機的整體安全性也同時增加,後續安裝的安全性更新數量也更少。
Server Core 與圖形介面的 Windows Server,在安全性更新數量方面大約可以減少 40% - 60%,而 Windows Hyper-V Server 則比 Server Core 更為精簡,可知安全性更新數量將更少。
Windows Hyper-V Server,是比 Server Core 更精簡的版本,因為在 Windows Hyper-V Server 當中,「僅」支援 Hyper-V 伺服器角色,無法安裝其它常用伺服器角色,例如,DNS、DHCP…… 等,所以非常適合用來擔任 Hyper-V 虛擬化平台。
管理人員可能會擔心,過於精簡的 Windows Hyper-V Server,在硬體裝置支援方面是否較少或不足。簡單來說,Windows Hyper-V Server 已經內含 Windows Server Driver Model,所以只要能安裝 Windows Server 的硬體伺服器,安裝 Windows Hyper-V Server 也能正確識別所有硬體裝置。
此外,雖然 Windows Hyper-V Server 虛擬化平台,為免費使用的 Hypervisor 虛擬化平台,但是在虛擬化功能方面,則與啟用 Hyper-V 角色的 Windows Server 完全相同,因此完全支援容錯移轉叢集(Failover Clustering)、快速遷移(Quick Migration)、即時遷移(Live Migration)…… 等虛擬化功能(如圖 2 所示)。
請注意,可「免費」使用 Windows Hyper-V Server,是指 Hypervisor 虛擬化平台的部份,其上運作的 VM 虛擬主機客體作業系統,倘若為 Windows Server 或其它需要軟體授權的 Linux 作業系統,仍需要購買作業系統軟體授權。
圖 2、Windows Hyper-V Server 完全支援所有虛擬化特色功能
安裝 Hyper-V Server 2016
原則上,Windows Hyper-V Server 2016 的安裝方式,和管理人員安裝 Windows Server 2016 的方式相同。管理人員只要下載 Windows Hyper-V Server 2016 映像檔後,將 ISO 映像檔燒錄成安裝光碟片,或者製作成開機 USB 隨身碟,或是透過硬體伺服器 IPMI Virtual Media 功能,將 ISO 映像檔掛載成為遠端硬體伺服器光碟機,皆可以進行 Hyper-V Server 2016 的安裝作業。當 Hyper-V Server 2016 安裝完畢後,第一次登入 Hyper-V Server 時,系統將會要求設定管理者密碼(需符合複雜性密碼原則),順利登入 Hyper-V Server 後,將會看到自動開啟的二個視窗,分別是命令提示字元和 Server Configuration Tool(如圖 3 所示)。
Windows Hyper-V Server 2016 和 Server Core 版本相同,不支援 GUI 圖形介面僅支援文字管理介面。
圖 3、Windows Hyper-V 2016 登入畫面
查詢 Hyper-V Server 軟體授權狀態
倘若管理人員,仍然擔心 Hyper-V Server 軟體授權是否為免費使用,那麼可以在登入後,切換到命令提示字元視窗中,鍵入「slmgr.vbs -dlv」指令即可查詢。如圖 4 所示,可以看到 Hyper-V Server 主機,在「軟體授權狀態」(License Status)欄位值為「已授權」(Licensed)。
圖 4、查詢 Hyper-V Server 軟體授權狀態
Hyper-V Server 預設開啟連接埠號
如前所述,Hyper-V Server 專注於 Hyper-V 虛擬化平台的部份,所以預設情況下開啟的連接埠號非常少,這表示 Hyper-V Server 除了耗用的硬體資源更少外,在主機安全性方面更能縮小被攻擊範圍。請管理人員切換到命令提示字元視窗,鍵入「netstat -nao」指令(如圖 5 所示),配合工作管理員查詢相對應的 PID 程序,即可得知 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 49668 :lsass.exe(本機安全性認證處理程序)
- TCP 49667 :services.exe(服務及控制站應用程式)
圖 5、查詢 Hyper-V Server 預設開啟連接埠號
組態設定網路環境
預設情況下,當 Hyper-V Server 啟動完成後,便會啟動 DHCP Client 網路功能,嘗試尋找同個區域網路中,是否有 DHCP Server 可以取得 IP 位址和其它網路組態。管理人員可以透過內建的 Server Configuration Tool,透過互動方式設定 Hyper-V Server 網路組態。在本文實作環境中,將設定 Hyper-V Server 主機,採用「10.10.75.16」固定 IP 位址:
1. 請鍵入數字「8」選擇「Network Settings」項目,進入文字互動式設定頁面後,系統會列出偵測到的網路卡,倘若 Hyper-V Server 安裝多張網路卡時,請透過網路卡的「Index ID」,選擇希望組態設定的實體網路卡。
2. 設定固定 IP 位址,請依序鍵入「1 > S > 10.10.75.16 > 255.255.255.0 > 10.10.75.254」,將會組態設定固定 IP 位址、子網路遮罩、預設閘道。
3. 請依序鍵入設定「2 > 168.95.1.1 > 8.8.8.8」,組態設定使用的 DNS 伺服器位址。
4. 最後鍵入數字「4」,即可離開網路設定選單(如圖 6 所示)。
圖 6、設定 Hyper-V Server 主機網路組態
新增其它管理者帳號
倘若,屆時 Hyper-V Server 主機,並未加入 Windows 網域環境的話。那麼,建議管理人員應該養成良好的管理習慣,避免使用預設的 Administrator 管理帳號,進行 Hyper-V Server 的日常維運事務,而是新增其它管理者帳號,並將預設的 Administrator 管理帳號停用,以降低暴力密碼猜測工具攻擊的機會。1. 請在 Server Configuration Tool 視窗中,鍵入數字「3」,選擇「Add Local Administrator」項目。
2. 鍵入新增管理者帳號名稱,本文實作環境為「Weithenn」,當新增管理者帳號名稱輸入完畢後,系統將彈出管理密碼設定視窗,請鍵入二次管理者密碼。(系統會自動將此使用者帳號,加入至 Administrators 管理者群組內)
3. 切換至命令提示字元視窗,鍵入「net user Weithenn」指令,查詢剛才新增的 Weithenn 管理帳號,是否為 Administrators 管理者群組的成員(如圖 7 所示)。
圖 7、新增 Hyper-V Server 管理者帳號
此時,請登出或重新啟動 Hyper-V Server,改為採用剛才新增的管理者帳號登入。確認新增管理者帳號,能夠順利登入並管理 Hyper-V Server 後,便可以將預設的 Administrator 帳號,進行「停用」(Disable)的動作。
請在命令提示字元視窗中,鍵入「net user Administrator /ACTIVE:NO」指令,然後查詢 Administrator 帳號資訊,便可以看到「Account active」欄位值為「No」,表示預設的 Administrator 管理者帳號已經停用(如圖 8 所示)。
圖 8、停用預設的 Administrator 管理者帳號
變更電腦名稱
預設情況下,在 Hyper-V Server 的安裝過程當中,系統會自動採用「WIN- 亂數」的命名規則,給予 Hyper-V Server 電腦名稱(本文實作環境中,預設電腦名稱為 WIN-ESJ7UF3J6KC)。然而,預設亂數的電腦名稱,通常不具識別性也不符合企業的主機命名規則。管理人員在變更電腦名稱前,應先了解 Windows 主機命名規則,首先,儘量不要超過「15 個字元」,請使用 RFC-1123 文件定義的標準支援字元,如下所示:
- 大寫字母 A 到 Z
- 小寫字母 a 到 z
- 數字 0 到 9
- 連字號「-」
了解電腦名稱的命名規則後,請依下列操作步驟變更 Hyper-V Server 主機的電腦名稱:
1. 請在 Server Configuration Tool 視窗中,鍵入數字「2」選擇「Computer Name」項目。
2. 鍵入「Weithenn-HV2016」新電腦名稱,此時系統提必須重新啟動主機才能套用生效,按下「Yes」鈕便立即重新啟動主機。
當 Hyper-V Server 順利重新啟動後,登入後即可發現剛才所設定的電腦名稱已經套用生效了(如圖 9 所示)。
圖 9、變更 Hyper-V Server 主機電腦名稱
加入 Windows 網域或變更工作群組名稱
當管理人員,希望採用 Hyper-V Server 建構 Hyper-V 高可用性容錯移轉叢集,並實作進階功能如 Live Migration 即時遷移時,那麼必須要將 Hyper-V Server 主機,加入至 Windows AD 網域內才行,本文實作環境將加入「weithenn.org」網域。倘若,Hyper-V Server 主機只是單純運作 VM 虛擬主機,不需要相關進階特色功能時,便無須一定要加入 Windows AD 網域內。1. 請在 Server Configuration Tool 視窗中,鍵入數字「1」選擇「Domain/Workgroup」項目。
2. 管理人員視運作環境需求,鍵入「D > 網域名稱 > 網域管理者帳號 > 網域管理者密碼」,即可加入 Windows AD 網域環境(如圖 10 所示),或鍵入「W > 工作群組名稱」即可。
圖 10、Hyper-V Server 主機順利加入 weithenn.org 網域
防火牆組態設定
預設情況下,Hyper-V Server 主機將自動啟用網卡防火牆功能,預設防火牆的規則為「阻擋進入」的封包(Block Inbound),「允許出去」的封包(Allow Outbound),因此預設情況下其它主機,並無法 ping 到 Hyper-V Server 主機,管理人員可以透過「Set-NetFirewallProfile」的 PowerShell 指令,或透過 Server Configuration Tool 互動式設定,開啟 Hyper-V Server 主機允許被 ping 的防火牆規則。1. 請鍵入數字「4」,選擇「Configure Remote Management」項目。
2. 接著鍵入數字「3」,選擇「Configure Server Response to Ping」項目,並於彈出視窗按下「Yes」鈕即可。
其它功能選項
在 Server Configuration Tool 組態設定中,其它選項因為功能較為直覺且容易設定,因此便不再帶著讀者逐一操作。下列,便是其它組態設定選項功能概述:- 5)Windows Update Settings : 組態設定 Windows 安全性更新。
- 6)Download and Install Update : 立即下載 Windows 安全性更新。
- 7)Remote Desktop : 啟用遠端桌面連線功能。
- 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 模式,回到命令提示字元。
調整電源設定
如圖 11 所示,預設情況下,Hyper-V Server 主機的電源設定為「平衡」(Balanced),管理人員可以透過「powercfg /setactive」指令,搭配取得的「Power Scheme GUID」,將 Hyper-V Server 主機的電源設定,調整為「高效能」(High Performance)。管理人員應檢查 Hyper-V Server 的 BIOS/UEFI 設定,在 BIOS/UEFI 的電源管理項目中,也應調整為 Max Performance 選項,才能讓 Hyper-V Server 主機,在硬體 / 軟體相互搭配的情況下發揮最大運作效能。
圖 11、將 Hyper-V Server 主機的電源設定調整為高效能
移除 SMB 1.0 伺服器功能
從 Windows 10(1709)版本,和 Windows Server 2016(1709)版本開始,預設已經移除 SMB v1 伺服器功能,以避免遭受惡意程式攻擊的機會。有關 SMB v1 伺服器功能的安全性問題詳細資訊,請參考 Microsoft KB 4034314、KB 2696547 知識庫文章。
管理人員,可以使用「Get-ComputerInfo」的 PowerShell 指令,查詢目前採用的 Windows Server 版本,或者直接使用「Get-WindowsFeature -Name FS-SMB1」的 PowerShell 指令,查詢是否安裝此伺服器功能。
在本文實作環境中,安裝好的 Hyper-V Server 2016 主機,預設已經有 SMB v1 伺服器功能,請使用「Remove-WindowsFeature -Name FS-SMB1」的 PowerShell 指令(如圖 12 所示),即可移除 SMB v1 伺服器功能,但必須重新啟動 Hyper-V Server 主機才能套用生效。
圖 12、透過 PowerShell 指令,移除有安全性疑慮的 SMB v1 伺服器功能
所有視窗都關閉時
倘若,管理人員不小心,將 Hyper-V Server 內命令提示字元,和 Server Configuration Tool 設定視窗都關閉時,只要依下列操作步驟即可再次開啟相關組態設定視窗:1. 請按下「Ctrl + Alt + Delete」組合鍵,選擇「Task Manager」項目開啟工作管理員。
2. 在工作管理員視窗中,點選「File > Run new task」後,鍵入「cmd」即可開啟命令提示字元,鍵入「powershell」即可開啟 PowerShell 指令視窗,鍵入「sconfig」即可開啟 Server Configuration Tool 設定視窗。
遠端管理 Hyper-V Server 2016
過去,要遠端管理 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 主機,並且受管理的 Windows Server 無須安裝任何代理程式,達到現代化管理機制「無代理程式」(Agentless)運作架構。
請在 WAC 管理工具中,依序點選「All Connections > Add > Servers」項目,鍵入 Hyper-V Server 主機電腦名稱,本文實作環境為「weithenn-hv2016」,此時 WAC 管理工具便立即透過 WMI over WinRM(Port 5985)機制,探索及發現遠端 Hyper-V Server 主機(如圖 13 所示)。
有關 WAC 管理工具的詳細資訊,請參考本刊《 第 153 期、新版 WAC 免費易用,輕鬆管理主機 / 容錯移轉叢集 》文章內容。
圖 13、透過 WAC 管理工具遠端管理 Hyper-V Server
基礎設定管理
過去,透過 Hyper-V 管理員遠端管理 Hyper-V Server,雖然可以管理 Hyper-V 虛擬化平台的部份,但是 Hyper-V Server 其它基礎設定的管理部份,則必須視管理的項目額外開啟相關權限和防火牆規則。現在,透過 WAC 管理工具,除了無須額外組態設定即可立即管理之外,還將管理人員常用的管理項目集中,並且將管理人員在意的運作效能圖表化。舉例來說,順利納管 Hyper-V Server 主機後,點選左邊的「Overview」項目,除了顯示電腦名稱、網域、作業系統版本……等資訊外,還顯示目前 CPU 處理器、記憶體工作負載、網路卡進出流量等資訊(如圖 14 所示)。
圖 14、透過 WAC 管理工具遠端管理 Hyper-V Server 主機
此外,管理人員日常維運經常使用到的工具,例如,事件檢視器、調整防火牆規則、管理使用者或群組、管理執行程序、安裝或移除伺服器功能和角色 …… 等,也都集中於 WAC 管理介面中左方的 Tools 部份,甚至希望直接使用 PowerShell 指令進行管理時,只要點選「PowerShell」項目,即可透過 Remote PowerShell 的方式,執行相關管理指令(如圖 15 所示)。
當管理人員執行完 PowerShell 指令後,在點選其它管理項目之前,記得點選上方「Disconnect」鈕,以中斷遠端 PowerShell 執行程序。
圖 15、透過 WAC 管理工具,遠端執行 PowerShell 指令管理 Hyper-V Server
建立 Hyper-V vSwitch 虛擬交換器
透過 WAC 管理工具,快速且直覺的 HTML5 管理介面,管理人員可以很容易管理遠端 Hyper-V Server,舉例來說,在 WAC 管理工具中依序點選「Virtual Switches > New」項目後,填入 Hyper-V vSwitch 虛擬交換器名稱、虛擬交換類型、實體網路卡……等資訊即可(如圖 16 所示)。
圖 16、透過 WAC 管理工具,建立 Hyper-V vSwitch 虛擬交換器
管理 VM 虛擬主機
當然,透過 WAC 管理 Hyper-V Server 主機,也能夠提供過往 Hyper-V 管理員工具許多不足之處。首先,進入 Virtual Machines 項目後,在「Summary」頁籤項目中,可以看到 Hyper-V Server 主機,整體運作狀態,包括,運作幾台 VM 虛擬主機、近期發生的系統事件、CPU 使用率、記憶體工作負載 …… 等資訊,甚至會顯示前幾名使用最多 CPU 和記憶體的 VM 虛擬主機。點選「Inventory」選項,則會條列出所有 VM 虛擬主機,包括每台 VM 虛擬主機的概要資訊,例如,運作狀態、CPU 使用率、指派的記憶體空間、運作時間、心跳偵測狀態 …… 等。此外,可針對「單台或多台」VM 虛擬主機進行維運管理,例如,重新啟動、關機、建立檢查點 …… 等。
管理人員可以點選 VM 虛擬主機,進入更詳細的單台 VM 虛擬主機管理畫面,同樣的除了 VM 虛擬主機詳細的組態設定資訊外,在效能圖表方面除了傳統的 CPU、記憶體、網路頻寬之外,還顯示 IOPS 和 Throughput 儲存效能的部份。
此外,當管理人員希望登入 VM 虛擬主機 Console 畫面時,只要點選「More > Connect」項目,即可在 WAC 管理工具中,直接開啟 VM 虛擬主機 Console 畫面進行管理(如圖 17 所示)。
圖 17、在 WAC 管理工具中,直接開啟 VM 虛擬主機 Console 畫面進行管理
調整 Hyper-V 進階設定
最後,當管理人員希望調整 Hyper-V 進階設定時,可以點選「Settings」項目進行調整,舉例來說,希望調整 Storage Migration 儲存即時遷移組態設定值時,即可點選「Settings > Storage Migration」項目進行調整(如圖 18 所示)。
圖 18、調整 Hyper-V Server Storage Migration 儲存即時遷移組態設定值