我一直在寻找,但似乎找不到答案,所以如果这个问题之前已经在这里被问过,我深表歉意。
我有两个 PowerDNS 服务器 -ns1
和ns2
(位于不同的数据中心)。 两者都连接到 localhost 上的 MySQL,但两个服务器上的 MySQL 都是 MySQL 主服务器的复制从属服务器db
。 这非常有效,因为更新 上的 dns 数据库db
将复制到ns1
和ns2
,然后 powerdns 将正确显示两个位置的 DNS 记录。
我想完成但似乎无法弄清楚的是如何处理 mysql 主机崩溃的情况ns1
。ns2
如果 mysql 失败,我该如何告诉 powerdns 将 DNS 查询临时转发到另一台服务器(直到 mysql 重新上线)?我研究过 pdns-recursor,但似乎不知道如何将其配置为仅在 mysql 关闭时运行。
我愿意接受创造性的解决方案,比如在异常端口上使用 pdns,然后使用 nginx 将连接“代理”到服务器上的另一个端口,并允许 nginx 收到 mysql 故障通知并重定向到其他服务器。问题是我不知道从哪里开始设置这样的事情!我想知道 (a) 什么是最佳实践/最可靠,以及 (b) 我具体该怎么做!
答案1
我认为您正在尝试在错误的级别创建冗余,因为您已经有冗余的名称服务器。
如果 MySQL 在 NS1 上失败,那么 PowerDNS 也应该停止响应,对吗?当解析器未从 NS1 获得响应时,DNS 协议中的内置冗余将介入,解析器将向备用权威名称服务器 NS2 重新提交其查询。