设置 DNS 主要/次要/...以减少冗余和延迟的正确方法?

Tho*_*ele 12 domain-name-system linux redundancy

我认为用于冗余目的的 DNS 主要/次要很简单。我的理解是你应该有一个主要的和至少一个次要的,并且你应该在不同的地理位置设置你的次要,但也要在不同的路由器后面(例如参见https://serverfault.com/questions/48087 /why-are-there-several-nameservers-for-my-domain )

目前,我们的主数据中心有两个名称服务器。最近,由于各种原因,我们遇到了一些中断,这两个名称服务器都被关闭了,让我们和我们的客户在几个小时内无法使用 DNS。我已经要求我的系统管理员团队在另一个数据中心完成 DNS 服务器的设置并将其配置为辅助名称服务器。

但是,我们的系统管理员声称,如果其他数据中心至少不如主数据中心可靠,那么这也无济于事。他们声称,当主数据中心停机时,大多数客户端仍然无法正常查找,或者超时时间过长。

就我个人而言,我确信我们不是唯一一家遇到此类问题的公司,而且很可能已经解决了这个问题。我无法想象所有这些互联网公司都会受到我们这种问题的影响。但是,我找不到很好的在线文档来解释失败情况下会发生什么(例如,客户端超时)以及如何解决这些问题。

我可以用什么论据来戳破我们系统管理员的推理?我可以参考任何在线资源以更好地了解他们声称存在的问题?

阅读回复后的一些补充说明:

  • 我们在 Linux 上
  • 我们还有其他复杂的 DNS 需求;我们的 DNS 条目由一些自定义软件管理,BIND 目前从 Twisted DNS 实现中使用,并且还有一些视图。但是,我们完全有能力在另一个数据中心设置我们自己的 DNS 服务器。
  • 我说的是让外部人员找到我们的服务器的权威 DNS,而不是我们本地客户端的递归 DNS 服务器。

KPW*_*INC 0

托马斯,

阅读您的更新后,我修改了我的帖子(之前的帖子参考了 Windows 软件)。

在我看来,您的系统管理员似乎在告诉您,您的辅助位置没有处理满载所需的硬件?

听起来他好像在说:“嘿伙计,如果我们的主要位置(包括主 DNS)出现故障,那么 DNS 是我们最不用担心的,因为如果 COLO1 出现故障,那么 COLO2 无论如何都无法处理负载。”

如果是这种情况,那么我建议您检查您的基础设施并尝试提出更好的设计。这说起来容易做起来难,尤其是现在您生活在生产环境中。

除此之外,在完美的世界中,COLO1 和 COLO2 将能够独立处理您的负载。

一旦到位……DNS实际上只不过是拥有足够的DNS服务器,并且刷新速度足够快,如果一侧出现故障,您可以重写您的DNS以指向正常运行的服务器。

我已经在小型到合理规模的环境中使用了这种方法,并且效果很好。故障转移通常需要不到 10 分钟。

您只需确保您的 DNS 服务器可以处理短 TTL(生存时间)的额外负载。

希望这可以帮助。