環境描述
某公司有一套系統,2台Windows2003系統,采用自帶的群集管理器功能實現雙機熱備功能,正常情況下,服務器10.1.1.1承載中間件應用服務,服務器10.1.1.2承載數據庫服務,僅當其中一台服務器故障時才會把資源切換至另一台。
系統名稱
系統版本
IP地址
備注
S-EIP-APP
Windows2003ENTSP2
10.1.1.1
采用Windows2003自帶的群集管理器實現雙機熱備功能
S-EIP-DATA
Windows2003ENTSP2
10.1.1.2
故障表現
某天晚上收到短信告警,系統異常,無法訪問。登錄系統10.1.1.1查看群集管理器狀態,發現服務器10.1.1.2處於脫離群集狀態。
處理和分析過程
1)遠程登錄系統10.1.1.1,打開群集管理器,發現“S-EIP-DATA”數據庫服務器節點故障,顯示“紅色叉”,活動資源中的“EAIEIP”、“Oracle Services for MSCS”、“OracleOraDb10g_home1TNSListenerFsloracle-vip”狀態處於“失敗”,群集管理器嘗試把故障自動轉移至“S-EIP-APP”節點上,但故障依舊。
2)把10.1.1.2服務器重啟系統嘗試解決,問題依舊。
3)登錄到10.1.1.2服務器,查看事件日志,發現告警信息和錯誤信息:“安全系統檢測到一個對服務器DNS/s-xx1.hq.cxxp.xxx的身份驗證錯誤,來自身份驗證協議kerbers的失敗代碼為登錄無效,可能原因為無效的用戶名或驗證消息”,如圖:
4)從上圖日志看出,均出現類似“未知的用戶名和密碼錯誤”錯誤。由於Windows2003群集管理器采用AD域進行集中管理,咨詢AD域管理員得知,之前有更改過AD域的管理員密碼。
5)此時排查重點為,如何在門戶的群集管理器中修改AD域最新的密碼。經過查閱官方KB和網上資料,嘗試修改群集管理器中的AD域的密碼:
分別登錄10.1.1.1和10.1.1.2,修改“服務”中的“cluster service”--登錄--修改密碼,如圖:
6)修改“cluster service“服務中的密碼後,問題依舊,查看群集管理器中的”S-EIP-DATA“中的”Oracle Services for MSCS“仍為失敗狀態,查看日志得知,仍是用戶密碼問題,如圖:
7)解決辦法:分別修改10.1.1.1和10.1.1.2中的”服務“中的”oracleMSCSServices“登錄密碼,如圖:
8)修改完成後,群集管理器”S-EIP-DATA“活動資源中的”EAIEIP“資源仍處於失敗狀態,如圖:
9)從上圖報錯可以看出,oracle fail safe故障轉移群集出現錯誤用戶密碼,按照上面的經驗,應該為oracle fail safe同樣采用的是AD域的管理員密碼,嘗試修改密碼:
登錄10.1.1.2--開始--程序--“oracle-ofs34_home1”--"oracle services for MSCS Security Setup",修改新的AD域管理員密碼。
10)把所有與AD域管理員帳號相關的密碼更改成與AD域一致後,問題解決,群集管理器功能正常,業務恢復正常。
故障原因
由於系統在前期規劃時,直接采用了AD域域管理員的用戶密碼進行管理,而由於AD域服務器的域管理員密碼修改,但在該系統沒有做相應的更改,從而導致了本次故障的發生。