1 故障背景与现象
事件背景简化一下,在单位有一台域控服务器 DC1,两台 Web 服务器 Web1、Web2 搭建了故障转移群集 WebCluster。本来运行好好的,后面同时安装了国产防病毒、做了网卡聚合之后,突然发现在 Web 服务器上打开 “故障转移群集管理器” 却无法连接到故障转移群集了。起初以为是防病毒软件引起的,最后才发现是网卡聚合导致的。
2 故障排查
(1)首先是群集主机的 “故障转移群集管理器” 无法连接到原有的故障转移群集。(有时候会有一台可以,有时候两台都不行)
(2)在群集主机的 “服务器管理器 – 所有服务器” 页面,只能看到本机 Web1 的 IPv4 地址,而另一台主机 Web2 以及群集 WebCluster 的 IPv4 地址均无法获取,“可管理性” 列显示 “目标名称解析错误”。
(3)使用 “故障转移群集管理器” 的 “验证群集” 功能(假设恰好这台主机能连上故障转移群集),查看报告发现 “存储”、“群集配置”、“系统配置” 模块下存在大量报错。其中最重要的错误是 “系统配置 – 验证 Active Directory 配置” 报错提示 “请检查这些节点与域控制器的连接”。
注:所有的群集验证报告(包括之前生成的)都保存在 C:\Windows\Cluster\Reports 目录下。
(4)但此时“故障转移”还是能用的,就是关闭群集中的一台主机,群集 IP 还是会自动飘到另一台的。(可能这个只需要靠心跳线吧。。。)
(5)拿了另一台新主机,想尝试加入该域。结果报错显示 “无法与域 xxx 的 Active Directory 域控制器(AD DC)连接”。
(6)看样子问题应该出在域控上了,而不是群集主机上。应该是域控的某项服务失效了。
(7)尝试在 Web1、Web2 主机上 ping 域控的域名地址
无效,使用 nslookup 域名地址 域控IP
也是无效。
(8)看样子像是域名解析服务出错了!再次确认群集主机的网卡配置里 DNS 服务器地址设置是对的,指向的是域控服务器。
(9)尝试重启域控服务器上的 “DNS Server” 服务。然后再次在群集主机上 ping 与 nslookup,果然都可以啦!新主机入域也正常了!再打开任意 Web 主机的 “故障转移群集管理器”,也都能正常连接群集了!(注意:“DNS Server” 服务在系统服务列表里面显示是 running 的了,但实际上是无效!必须手工重启)
3 故障原因
因为对域控服务器做了网卡聚合(NIC Teaming,或者叫链路聚合),导致域控服务器在系统重启时,某些需要绑定网卡的服务,在网卡聚合操作完成前就启动了。这就使得这些服务因为找不到网卡而启动失败,或是显示启动成功但实际无法正常工作,就像 “DNS Server” 那样。
那么就有两个解决方法:
(1)不要对域控服务器的网卡进行聚合。(推荐)
(2)对受影响的服务,设置为 “自动(延迟启动)”。(不推荐。因为不知道除了 “DNS Server”、“Intersite Messaging”,还有哪些服务是受此影响的)