当前位置: 代码迷 >> Exchange >> 一个Exchange 2010 的密码不定期弹框的有关问题处理,希望对大家能够有所帮助
  详细解决方案

一个Exchange 2010 的密码不定期弹框的有关问题处理,希望对大家能够有所帮助

热度:345   发布时间:2016-05-02 06:32:52.0
一个Exchange 2010 的密码不定期弹框的问题处理,希望对大家能够有所帮助。
前期有个客户采用exchange 2010的邮件系统作为他们的邮件平台,有个奇怪的现象就是Exchange 2010 系统会出现不定期“宕机”现象,为何打上引号,就是这个时候只有弹框,没有出现任何其他系列问题。我们当时把这个问题在微软Premier 部门开了Case 来解决。如果有其他的人也碰到类似的问题,可以按照上面的步骤处理:

问题点定义及现象:

Exchange 2010 SP3环境中,几乎在同一时间点大部分Outlook客户端与Exchange服务器断开连接,反复提示输入密码,OWAActiveSync不受影响,1~2小时之后自动恢复
----------------------------------------------------------------------------------

问题处理 :1、分析IIS日志发现发生问题期间大约08:50~10:00发现有大量rpc 401,说明Outlook验证失败

Line 56666: 2015-06-02 00:54:52 172.20.2.5 RPC_IN_DATA /rpc/rpcproxy.dll hqcasarray.xxx.com:6002 443 [email protected] 172.16.240.36 MSRPC 401 1 1326 31
                Line 56668: 2015-06-02 00:54:53 172.20.2.5 RPC_OUT_DATA /rpc/rpcproxy.dll hqcasarray.xxx.com:6002 443 [email protected] 172.16.240.36 MSRPC 401 1 64 296
                Line 56687: 2015-06-02 00:54:54 172.20.2.5 RPC_IN_DATA /rpc/rpcproxy.dll hqcasarray.xxx.com:6001 443 [email protected] 172.16.240.36 MSRPC 401 1 1326 78
                Line 56688: 2015-06-02 00:54:54 172.20.2.5 RPC_OUT_DATA /rpc/rpcproxy.dll hqcasarray.xxx.com:6001 443 [email protected] 172.16.240.36 MSRPC 401 1 64 15
                Line 56773: 2015-06-02 00:54:58 172.20.2.5 RPC_IN_DATA /rpc/rpcproxy.dll hqcasarray.xxx.com:6002 443 [email protected] 172.16.240.36 MSRPC 401 1 1326 93
                Line 56774: 2015-06-02 00:54:58 172.20.2.5 RPC_OUT_DATA /rpc/rpcproxy.dll hqcasarray.xxx.com:6002 443 [email protected] 172.16.240.36 MSRPC 401 1 64 62
                Line 56802: 2015-06-02 00:55:00 172.20.2.5 RPC_OUT_DATA /rpc/rpcproxy.dll hqcasarray.xxx.com:6002 443 xxx\wl.ye 172.20.32.232 MSRPC 200 0 0 0
                Line 56879: 2015-06-02 00:55:06 172.20.2.5 RPC_IN_DATA /rpc/rpcproxy.dll hqcasarray.xxx.com:6004 443 xxx\chuxu.su 172.16.147.17 MSRPC 200 0 0 15
                Line 56880: 2015-06-02 00:55:06 172.20.2.5 RPC_OUT_DATA /rpc/rpcproxy.dll hqcasarray.xxx.com:6004 443 xxx\chuxu.su 172.20.32.232 MSRPC 200 0 64 0
                Line 56889: 2015-06-02 00:55:06 172.20.2.5 RPC_IN_DATA /rpc/rpcproxy.dll hqcasarray.xxx.com:6001 443 [email protected] 172.16.240.36 MSRPC 401 1 64 2371
                Line 56890: 2015-06-02 00:55:06 172.20.2.5 RPC_OUT_DATA /rpc/rpcproxy.dll hqcasarray.xxx.com:6001 443 [email protected] 172.16.240.36 MSRPC 401 1 64 2324
                Line 57749: 2015-06-02 00:55:57 172.20.2.5 RPC_OUT_DATA /rpc/rpcproxy.dll hqcasarray.xxx.com:6001 443 xxx\wl.ye 172.20.32.232 MSRPC 200 0 0 46

2RCA日志也有记录:

 

               过滤RCA日志,发现RCA日志里xxx.xxx用户只有10点半的连接记录,说明之前验证没过,应用层RCA日志还没记录。


 

3、应用程序日志2080正常,说明和DC的连接没有问题

4outlook ETL看到outlook拿了Cred去服务器做了验证,但是验证失败。结合IIS日志OA401.1,说明弹框是服务器的验证问题。


5、分析抓取的RPC Client Access进程的三次Dump(发生问题时每隔30秒抓了一个),发现第一个dump中都没有活动的RPC 线程;第二个dump中只有一个RPC活动线程,该用户/o=TPVAOC/ou=ExchangeAdministrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=Dm.Hu在做邮箱操作; 第三个dump中还是没有活动的RPC线程,以上也同样说明弹框还没有到RPC应用层。

 

6分析性能日志,进行NTLM验证的性能分析,我们不难发现在问题发生的时候发生了NTLM性能瓶颈, 如何判断是否发生了NTLM性能瓶颈, 我们可以参考如下的官方KB

https://support.microsoft.com/en-us/kb/2688798

 

我们使用如下的公式计算:

 

The formula for determining your ideal setting (permachine) is:

 

(semaphore acquires + semaphore timeouts) * avg semaphorehold time / collection time = < MaxConcurrentAPI>

 

我们计算如下:

[((1058174-1057996+ 45748-44433))X 2.033  ] / 179   =  17.36   >> 默认设置值2

 

所以NTLM性能问题发生了。

 

正常的时候抓取的perfmon日志计算:

 

同样的计算机方式,我们计算正常的情况如下:

[(50460 - 50460) + (1086454 - 1086304) X 0.003  ] / 89    =    0.005  <  默认设置值2

 

所以此时没有NTLM性能问题。

 

我们知道

 

1.      默认windows 2008R2成员服务器MaxConcurrentAPI的值是2 默认windows 2008R2域控服务器默认值是1

2.      The maximum configurable setting in Windows Server 2008 R2(without the hotfix in this article) is 10. With the hotfix, the maximum is150.

 

 

由于问题发生的时候,我们能计算到17.36这个值,我们可以通过如下的设置方法,将MaxConcurrentAPI设置大点,以避免瓶颈的发生。

 

解决方法

=========

 

为了避免NTLM瓶颈,麻烦在非工作时间进行以下操作:

 

1.      在两台Exchange CAS服务器上,以及三台域控服务器上,都打上如下的补丁:

http://support.microsoft.com/kb/975363

 

补丁重启生效

目的:打补丁补丁是能让服务器的MaxConcurrentAPI的值的设置范围变大,最大可以设置成150

 

2.      使用管理员的身份登录到两台Exchange服务器,以及三台域控服务器上,右击以管理员权限运行cmd, 执行下如下的命令:

reg add"HKLM\system\currentControlSet\services\netlogon\parameters" /vMaxConcurrentAPI /t reg_dword /d 35 /f

 

3.      在这个调整的服务器计算机上,右击以管理员权限运行cmd, 执行如下命令重启下netlogon的服务即可:

net stop netlogon

 

net start netlogon

 

贵方可以在各个调整后的计算机上,按如下的路径查看下是否设置的值及时设置成功了:

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters

 

DWORD MaxConcurrentApi

Value     35

 

参考KBhttps://support.microsoft.com/en-us/kb/2688798

  相关解决方案