二月 17 2019

原地升級Windows Server 2019兩三事

分類:Servers

如同前一篇文章提及,最近有空就是在做 Windows Server 2019 的安裝升級及測試。先說本文結論好了,以下不代表任何官方及公司或團體,若有考慮原地升級到 Server 2019,

建議起新機,再將服務及設定做移轉

原因及測試如下

從微軟的官方文件瞭解,Server 2012 R2 可以原地升級到 Server 2019,剛好手邊有不少 2012 R2 的主機及 VM 環境,所以就直接抓了一台純網域控制站功能的 2012 R2 VM 嘗試原地升級到 2019,過程順利且完成後,測試也無服務異常。

有了上述那台的成功 (!?) 經驗,決定再抓一台具有 NPS (Network Policy Server)/Radius 及 IIS/SMTP Relay 服務的 Server 2012 R2 VM 做相同測試。

如預期,順利原地升級為 Server 2019,但仔細檢查及測試,逐漸發現一些不妙的狀況。 /:S/

原環境裝有 UniFi Controller 用來管理 UniFi 無線基地台,且已新增服務為自動啟動。但升級後, Unifi Controller 從服務列表中消失。

IIS 的 SMTP 服務啟動模式莫名變回手動 (Manual),還好這些算小事。

 

但接下來幾個就有點糟糕 (翻桌)

NPS 及 IIS SMTP Rely 相關設定看似都存在,但NPS 服務沒有正常運作,強制手動也啟動失敗,導致無線網路及 VPN 無法找 NPS 進行 AD 帳密驗證。

原先設定過的 SMTP Relay Restrictions 轉送限制,裡面的資料變成空的。

更令人傻眼的是,兩個服務指定 Log 放在下面位置,包含資料夾及 Log 檔都不見。

%WinDir%\System32\LogFiles

然後 Server 2019 的檔案總管,還會貼心告知先前存取過那些 Log 資料夾,只是那個資料夾其實已經「被消失」。

 

話說回來,服務及設定能不能救,答案是,有機會!

想修復 IIS SMTP 的轉送限制設定,可能比較會有問題,因為必須預先在原環境 (2012R2) 的下面位置找到 MetaBase.xml。

%WinDir%\System32\inetsrv

或從原環境的下面位置把自動備份檔取出。

%WinDir%\System32\inetsrv\History

再從備份的 MetaBase.xml 的 IIsSmtpServer 區段,找出 RelayIpList 的設定值並複製回 Server 2019 環境的 MetaBase.xml 相同區段中,Relay 限制的資料才能救回。如果想偷懶快速些,可以嘗試直接抓舊有 MetaBase.xml,蓋掉 2019 上同樣位置的檔案,不過尚未完整測試這樣覆蓋是否有其他影響。

 

NPS 服務的修復方式,在多次測試後,發現似乎不用想辦法挖備份檔。直接在 Server 2019 環境到下面位置,先將 ias.xml 檔案複製到其他地方。

%WinDir%\System32\ias

接著,清空 ias 資料夾內的所有檔案,然後嘗試啟動 Network Policy Server 的服務,應該會先發現服務恢復運作。

最後,到 NPS 主控台匯入 ias.xml,就可以發現大師兄 (X) 設定 (O) 終於歸位了。

而且,從匯入後的結果,懷疑是升級前的 ias.xml,在原地升級 Server 2019 後沒有被轉換,所以導致服務無法辨識設定檔而啟動錯誤失敗。

另外提醒,雖然設定值透過備份或匯入方式還原回去,由於 Log 存放資料夾已經「被消失」,所以記得手動新增回去,否則 Log 無法正常產生。

不過...NPS 服務是救回來了,發現 OS 內建的防火牆設定明明就已經針對 NPS 服務埠做開啟,但卻一定要關閉防火牆,或手動針對相關的服務埠新增設定,才能讓其他設備正常存取 NPS 做驗證,這又是另外一件事情了。  /=.=/

延伸閱讀資料
Microsoft Docs - Install | Upgrade | Migrate to Windows Server 2019
Microsoft - Windows Server Upgrade Center
Wikipedia - IIS Metabase

沒有任何回應 , 標籤:


發表迴響

*