最近幾週來 Windows XP 登入到公司網域的時候, 都必須要等待數分鐘以上, 這段時間電腦只出現桌布, 其他的一律空白, 原來猜測是 Login Script 正在背景執行, 但此時 CPU / 網路都沒有大量的異動, 所以覺得很怪, 週末花了一點時間在網路上找類似的情況及解法, 但是調整後都沒有改善, 同時同事也針對發生這個現象的某台電腦重新安裝 OS 也沒有改善.
週一到公司後, 把先前製作好的 XP VM 複製 FreeNas 上, 由其中一台 ESX 主機加入到執行的列表, 直接啟動後變更名稱加入網域後, 情況依舊, 下圖是由 FreeNas 得到的 I/O 流量表, 可以看到開機時 I/O 可以衝到 70Mpbs, 但不是持續很久的, 登入網域也花了一點時間, 套用 Group Policies, 後來就停滯幾分鐘的時間, 才真正開始執行 Login Scripts.
- Login AD stops
由於 XP 上面有出現 Automatic Updates 的錯誤訊息, Event ID 為 7022, 一度懷疑是WSUS 的問題, (公司為節省頻寬, 有架設自動更新的主機), 設定測試主機只單純的執行 WSUS 的 Group Policy, 其他的就完全停掉, 這樣跑起來速度就恢復到正常, 登入後約30秒內就可以看到桌面開始操作機器.
- Automatic Update error event
單 獨執行 WSUS 的群組原則, 其他的全部暫停, 登入網域時也不會遇到變慢的情況, 請同事於登入時觀察WSUS 的運作狀態, 也沒有發生任何異常, 例如 CPU或網路 突然竄高的情況, 所以應該跟 WSUS 的情況不相關, 把網域群組原則的自動更新關閉也不會改善, 宣告跟 WSUS 應該無關.
隔天早上早一點來把公司內所有的 Switch Hub 及 Router 全部重新開機一次, 想要排除是不是哪台 Switch 有 hang 住的現象, 當然結果還是沒有用, 因為如果是網路慢的問題應該在日常作業時就會發現變慢, 而不會只有 Login 的時候才會變慢.
在 Client 端電腦與 Server 端都沒有明顯的錯誤訊息的情況下, 這樣看起來就應該是網域群組原則有最大的嫌疑, 只好請同事一個個來檢查, 一口氣全部停用, 只留下 Default domain policy, 登入後情況沒有改善, 此時幾乎可以確定是最後留下來這個群組原則有問題.
透過列印出整個 Policy 有做變更的清單, 來檢查其設定的項目, 看是哪一個會影響到整個的 login 速度, 直到停用下列的設定, 整個登入的速度才恢復到原始的狀態, 但先前為何不會有這個現象, 待查…
- Disable policy that causes login halt
結論
由於本次狀態不是因為變動而產生的, 這個 Policy 已經使用多時, 且近期沒有人去更動, 為什麼突然這個狀態變得很明顯原因不明, 但其中已經學到了很多的故障排除方式, 除了本機端的影響外, 網域的群組原則也是一個調查的重點.
實際上把 I/O 比較輕的 VM 放到NAS 其實效能還不會差異很大, 尤其是像 Domain Controller 之類的服務, 開機可能會慢上一點, 但實務運作上並不會有明顯的差異.
放置到 NAS 上面的檔案, 可以讓其他的 ESX 主機讀取後直接運行, 可以做到非常陽春且手動的負載平衡, 如果其中一台 ESX 主機負擔很重, 就可以用另一台來執行其他的 VM, 變更執行平台變得比較容易, 號稱窮人的雲端運算, 哈~~~
Ps. VM 有付費的 VMotion 機制, 可以做完全不停機的移轉, 不過目前沒有經費購買版權, 只好用時間 (自行搬移檔案) 來替代.