在高模拟负载下出现间歇性登录失败或锁定失败

在高模拟负载下出现间歇性登录失败或锁定失败

最近,我们在集群中看到了一系列有趣的故障,用户的作业会因登录错误、帐户锁定错误或文件权限错误而间歇性地失败。

我们的集群是松散耦合且粗粒度的,由 40 台 16 路 Windows 2003 机器构建而成。它们参与企业域,域控制器位于本地和 WAN 上。作业提交通过第三方应用程序 (ActiveBatch) 处理,文件存储在 Windows 2003 服务器导出的 SAN 和 Isilon 集群上较新的 CIFS 共享之间分配。

作业是有向无环图,由 1 到 5,000 个进程组成,通过 ActiveBatch 在头节点上进行调度。大多数作业都是小型批处理文件或 Perl 脚本,用于为用 FORTRAN 编写的计算代码执行环境设置。这些作业的输入和输出文件存储在 SAN 或 Isilon 上。

我们看到的是身份验证间歇性失败,我们最初认为这只发生在 Isilon 上。一般的故障模式是 100-200 个作业将开始执行,每个作业都引用文件中的通用配置数据。大多数作业都会成功,但是,多台计算机上的多个作业会在客户端失败,并出现文件权限错误(0x775“引用的帐户目前已被锁定……”或 0x52E‘未知用户名或错误密码’)。

检查这些时间段的事件日志报告 0 次安全审计失败,但同一用户有多次安全审计成功!唯一接近的事件日志条目是 6013 事件,它告诉我们,“系统正常运行时间为 2199088 秒。”

最近,当作业调度软件尝试在远程计算机上创建作业时,我们也看到了同样的错误。ActiveBatch 会将作业详细信息发送到计算机上运行的服务,然后该服务会在创建作业时尝试模拟用户。与文件权限失败一样,当用户的帐户既没有被锁定也没有未知时,我们会看到帐户锁定和未知用户/密码(事实上,在这些失败的尝试后不久,同一台计算机上的进程就成功了)。

我对域控制器不够熟悉,也没有足够的权限进行探索,因此无法知道这是客户端问题还是服务器问题。客户端事件日志故障条目的缺失使我相信故障可能是 DC 超时或网络问题。但是,Wireshark 对随机服务器和 DC 之间的流量进行询问,除了偶尔出现的 Kerberos Response Too Big 消息外,没有发现任何严重的不一致之处。

这是域控制器设置中的一个常见问题吗?高身份验证/模拟负载会导致暂时性故障吗?

答案1

这种情况并不常见,除非发生导致锁定的故障。

启用 Netlogon 详细日志记录可能有助于追踪它。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters]  
"DBFlag"=dword:24401F04  

创建的文件是 %systemroot%\debug\netlogon.log 和 netlogon.bak。

在高容量环境中,这些文件可能会快速滚动,因此您可能需要增加文件的大小,默认情况下为 20 MB。要将其增加到 50 MB:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters]
"MaximumLogFileSize"=dword:3200000  

启用 Net Logon 服务的调试日志记录
http://support.microsoft.com/kb/109626

相关内容