問題描述
突然收到客戶報告,開發人員登錄TFS系統時,出現登錄異常現象。即使輸入了正確的賬戶和密碼,TFS系統任然提示重新登錄的頁面,導致用戶無法打開TFS系統。
即使登錄成功,在修改代碼或者修改工作項的工程中,系統時而提示“管理員取消了操作”。
現象如下圖:
處理過程
1. 接到報告后,我們立刻在多個客戶端上驗證,重現了用戶反饋的問題,並確認問題出在TFS系統服務端,而不是個別開發人員計算機的問題。
2. 根據問題現象,迅速排查TFS服務器中的日志和配置信息,發現DNS正常,數據庫和應用服務器之間的訪問都正常,使用數據庫客戶端訪問單台數據庫,都可以正常訪問。但是出現一些奇怪的現象:
- 使用數據庫客戶端訪問SQL Server AlwaysOn的集群IP,系統提示提示“目標主體名稱不正確。無法生產SSP1上下文”,如下圖。
- TFS集群中的所有服務器出現不能訪問域控服務器(AD服務器)的現象,
- TFS服務器到域控服務器之間的TCP 135端口不通。
TFS服務器系統的認證方式是通過AD服務器實現的,沒有AD服務器提供的基礎認證服務器,系統是不可能正常運行的。
由此,我們判斷TFS系統異常的原因是由於不能訪問域控導致的。結合當天運維組調整生產區和測試區的防火牆策略,初步斷定是防火牆的策略導致了TFS系統和域控之間的網絡隔離。
3. 我們迅速聯系了運維組負責人,並將相關技術人員拉入到微信群,協同分析原因,尋求迅速解決問題的方案。
解決方案
經過運維組相關人員分析確認,當日變更的防火牆策略阻擋了TFS服務器和域控之間的135端口通信。
運維人員立即取消TFS系統和域控之間的防火牆策略。防火牆策略生效后,可以看到TFS系統可以正常訪問域控服務器,TFS服務器也立刻恢復正常,服務器不需要做任何重啟操作。
經過驗證,TFS系統的基本功能(例如登錄、修改工作項、需改代碼)都恢復正常。
總結教訓
這是一次比較典型的TFS服務器故障處理過程,通過總結分析本次故障的原因和處理過程,類似問題應該注意以下幾點:
1. 防火牆策略調整前,需要提前(至少2-3日)通知TFS系統的負責人,以便提取做好相關的調研和預備方案
2. TFS系統依賴的系統(例如域控服務器、郵箱服務器、DNS服務器、需求管理平台等)做相關調整或升級前,需要提前通知TFS系統負責人,以便提前做好相關准備
3. 相關配置調整后、相關系統調整升級后,需要通知TFS負責人驗證,是否對TFS系統產生了直接影響
微軟DevOps MVP 張洪君 http://www.cnblogs.com/danzhang
--End--