这两天在公司测试同事做linux集群加入AD域,遇到了一些很奇怪的现象。具体现象如下:
1、主节点发起集群加入域的命令,触发各个节点执行加入域的动作。在域控制器上发现有的节点成功加入域,有的节点没有加进来。
加入域的节点在域控制器上有时会出现一个红叉叉。
2、跟踪日志出现的问题也很让人困惑。
有时出现,kerberos authentication errors
有时出现,kerberos preauthentication failed
有时出现,机器账户已经在域控制器上创建成功,但是使用机器账户登录失败。
3、多个节点,如果有一个出现异常,会导致其他的节点异常。在节点均异常的情况下,如果一个节点通过服务重启成功加入域,那么其余的节点重新加入域也会成功。
最初以为是域控制器的本地策略配置问题,之后又怀疑系统的kerberos库有问题,在排除了这两项之后,又怀疑rpc问题,网络环境问题,等等。最后都一一进行了排除。
排除的过程很艰辛,在此就不再提及。
最后,通过同时对所有节点抓包分析,发现有的节点加入到IP_A域,有的节点加入到IP_B域。通过查看IP_A和IP_B两个域控制器,发现这两个处于同一网段的域控制器具有相同的域名。够郁闷~~,更郁闷的是所要加入的IP_A对应的域的_tcp中同时存在两套_kerberos,_kpassword和ldap分别映射到IP_A和IP_B,在域目录下,也存在同一域名对应IP_A和IP_B两个dns记录。由此,前面的奇怪问题就有了答案。
当集群IP_A域时,IP_A的dns负载会根据负载均衡策略将节点的连接分配到IP_A或IP_B。节点执行加入域后,就出现有的节点加入到IP_A域,有的加入到IP_B中,那么在IP_A域控制器上就发现有的加入了,有的没有加入的现象。
在IP_A中同时存在两套krb,ldap,就会出现在IP_A上创建ldap账户,在IP_B上设置krb密码,然后又在IP_A上rpc认证的问题。对应的2和3的现象就一目了然了。