此时,指向该服务器的所有客户端开始执行速度非常慢.
问题似乎是股票linux解析器并没有真正的概念
“故障转移”到不同的DNS服务器.您可以调整超时和数量
它使用的重试次数(并设置旋转以便它可以在列表中工作),但无论如何
使用我们服务的设置执行速度要慢得多
如果主DNS服务器变得不可用.
目前,这是我们服务中断的最大来源之一.
我理想的答案就像“RTFM:tweak /etc/resolv.conf这样…”,
但如果这是一个选项,我还没有看到它.
我想知道其他人是如何处理这个问题的?
我可以看到3种可能的解决方案:
>使用linux-ha / Pacemaker和故障转移ips(因此dns IP VIP“始终”可用).
唉,我们没有良好的击剑基础设施,也没有击剑
起搏器不能很好地工作(根据我的经验,Pacemaker可以降低可用性
击剑).
>在每个节点上运行本地DNS服务器,并让resolv.conf指向localhost.
这可行,但它会为我们提供更多的监控和管理服务.
>在每个节点上运行本地缓存.人们似乎认为nscd“破碎”,但dnrd
似乎有正确的功能集:它将dns服务器标记为向上或向下,以及
不会使用’down’dns服务器.
Any-casting似乎只能在ip路由级别工作,并且取决于服务器故障的路由更新.多播似乎是一个完美的答案,但绑定确实如此
不支持广播或多播,我能找到的文档似乎暗示了这一点
多播dns更多的目标是服务发现和自动配置,而不是常规的DNS解析.
我错过了明显的解决方案吗?
解决方法
>尝试在resolv.conf中使用选项旋转.这将最大限度地减少主服务器关闭的影响.如果其中一台服务器出现故障,则会降低操作速度.
>在不同的客户端上使用不同的名称服务器顺序.如果主DNS服务器关闭,这将允许某些客户端正常运行.这会分散服务中断DNS服务器的影响.
这些选项可以与选项超时结合使用:1次尝试:5.如果减少超时,请增加尝试,以便处理速度较慢的外部服务器.
根据您的路由器配置,您可以配置DNS服务器以在主DNS服务器关闭时接管主DNS服务器的IP地址.这可以与上述技术结合.
注意:我运行多年没有计划外的DNS中断.正如其他人所说,我会努力解决导致DNS服务器失败的问题.上述步骤也有助于配置错误的DNS服务器并指定无法访问的名称服务器.