safely restart / reload bind dns

Solution 1:

You could reload just the specific zone that was changed:

rndc reload zonename

rather than restarting the whole server. That's the simplest way. I actually do something different on my production DNS:

  • Keep all my masters on one separate server (a tiny VM) that services NO user queries
  • Use 2 slave servers to service all queries that get all their zones replicated from the master
  • All changes get made on master, if a reload is needed only the affected zones get retransferred to the slaves.
  • If a reconfig is required (ie changing named.conf to add/delete zones or whatever) schedule that for a maintenance window.

Solution 2:

service named reload should also reload and not restart bind. I agree with others for maximum availability have separate slave bind servers which can serve dns requests if you do need to do maintenance on your master dns server.