在 Exchange 上搜尋未使用 EventID 1012:“端點地址 ’net.pipe://localhost/3867’ 的服務不可用”
概述
我們有 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
兩個節點上都沒有生成文件。- 文件結構相同,平均文件大小相似。
- 任何純文字文件都顯示相同的內容,除了主機名引用。
- 文件權限相同。
因此,沒有明顯的區別。此外,複製數據庫上的搜尋目錄之間沒有顯著差異。
問題
有人有類似的問題嗎?有人解決了嗎?任何人都有提示,在哪裡看?任何日誌文件或診斷工具?
我建議您按照本文Exchange 2013:FAST Search Technology Failed中的步驟操作
或者如何創建一個新數據庫並將郵箱移動到這個新數據庫?有沒有錯誤?如果可以移動這個郵箱,那麼在OWA中測試移動的郵箱。
希望它有效。
我知道這是舊的,但如果這對某人有幫助:更新到 CU18 後,我在 Exchange 2016 上遇到了同樣的問題。在我的四台伺服器上,noderunner.exe 也只監聽了幾個埠,而不是 3867。事實證明,在升級過程中執行 Sophos 防病毒軟體破壞了 noderunner.exe 的啟動或配置等問題。解決方案是解除安裝 Sophos 防病毒軟體(僅通過解除安裝 AV 並不能修復它),然後重新執行 setup /mode:upgrade /iacceptexchangeserverlicenseterms 以重新升級伺服器。在那之後,所有數據庫的搜尋索引都恢復了功能,noderunner.exe 正在偵聽所有適當的埠。我希望這可以幫助別人!