I l@ve RuBoard Previous Section Next Section

5.24 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 as the backup primary master name server, you could use zone statements like this one:

zone "foo.example" {
    type slave;
    masters {;    // regular primary master;    // 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.

    I l@ve RuBoard Previous Section Next Section