我正在开发一个由MAN(桥接)链接的两个数据中心的设置,它们之间的所有内容都加倍,在RedHat Cluster,DRBD以及那些东西的故障转移模式下.
我为每个位置都有一个DNS服务器,但事实证明在/etc/resolv.conf中同时使用它并没有多大帮助;如果一个人失败,客户等待大约10s左右的时间.换句话说,它使用它们进行负载平衡,而不是故障转移.所以我将两台服务器配置为使用带有ucarp(≈VRRP)的VIP.
有没有办法让我的两个DNS服务器都启动,例如,始终响应相同的IP?如果一个NS resquest获得两个答案,那没什么大不了的.
有没有办法用Anycast / Multicast等来做到这一点?
编辑:结果任播在我的场景中不会对我有任何好处,我只有静态路由,而且大多数流量实际上是通过桥接器.
有趣的是,如果可能的话,有两个DNS服务器应答同一IP上的请求.
解决方法
@H_301_15@ Anycast DNS允许您在所有客户端配置一个解析器IP;客户端请求将被转发到“最近”(从网络路由角度)服务器.如果您将任播VIP的广告绑定到健康检查(例如,请求知道域的A记录),那么如果您的某个服务器失败,其路由将被撤销.重新收到网络后,所有请求都将转发到其他设备,无需任何手动重新配置.
在实施方面,这可以通过使用硬件设备(例如F5 Big IP,Citrix Netscaler)或通过您自己的配置来完成.您可以运行在DNS服务器上运行的路由守护程序(例如Quagga),也可以使用一些登录路由器的自定义脚本来更改每个任播VIP的状态.