We are running BIND9 DNS servers. One master, which is receiving updates from our management dashboard, and one or more slaves which performs zone-transfers from the master.
Installing a Slave
Installing a slave is simply done by installing the role "role::dns::slave", and as long as hiera contains the correct address for the DNS master and lists the new slave it will be able to recieve zone-transfers and updates from the master when the zone changes.
Installing a Master
Installing a master can be done by installing the role "role::dns::master". The updates are however sent to the one which is listed as master in hiera. Replacing a master is thus performed trough three steps:
- Install a new role::dns::master
- Change hiera to list the new master as the master.
- Wait for puppet to run on all nodes before the old master is shut off.
During the transition to a new master it is important to make sure that there are no zone-changes, as it is good that all DNS servers knows the same addresses. Also, do not turn off the old masters if thats the only one your clients queries.