Windows Server 2012 BSoD 上的 Exchange 2016

xst*_*tnc 1 exchange vmware-esxi windows-server-2012-r2 exchange-2016

我有一个 Exchange 2016 服务器,中间有大约 14 天的时间。该服务器是虚拟的,存在于具有 iSCSI 存储的集群 vmware 环境中。我们运行的其他 Windows 服务器(包括 Exchange 的被动副本)都没有 bsod。被动交换正在备份并清除事务日志,因为它应该在被动和主动节点上。

  • 我已经尝试安装最新的关键补丁(还不是可选的)
  • 我尝试将有问题的 VM 迁移到新主机。

以下是 BSoD 查看器为我提供的信息:

052716-21921-01.dmp 27.05.2016 10:22:16 CRITICAL_PROCESS_DIED   0x000000ef  ffffe000`de10d080   00000000`00000000   00000000`00000000   00000000`00000000   ntoskrnl.exe    ntoskrnl.exe+14e3a0 NT Kernel & System  Microsoft® Windows® Operating System    Microsoft Corporation   6.3.9600.18289 (winblue_ltsb.160328-1315)   x64 ntoskrnl.exe+14e3a0                 C:\Windows\Minidump\052716-21921-01.dmp 8   15  9600    138 150 27.05.2016 10:22:47 
051516-25765-01.dmp 15.05.2016 10:11:06 CRITICAL_PROCESS_DIED   0x000000ef  ffffe001`0ad80900   00000000`00000000   00000000`00000000   00000000`00000000   ntoskrnl.exe    ntoskrnl.exe+14e3a0 NT Kernel & System  Microsoft® Windows® Operating System    Microsoft Corporation   6.3.9600.18289 (winblue_ltsb.160328-1315)   x64 ntoskrnl.exe+14e3a0                 C:\Windows\Minidump\051516-25765-01.dmp 8   15  9600    138 150 15.05.2016 10:11:41 
042816-19328-01.dmp 28.04.2016 22:36:50 CRITICAL_PROCESS_DIED   0x000000ef  ffffe001`3da4f900   00000000`00000000   00000000`00000000   00000000`00000000   ntoskrnl.exe    ntoskrnl.exe+14e8a0 NT Kernel & System  Microsoft® Windows® Operating System    Microsoft Corporation   6.3.9600.18289 (winblue_ltsb.160328-1315)   x64 ntoskrnl.exe+14e8a0                 C:\Windows\Minidump\042816-19328-01.dmp 8   15  9600    294 472 28.04.2016 22:39:45 
041916-23859-01.dmp 19.04.2016 08:43:53 CRITICAL_PROCESS_DIED   0x000000ef  ffffe001`23101900   00000000`00000000   00000000`00000000   00000000`00000000   ntoskrnl.exe    ntoskrnl.exe+14e8a0 NT Kernel & System  Microsoft® Windows® Operating System    Microsoft Corporation   6.3.9600.18289 (winblue_ltsb.160328-1315)   x64 ntoskrnl.exe+14e8a0                 C:\Windows\Minidump\041916-23859-01.dmp 8   15  9600    294 472 19.04.2016 08:47:04 
Run Code Online (Sandbox Code Playgroud)

我在不同的网站上看到了一个有同样问题的帖子,但实际上没有人回答这个问题,而且帖子已经过时了。

有没有人有任何关于如何解决这个问题的指示?我是否必须安装另一个 Exchange 服务器并迁移到其中?这将是非常不幸的..

Don*_*mik 5

您的存储系统出现故障或速度太慢而无法跟上。如果 IO 停滞太久,Exchange 会认为存储已死并杀死 Wininit 以强制硬重置。

请参阅https://technet.microsoft.com/en-us/library/ff625233.aspx并滚动到最后。2013 年和 2016 年也是如此。

在某些情况下,整个存储堆栈可能会受到挂起的影响,从而无法将故障事件写入深红色通道或 Windows 事件日志的任何其他区域。ESE 还通过验证是否可以写入事件日志来监视 crimson 通道。如果写入事件日志长时间失败,MSExchangeRepl 会通过终止 wininit.exe 故意导致 Windows 的错误检查。当操作系统 I/O 挂起时,系统显然无法将任何 ESE 事件写入事件日志。

我在使用 Windows Server Backup 备份 Exchange 时亲身体验过。当备份开始时,它将并行地对所有数据库进行一致性检查。这导致 Exchange 在几分钟后存储退出时变为 BSoD。

第一个解决方案是禁用 ATS 心跳到存储阵列 https://kb.vmware.com/kb/2113956

文本太长无法复制但是TL;DR:当ATS心跳8秒超时时,您的存储阵列连接可能会在大量IO下掉线,这将导致VM中的IO超时,导致Exchange到BSoD。

次要解决方案是将存储控制器添加到 VM 并在控制器之间分配数据库磁盘。就我而言,单个 pvscsi 控制器会在 6 个数据库下严重阻塞,但是当磁盘(包括操作系统磁盘等)分布在 4 个 pvscsi 控制器上时,问题就消失了。我没有这方面的参考资料,只是在 vSphere 5.5 U3 上的个人经验。