在前面一篇文章里,我们利用powerdns自带的pdns.conf配置,实现master和slave的域名解析服务双备份。但是在实际生产使用中,我们发现经常出现个别records或domains无法实现master和slave的严格同步,造成域名服务错误。
因此,本人对两个域名服务器ns1.happytang.org和ns2.happytang.org进行了更新,将其全部配置为mater。但为了使两个域名服务器的记录保持严格一致,我们使用了mysql主从同步。
具体原理见 Claudio Kuenzler的这篇博文。
mysql主从同步见这篇博文。
这里只是记录中间碰到的问题。
1、在配置主从同步过程中,master_port的3306是不需要加单引号的。
2、中间slave的server id改了但是没有重启mysql,导致出现slave_io出现了no。重启之后就好了。
3、我们的主服务器当时使用的是oneinstack,在配置mysql主从分布式,没有找到my.cnf文件。经查阅,在mysql的5.7版本,有些编译版本默认情况是没有my.cnf的。你可以自己新建my.cnf,至少应在my.cnf中[mysqld]字段下添加datadir、basedir、log-bin和server-id的四个参数设置。
4、在powerdns中,我们发现偶尔会出现个别域名MX记录未生效的情况,不过删除后重新添加即可。
原文也已发布在个人博客对应网页上。