It may be advantageous to run multiple separate PowerDNS installations on a single host, for example to make sure that different customers cannot affect each others zones. PowerDNS fully supports running multiple instances on one host.
To generate additional PowerDNS instances, create a pdns-NAME.conf
in your configuration directory (usually /etc/powerdns), where
NAME is the name of your virtual configuration.
Following one of the following instructions, PowerDNS will read its
configuration from the pdns-NAME.conf instead of pdns.conf.
Symlink the init.d script pdns to pdns-NAME, where NAME is
the name of your virtual configuration.
Warning
NAME must not contain a ‘-’ as this will confuse the script.
Internally, the init script calls the binary with the
config-name option set to name,
setting in motion the loading of separate configuration files.
When you launch a virtual instance of PowerDNS, the pid-file is saved
inside socket-dir as pdns-name.pid.
Warning
Be aware however that the init.d force-stop will kill all PowerDNS instances!
With systemd it is as simple as calling the correct service instance.
Assuming your instance is called myinstance and
pdns-myinstance.conf exists in the configuration directory, the
following command will start the service:
systemctl start pdns@myinstance.service
Similarly you can enable it at boot:
systemctl enable pdns@myinstance.service