好,
假设我有2个BIND服务器(主从),主服务器失败。 奴隶仍然回答查询…但是,他们没有文件系统上的区域文件…
如果我重新启动从站,它是否仍然知道区域的内容?
是否有一个程序重写该从属区域文件,然后我只是改变configuration,使之成为主?
假设您在从属区域的定义中指定了一个file (通常这样做),区域数据将被存储在该文件中,并在重新启动时可用。
从手册的从区域部分 :
如果指定了一个文件,那么只要区域发生更改,副本将被写入此文件,并在服务器重新启动时从该文件重新加载副本。 build议使用文件,因为它通常可以加快服务器的启动速度,消除不必要的带宽浪费。
但是,值得注意的是,如果主设备长时间不可用,区域终止计时器将最终进入; 从属区域的服务器将不能在SOA EXPIRE字段中指定的时间(通常为几周)内到达主EXPIRE后停止服务该区域。
可以将从属区域更改为主区域,但值得注意的是现代BIND版本对于主区域和从属区域的masterfile-format具有不同的默认值(主区域是text ,从属区域是raw区域),因此您的文件可能是以不同于预期的格式,如果你只是slave type切换到master 。
重写masterfile-format设置或转换区域文件(例如named-compilezone -f raw example.com db.example.com )。