当多子网故障转移群集执行故障转移时,哪个 DNS 服务器会更新

当多子网故障转移群集执行故障转移时,哪个 DNS 服务器会更新

我们有一个 2 节点多子网集群。当我们对其中一个集群资源组执行故障转移时,我们发现 DNS 更新行为出乎意料。

  • NodeA 和 NodeB 分别位于不同的数据中心:SiteA 和 SiteB。
  • SiteA 和 SiteB 也是不同的 Active Directory 站点。
  • 有一个活动目录林
  • DNS01 是位于 SiteA 的 DC 和 DNS 服务器,DNS02 是位于 SiteB 的 DC 和 DNS 服务器,
  • 由于应用程序不能将 MultiSubnetFailover=true 作为其连接字符串中的参数,因此所有网络资源的 registerAlProviderIP 均设置为 0。
  • NodeA 和 NodeB 均在其 NIC IPv4 配置中将 DNS01 设置为主 DNS,将 DNS02 设置为辅助 DNS。
  • IPv6 已禁用
  • SiteA 是主站点,所有应用程序和用户都驻留在 SiteA 中。SiteB 仅用于灾难。

在某个网络集群资源发生故障转移期间,客户端的连接超时时间长达 15 分钟。进一步调查发现了以下行为:

  1. 在故障转移期间,群集使用新的 IP 地址更新 DNS02 上的 A 主机记录。
  2. 由于 DNS02 和 DNS01 位于不同的 AD 站点,因此根据站点间复制计划向 DNS01 进行复制。(为 15 分钟)
  3. 我们测试的大多数客户端都将 DNS01 作为其主 DNS 服务器,因此,在复制更新 DNS01 的 15 分钟内,他们遇到了超时问题。

通过在链接对象上启用“更改通知”可以解决 15 分钟的延迟问题。我们已经这样做了,而且这很有效。但是,对于我们来说,由于 SiteA 是主站点,而 SiteB 仅用作灾难备份站点,因此集群最好只更新 DNS01 而不是 DNS02。

我们的预期是,如果查看 SOA 记录,DNS01 是默认 DNS 服务器,因此始终会使用 DNS01。或者,当我们从 SiteA 故障转移到 SiteB 时,将使用 DNS02;如果我们从 SiteB 故障恢复到 SiteA,将使用 DNS01。(因为成为网络资源活动节点的节点会更新位于同一 AD 站点的 DNS 服务器,这是有道理的。)

问题:

我们正在寻找有关 DNS 更新机制的一些深入知识。

  1. 为什么集群总是默认更新到 DNS02?如果我们关闭 DNS02,集群将更新到 DNS01,但如果我们重新启动 DNS02,集群将开始使用 DNS02 作为默认 DNS 服务器来更新 A 主机记录。
  2. 这是我们可以配置的东西吗?
  3. 对于所有节点都位于同一 AD 站点的多子网群集,DNS 更新机制是否不同?
  4. 是否有任何日志提供有关这些 DNS 更新步骤的详细步骤?

相关内容