本文將示範如何為企業或組織建立精簡快速且效能良好的Nano Server,並實作如何因應不同的需求客製化所需的Nano Server,最後也將說明如何從本機及遠端管理Nano Server。
大家應該已經發現,產生用於實體主機Nano Server映像檔的指令,與VM虛擬主機Nano Server映像檔的指令大同小異,唯一不同的部分只在於「
–OEMDrivers」參數,也就是在建立此Nano Server映像檔時,載入與Windows Server 2016 TP4中Server Core版本相同的硬體裝置驅動程式,例如網路卡、儲存控制器等等。
值得注意的是,屆時運作Nano Server的實體主機,若是採用「BIOS」的話,便應該要產生.vhd檔案,倘若實體主機為新式的「UEFI」,則應該產生.vhdx檔案才行。
最後,透過WinPE為實體主機開機,然後複製剛才所建立的NanoServer.vhd至實體主機內。接著,執行下列bcdedit指令以便實體主機可以達成Boot from VHD,順利地將Nano Server運作在實體主機上。
客製化Nano Server映像檔
透過上述兩項實作建立Nano Server映像檔的練習後,相信大家已經都會建立基本的Nano Server映像檔了。但實務上,企業或組織運作環境內並非都是這麼單純的運作環境,舉例來說,通常主機至少必須給予固定IP位址、電腦名稱、加入網域等等。
接著,就來了解及實作如何客製化Nano Server映像檔。以下列出在建立Nano Server映像檔可額外使用的相關參數及說明:
–ComputerName:指定Nano Server的電腦名稱。
–DomainName:指定Nano Server要加入的網域名稱。
–Ipv4Address:指定Nano Server的固定IP位址。
–Ipv4SubnetMask:指定Nano Server的子網路遮罩。
–Ipv4Gateway:指定Nano Server的預設閘道。
–DriversPath:當預設的OEM驅動程式無法滿足時,可以指定Nano Server要額外載入的驅動程式路徑,所指定的驅動程式資料夾當中應該存在相關的SYS及INF檔案。此外,值得注意的是Nano Server僅支援64位元的驅動程式。
–MaxSize:指定產生的Nano Server映像檔大小。
–ForAzure:當客製化後的Nano Server要運作於Microsoft Azure公有雲環境時,使用此參數同時搭配–GuestDrivers及–EnableRemoteManagementPort參數即可。
–Compute:預先載入「Hyper-V伺服器角色」至Nano Server當中。
–Clustering:預先載入「容錯移轉叢集(Failover Cluster)」伺服器功能至Nano Server內。
–Storage:預先載入「File Server」伺服器角色以及其他儲存元件至Nano Server中。
–Defender:預先載入「Windows Defender Antimalware」以及預設的簽章檔案至Nano Server。
–ReverseForwarders:預先載入「應用程式相容性」功能特色,以便支援應用程式框架,例如Ruby、Node.js等等。
–Containers:預先載入「Windows Containers」功能特色至Nano Server。
–Packages Microsoft-NanoServer-DNS-Package:預先載入「DNS Server」伺服器角色至Nano Server。
–Packages Microsoft-NanoServer-DSC-Package:預先載入「DSC(Desired State Configuration)」伺服器功能至Nano Server當中。
–Packages Microsoft-NanoServer-IIS-Package:預先載入「IIS(Internet Information Server)」伺服器功能至Nano Server。
–Packages Microsoft-NanoServer-SCVMM-
Package:預先載入「SCVMM Agent」至Nano
Server。
–Packages Microsoft-NanoServer-SCVMM-Compute-Package:規劃Nano Server啟用Hyper-V
伺服器角色,並且希望透過SCVMM進行監控時,勿使用上述介紹的–Compute參數為Nano Server預先載入Hyper-V伺服器角色。應該改為採用-Packages Microsoft-NanoServer-Compute-Package參數為Nano Server預先載入Hyper-V伺服器角色,並且搭配此項目參數,以利屆時SCVMM進行監控。
–Packages Microsoft-NanoServer-NPDS-
Package:預先載入「NPDS(Network Performance
Diagnostics Service)」伺服器功能至Nano Server。
–Packages Microsoft-NanoServer-DCB-Package:預先載入DCB(Data Center Bridging)伺服器功能至Nano Server當中。
假設,當希望預先替Nano Server指定電腦名稱為「NanoTest01」時,便可以採用「-ComputerName NanoTest01」參數及參數值進行指定,同時搭配Ipv4Address、Ipv4SubnetMask參數及參數值,就能夠為Nano Server預先指定固定IP位址及子網路遮罩,如圖9所示。
|
▲圖9 為Nano Server預先指定電腦名稱、固定IP位址、子網路
遮罩。 |
同樣地,如果屆時這台Nano Server要啟用Hyper-V Containers機制的話,那麼在建立Nano Server映像檔時,加入-Containers及-Compute參數即可,如圖10所示。
|
▲圖10 為Nano Server預先載入Hyper-V Containers角色。 |
本機管理 Nano Server
事實上,在先前的Windows Server 2016 TP2、TP3技術預覽版本當中,若要針對Nano Server進行管理作業的話,只能採用「遠端管理」的方式。
至今,從Windows Server 2016 TP4版本開始支援Nano Server Recovery Console特色功能,讓Nano Server的基礎管理作業變得相當簡單。
當Nano Server啟動並順利採用管理者帳號及密碼登入後,便可以看到Nano Server Recovery Console畫面,在此管理畫面中可以查詢到Nano Server的電腦名稱、工作群組或網域、作業系統版本、主機日期及時間、主機時區、網路組態資訊,圖11如所示。
|
▲圖11 Nano Server Recovery Console管理畫面。 |
可以使用〔Ctrl〕+〔F6〕組合鍵來重新啟動Nano Server,或使用〔Ctrl〕+〔F12〕組合鍵關閉Nano Server。或者,透過〔Tab〕鍵選取「Networking」項目,進行Nano Server的網路組態設定,或選取「Firewall」項目進行防火牆規則的管理作業。
進入Networking項目後,便可以檢視此台Nano Server的網路組態設定資訊,例如IPv4、IPv6、DNS Server、預設閘道等等。如圖12所示,在這個管理畫面中,能夠啟用或停用網路卡、編輯IPv4或IPv6位址內容、新增路由、切換為固定IP位址模式或採用DHCP。
|
▲圖12 Nano Server Recovery Console網路組態設定管理畫面。 |
在進入Firewall項目後,則可以查看此台Nano Server的防火牆規則清單,如圖13所示,在這個管理畫面中,能夠快速且方便地啟用或停用指定的防火牆規則。
|
▲圖13 Nano Server Recovery Console防火牆規則管理畫面。 |
遠端管理Nano Server
了解Nano Server本機管理方式後,應該就可以了解到在實務上應該都會採用遠端管理的方式來管理企業或組織內的Nano Server。
可以透過多種方式來遠端管理Nano Server,例如伺服器管理員(Server Manager)、Windows PowerShell、WMI(Windows Management Instrumentation)、Windows Remote Management。
或者,先透過Serial Cable連接到Nano Server,再透過EMS(Emergency Management Services)進行管理作業。
伺服器管理員
當設定好Nano Server網路組態並加入網域環境後,開啟「伺服器管理員(Server Manager)」,依序點選「All Servers > Add Servers > Active Directory」,再輸入Nano Server電腦名稱,將Nano Server加入至管理清單內。
如果Nano Server並沒有加入網域,則先點選「All Servers > Add Servers > DNS」再鍵入Nano Server電腦名稱,將Nano Server加入至管理清單中。但是,卻會發現無法取得該台Nano Server的IP位址,並且運作狀態為「Kerveros target resolution error」。
此時,點選該台Nano Server並按下滑鼠右鍵,然後選擇快速選單中的【Manage As】選項。接著,於彈出的Windows Security視窗內輸入Nano Server的管理者帳號和密碼。通過驗證程序後,便會顯示該台Nano Server的IP位址,同時運作狀態也將轉變為「Online」,如圖14所示。
|
▲圖14 透過伺服器管理員遠端管理Nano Server。 |
Windows PowerShell
在採用Windows PowerShell的方式遠端管理Nano Server之前,必須先執行「Set-Item」指令將遠端的Nano Server的IP位址或電腦名稱,加入至管理主機當中的「Trusted Hosts」清單內:
接著,使用「Enter-PSSession」指令連接至遠端的Nano Server進行PowerShell遠端管理作業:
倘若,目前的Nano Server是運作在Hyper-V虛擬化平台中的VM虛擬主機,那麼可以透過內建的PowerShell Direct功能直接進行PowerShell遠端管理作業:
Windows PowerShell CIM
也可以藉由Windows PowerShell啟動CIM Session,以WinRM(Windows Remote Management)的方式去執行WMI指令,達到遠端管理Nano Server的目的:
Windows Remote Management
也可以採用WinRM的方式,直接在遠端Nano Server上執行相關的管理動作。同樣地,在採用WinRM進行管理之前,必須先完成加入至本機Trusted Hosts的前置作業才行:
接著,就能夠執行相關管理指令至遠端的Nano Server當中,下列範例指令將會執行「ipconfig」指令,列出遠端Nano Server的網路組態資訊:
結語
透過本文的說明及實作演練,相信大家已經了解到,在Windows Server 2016中如何為企業或組織建立精簡快速且效能良好的Nano Server,同時本文也實作了如何因應不同的需求直接客製化出所需的Nano Server,最後並說明如何進行本機及遠端管理Nano Server作業。事實上,Nano Server仍有許多進階功能值得探討,後續的文章也會為大家繼續深入剖析,例如實戰Nano Server架構Hyper-V Cluster、SOFS Cluster等等進階技術。
<本文作者:王偉任,任職於QCT雲達科技,網路暱稱Weithenn。為Microsoft MVP及VMware vExpert。早期主要研究Linux / FreeBSD各項整合應用,目前則專注於Microsoft及VMware虛擬化技術及混合雲運作架構,個人網站 http://weithenn.org>