Running Virtual Instances¶
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.
Starting virtual instances with Sysv init-scripts¶
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!
Starting virtual instances with systemd¶
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