bind主备同步关注点

最近遇到几次DNS的主备同步问题。

1. 每分钟动态生成反解,然后发现有的slave服务器上不更新。
通过日志看到每次都是最后一个slave机器收到notify消息去master上请求传输zone时有报错,提示master服务不可用。后来发现是master上的transfers-out没有单独指定,这个值默认是10,所有可能比较多slave机器请求时就失败了。把这个配置根据实际的情况调整后解决的。

2. 海量的域名同步时,slave查询soa都查不过来。

到底多大是海量?这个自己看看自己机器上的域名总数能占到中国所以域名的几个百分点以上吧。当数量大了后确实是各种问题都出来了,这个我是观察了一下有个serial-query-rate 可以设置soa查询速度的,默认是20/S,对于有海量域名的DNS来说这样显然是跟不上节奏的,直接把这个调整到5W/S,查询速度飕飕的。对于master的压力其实也还好,就当时收到那么点请求。相应地tcp-clients和transfers-in,transfers-per-ns也要做好调整。

3. SOA的TTL设置问题。

这个其实也不算是什么问题。就是nxdomain的缓存时间是有SOA TTL决定的(如果本地LDNS没有单独设置的话)。有人先把1个域名删除了,接着又有人去解析一下这个被删除的域名,然后之前的人把域名又加上去。。结果所有人在办公网访问不了这个新增的域名。其实这个就是NXDOMAIN的缓存问题。我只有直接把SOA TTL缩短一下。

很多性能上的问题我们需要根据日志来看到底存在的瓶颈是在哪里,然后再去考虑如何优化。没有目的的优化是瞎折腾。

此条目发表在dns分类目录。将固定链接加入收藏夹。