1. 环境描述

    某公司有一套系统,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
  2. 故障表现

    某天晚上收到短信告警,系统异常,无法访问。登录系统10.1.1.1查看群集管理器状态,发现服务器10.1.1.2处于脱离群集状态。

  3. 处理和分析过程

    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的失败代码为登录无效,可能原因为无效的用户名或验证消息”,如图:

    记一次AD域域管理员密码更改导致某系统群集管理器故障排查解决过程_第1张图片

    记一次AD域域管理员密码更改导致某系统群集管理器故障排查解决过程_第2张图片

    记一次AD域域管理员密码更改导致某系统群集管理器故障排查解决过程_第3张图片

    记一次AD域域管理员密码更改导致某系统群集管理器故障排查解决过程_第4张图片

    4)从上图日志看出,均出现类似“未知的用户名和密码错误”错误。由于Windows2003群集管理器采用AD域进行集中管理,咨询AD域管理员得知,之前有更改过AD域的管理员密码。

    5)此时排查重点为,如何在门户的群集管理器中修改AD域最新的密码。经过查阅官方KB和网上资料,尝试修改群集管理器中的AD域的密码:

    分别登录10.1.1.1和10.1.1.2,修改“服务”中的“cluster service”--登录--修改密码,如图:

    记一次AD域域管理员密码更改导致某系统群集管理器故障排查解决过程_第5张图片

    6)修改“cluster service“服务中的密码后,问题依旧,查看群集管理器中的”S-EIP-DATA“中的”Oracle Services for MSCS“仍为失败状态,查看日志得知,仍是用户密码问题,如图:

    记一次AD域域管理员密码更改导致某系统群集管理器故障排查解决过程_第6张图片

    7)解决办法:分别修改10.1.1.1和10.1.1.2中的”服务“中的”oracleMSCSServices“登录密码,如图:

    记一次AD域域管理员密码更改导致某系统群集管理器故障排查解决过程_第7张图片

    8)修改完成后,群集管理器”S-EIP-DATA“活动资源中的”EAIEIP“资源仍处于失败状态,如图:

    记一次AD域域管理员密码更改导致某系统群集管理器故障排查解决过程_第8张图片

    记一次AD域域管理员密码更改导致某系统群集管理器故障排查解决过程_第9张图片

    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域一致后,问题解决,群集管理器功能正常,业务恢复正常。

  4. 故障原因

    由于系统在前期规划时,直接采用了AD域域管理员的用户密码进行管理,而由于AD域服务器的域管理员密码修改,但在该系统没有做相应的更改,从而导致了本次故障的发生。