It’s assumed that you are installing one supermaster and one or more slaves that will sync with the master automatically. Install the Power DNS server and My Sql backend using apt create table domains ( id INT auto_increment, name VARCHAR(255) NOT NULL, master VARCHAR(128) DEFAULT NULL, last_check INT DEFAULT NULL, type VARCHAR(6) NOT NULL, notified_serial INT DEFAULT NULL, account VARCHAR(40) DEFAULT NULL, primary key (id) )type=Inno DB; CREATE UNIQUE INDEX name_index ON domains(name); CREATE TABLE records ( id INT auto_increment, domain_id INT DEFAULT NULL, name VARCHAR(255) DEFAULT NULL, type VARCHAR(6) DEFAULT NULL, content VARCHAR(255) DEFAULT NULL, ttl INT DEFAULT NULL, prio INT DEFAULT NULL, change_date INT DEFAULT NULL, primary key(id) )type=Inno DB; CREATE INDEX rec_name_index ON records(name); CREATE INDEX nametype_index ON records(name,type); CREATE INDEX domain_id ON records(domain_id); create table supermasters ( ip VARCHAR(25) NOT NULL, nameserver VARCHAR(255) NOT NULL, account VARCHAR(40) DEFAULT NULL ); Replace the username, password and dbname with a valid login information and database name.
Each DNS server in the cluster needs to have a dedicated local database.
A typical way of provisioning slave servers with the names of zones they should slave is to obtain (out-of-band somehow) a list of zones, add them to the slave's server configuration and tell the slave to "go get 'em".
One such proposed method is called dper: the DNS Peering Protocol which has an extra XML configuration that needs to be transported (somehow) to the slaves.
Furthermore, Power DNS interfaces with almost any database.
This tutorial has been tested to be working on Debian squeeze.
If BIND is your master, you could use BIND's statistics server and, as Tony points out in the comments below, Paul Vixie's metazones solve the "transport" of a zone list as well.
The slave servers obtain zone data via a process called zone transfer (AXFR) or incremental zone transfer (IXFR).(And I refuse to abstain from using the terms master/slave.) When we provision a master server with a new zone we must update all slave servers and inform them of the existence of this new zone and which addresses the master servers for the zone have.DNS zones are typically served by more than one server.One of these is called the master or primary and the 'copies' are called slave or secondary servers.Unless you are using Power DNS with My SQL or Postgre SQL replication (which is off topic for this discussion) this is a procedure that is normally done manually.