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.