概述
我们有一个 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 节点时,搜索可适用于所有数据库。
Google 确实返回了有关导致事件 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
任何节点上均未生成文件。- 文件结构相同且平均文件大小相似。
- 任何纯文本文件都显示相同的内容,除了主机名引用。
- 文件权限相同。
因此,没有明显的差异。此外,复制数据库上的搜索目录之间也没有显著差异。
问题
有人遇到过类似的问题吗?有人解决了吗?有人能提示一下在哪里查找吗?有日志文件或诊断工具吗?
答案1
我建议您按照本文中的步骤操作Exchange 2013:FAST 搜索技术失败
或者创建一个新的数据库并将邮箱移动到这个新的数据库怎么样?有任何错误吗?如果您可以移动此邮箱,请在 OWA 中测试移动的邮箱。
希望它有效。
答案2
我知道这已经过时了,但万一这对某人有帮助:在更新到 CU18 后,我在 Exchange 2016 上遇到了完全相同的问题。在我的四台服务器上,noderunner.exe 也只监听几个端口,但没有监听 3867。事实证明,在升级期间运行 Sophos 防病毒软件会破坏 noderunner.exe 的启动或配置等。解决方案是卸载 Sophos 防病毒软件(仅通过卸载 AV 并不能解决问题),然后重新运行 setup /mode:upgrade /iacceptexchangeserverlicenseterms 以重新升级服务器。之后,所有数据库的搜索索引都再次恢复功能,noderunner.exe 正在监听所有适当的端口。我希望这对某人有帮助!