Setting Up a Backup Primary Master Name Server
5.24.1 Problem
You want to establish a "backup" primary master name server, to assume the responsibilities of the regular primary master name server, should it fail.
5.24.2 Solution
Configure slave name servers with the address of the regular primary master name server first in their masters substatements, then with the address of the backup primary master. For example, if you wanted to designate 192.168.0.2 as the backup primary master name server, you could use zone statements like this one:
zone "foo.example" { type slave; masters { 192.168.0.1; // regular primary master 192.168.0.2; // backup primary master }; file "bak.foo.example"; };
The backup primary master should serve as a slave when everything's functioning correctly. (But be sure to configure the backup primary master to allow zone transfers to the other slaves.) Then, if the regular primary master fails, you can follow the instructions in Section 5.25 to turn the backup primary master name server into a full-fledged primary master.
5.24.3 Discussion
Most versions of BIND contact the first name server in the masters list first. They only query the second name server if the first one doesn't respond -- because it's crashed, for example -- or if there's an error in the response. As long as the regular, workaday primary master continues responding, they'll transfer the zone from it.
BIND 8 name servers from 8.2 on query all of the name servers listed in the masters substatement, and transfer the zone from the one that replies with the highest serial number (if there's a tie, the one earliest in the list). That will still work when the normal primary master is running, and if it fails, the name servers get their zone transfers from the backup.
5.24.4 See Also
Section 5.25 for instructions on what to do when a primary master name server fails.