Azure Devops 服务器:无法从灾难恢复站点 ADS 门户网站获取 ADS 搜索(代码、Wiki、工作项)

Azure Devops Server: Can't get ADS search (Code, Wiki, Work Item) to work from disaster recovery site ADS web portal

This is the only doc I can find for installing Search on ADS app server。 las,它是模棱两可的,我担心它缺少一些信息,我需要从我的灾难恢复站点 ADS App Server 中获取 ADS 搜索(代码、Wiki、工作项)。

这是设置。 WSFC 和 AOAG 已配置并按预期工作。请注意,APP01 和 APP02 不在 WSFC 中。

使用 APP01 上的 ADS 管理控制台,我成功安装并配置了代码、Wiki 和工作项搜索。将 DB01 作为 AOAG 主节点,当我从 APP01 ADS 门户网站搜索时,结果按预期返回:

现在,我希望能够从 APP02 进行相同的搜索。我的第一次尝试是使用 APP02 上的 ADS 管理控制台来配置搜索,就像我在 APP01 上所做的那样。搜索安装正常,但是当我从 APP02 ADS 门户网站搜索时,出现错误:

我回去重新阅读了上面引用的文档,得出的结论是我应该将 APP01 {drive}:\Program Files\Azure DevOps Server 2020\Search\zip 的内容复制到 APP02 并按照 readme.txt 文件。于是,我卸载了APP01和APP02的搜索,重新安装到APP01上,然后将APP01{drive}:\Program Files\Azure DevOps Server 2020\Search\zip的内容复制到APP02,按照readme.txt文件中的说明操作,即我运行 Configure-TFSSeach.ps1 在 APP02 上。搜索似乎安装正常 - 来自 .ps1 的所有良好消息,没有错误。但是,当我 运行 从 APP02 ADS 门户网站搜索时,出现与之前相同的错误。

如何从 APP02 ADS 门户网站进行搜索?

好的,所以微软方面没有很好地记录这种情况。他们没有解释如何配置弹性搜索以跨多个节点进行扩展,并且 Microsoft 支持关闭了开发社区上的每张票,并附上通知:“不支持的场景,请联系 Elastic 寻求指导”。

支持在 Azure DevOps Server 单层安装的应用层上安装 Elastic Search 的场景。这基本上就是当您 select 将搜索安装为应用程序层的一部分时发生的情况。

为了安全,Elastic Search绑定了本地loopback IP,第一台服务器(A)没有开放防火墙端口,所以安装第二个应用层(B)时,没办法点在 A.

上的 Elastic Search 实例中

因此,在您已经知道需要扩展的场景中,过程如下:

  • 在服务器 A 上安装 Azure DevOps 不安装搜索。
  • 在服务器 A 上手动安装搜索(如同独立安装一样)
  • 确保打开防火墙以便稍后接收来自服务器 B 的流量。
  • Configure IPSec to encrypt the traffic between Server A and Server B.
  • 在服务器B上安装Azure DevOps,安装时指向服务器A上的elastic Search实例。

或者在安装过程中完全忽略搜索:

如果您已经在服务器 A 或服务器 B 上安装了 Elastic Search,您可以进入 Azure DevOps 管理控制台并从服务器中删除搜索功能(实际上不会卸载 Elastic Search,只会删除配置):

然后更改网络绑定:

然后重启弹性搜索服务:

确保指向服务器 运行 ElasticSearch 的完全限定域名或其 IP 地址。如果您只输入主机名,安装向导会将您的设置恢复为 localhost 出于某种不明原因。

另请参阅: