老木的终于把dns服务器内存降下来了

bind居然吃了我50多兆内存。本来openvz就不给交换空间,而且申请了没用的内存也算进去。这样哪里扛得住,赶快想办法,数据库那边的log已经报内存申请不到了。

一开始是尝试调整bind的配置文件,调了半死发现怎么样就是要吃50多兆,虽然比之前是降了几百K。但是杯水车薪啊不够啊。

好吧,换服务器。bind拜拜,搜了一阵,换maradns。但是这老木的服务器也是各种别扭,虽然编译安装挺方便,但是打死不给我开端口,启动了不开端口,53空荡荡,那我要你作何用,而且配置文件和bind不兼容,死。

继续,nsd。这家伙倒是给力,说是可以直接读取bind的zone文件,这样省不少力。编译,很顺利。安装,很顺利(我给弄到/usr/local里面去)。然后配置文件,参考了这篇文章:

https://calomel.org/nsd_dns.html

我把nsd.conf.sample复制成nsd.conf,然后开改。改动的地方不是很多:

#ip4-only: no 的注释去掉了,改成yes。暂时还没那么先进到用v6。以后需要了再说
#logfile: "/usr/local/var/log/nsd.log"的注释去掉,我不要它给我弄到syslog。因为我一般不会去看那个……
然后zone文件路径,#zonesdir: "/usr/local/etc/nsd"的注释去掉
#key for zone 1那边没动,接下来# Sample zone 1下面,看着好复杂,讨厌,看不懂,根据参考的那个文章写就好了。我先全部删光光,然后:

zone:
        name: "sora.info.tm"
        zonefile: "sora.info.tm.zone"

zone:
        name: "reimu.info.tm"
        zonefile: "reimu.info.tm.zone"

就ok了。

然后为nsd的运行创建一个nsd用户,直接useradd nsd就ok了。

这么一保存,把之前bind用的两个zone文件直接复制到 /usr/local/etc/nsd 下,执行nsdc start,但是没看到进程,端口也没开,奇怪……去查了一下log,跟我说db文件没找到。感觉很诡异,那个db文件什么格式我也不知道,里面要什么也不知道。

然后就是上网搜,发现是用zonec编译出来的。好吧那我就执行了一下zonec,啥参数没有,不过那个db文件这下倒是出来了。nsdc start,ok看到53端口在监听了。自己电脑上用nslookup拿自己的dns查一下,也能出来。

从bind转移到nsd,内存一下子省了几十兆。

nsd的网站是:http://www.nlnetlabs.nl/projects/nsd/

 

《老木的终于把dns服务器内存降下来了》上有2条评论

雷鸣进行回复 取消回复