概述
我们有 DAG,其中两个节点的 Exchange 2016 CU12 在最新的 Windows Server 2016 上运行。
在安装在其中一个节点上的任何数据库中的任何邮箱上搜索都失败。其他节点正常工作。
事件在受影响的主机上1012
重复报告,具有以下内容(此特定内容由健康监视器重复生成):MSExchangeIS
SearchQueryStxProbe
Exchange Server 信息存储在执行全文索引查询时遇到错误(“and(subject:string("SearchQueryStxProbe*", mode="and"), folderid:string("3753F38349D8A943AE346EACDBD8B91300000000010C0000"))")。错误信息:System.ServiceModel.EndpointNotFoundException:由于终结点地址“net.pipe://localhost/3867”处的服务对该地址的协议不可用,因此无法分派消息。
问题似乎与内容索引完全无关,事件本身和进一步的诊断表明搜索服务的某些部分在此特定主机上无法正常运行存在一些问题。
清单
- 有48个数据库。只要这些都安装在受影响的主机上,它们都会同样出现症状。
ContentIndexState
两台主机在所有数据库上都报告为健康。- 在受影响的主机上搜索探测
SearchQueryFailureMonitor
并返回不健康状态。SearchQueryStxMonitor
Test-ExchangeSearch
在任何一个主机上都没有返回任何内容。没有结果对象,没有错误,只有一段时间的进度条。从未使用过此工具,因此不知道会发生什么。- 搜索健康集上的 Microsoft 知识库是个笑话(用温和的话来说)。
- 问题不受服务级或服务器级重新启动的影响。
- 当数据库移动到第二个 DAG 节点时,搜索适用于所有数据库。
谷歌确实返回了大量关于导致事件 1012 的各种问题的帖子。不幸的是,1012 显然涵盖了广泛的问题。没有一个问题与我的事件详细信息匹配或呈现类似的副作用,同时提供任何解决方案或线索来寻找什么。
对比分析
由于缺乏任何合理的文档,进一步的步骤仅限于对两台主机进行比较分析——健康主机和故障主机。
根据事件数据,我检查了 TCP 3867 绑定。在故障主机上,端口未绑定。在健康主机上,端口由服务运行noderunner.exe
进程的一个实例绑定,其中一个具有以下参数:
"C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Runtime\1.0\NodeRunner.exe"
--noderoot "C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\HostController\Data\Nodes\Fsis\IndexNode1"
--addfrom "C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\HostController\Data\Nodes\Fsis\IndexNode1\Configuration\Local\Node.ini"
--tracelog "C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\HostController\Data\Nodes\Fsis\IndexNode1\Logs\NodeRunner.log"
我比较了两台主机上的引用文件和路径:
NodeRunner.log
两个节点上都没有生成文件。- 文件结构相同,平均文件大小相似。
- 任何纯文本文件都显示相同的内容,除了主机名引用。
- 文件权限相同。
因此,没有明显的区别。此外,复制数据库上的搜索目录之间没有显着差异。
问题
有人有类似的问题吗?有人解决了吗?任何人都有提示,在哪里看?任何日志文件或诊断工具?
我建议您按照本文Exchange 2013:FAST Search Technology Failed中的步骤操作
或者如何创建一个新数据库并将邮箱移动到这个新数据库?有没有错误?如果可以移动这个邮箱,那么在OWA中测试移动的邮箱。
希望它有效。
我知道这是旧的,但如果这对某人有帮助:更新到 CU18 后,我在 Exchange 2016 上遇到了同样的问题。在我的四台服务器上,noderunner.exe 也只监听了几个端口,而不是 3867。事实证明,在升级过程中运行 Sophos 防病毒软件破坏了 noderunner.exe 的启动或配置等问题。解决方案是卸载 Sophos 防病毒软件(仅通过卸载 AV 并不能修复它),然后重新运行 setup /mode:upgrade /iacceptexchangeserverlicenseterms 以重新升级服务器。在那之后,所有数据库的搜索索引都恢复了功能,noderunner.exe 正在侦听所有适当的端口。我希望这可以帮助别人!