PCS, Corosync, Pacemaker, and Bind

Mike Bernhardt bernhardt at bart.gov
Tue Mar 15 23:06:04 UTC 2016

Not sure if this is a BIND question or a PCS/Corosync question, but
hopefully someone has done this before:

I'm setting up a new CentOS 7 DNS server cluster to replace our very old
CentOS 4 cluster. The old one uses heartbeat which is no longer supported,
so I'm now using pcs, corosync, and pacemaker.  The new one is running the
latest 9.10.x production release of BIND. I want BIND to listen on, query
from, etc on a particular IP address, which is virtualized. The options
currently used are:
query-source address

listen-on isn't a big deal, but the source address options are. This worked
fine on the old cluster. But whereas heartbeat would create a virtual
subinterface (i.e. eth0:0) to support the virtual IP, corosync does not do
that; at least it doesn't by default. So although the virtual IP exists and
is pingable, it is not tied to a "physical" interface- ifconfig does not
find it. And when BIND tries to start up, it fails because it can't find the
virtual IP it's configured to run on, even though it is reachable. I only
need IPv4, not IPv6.

So, I'm hoping that either
1) There is a way to tell BIND to use an IP address that is not on an
interface, or
2) There is a way to tell corosync (hopefully using pcsd) to create a
virtual interface, not just a virtual address, so BIND can find it.

Mike Bernhardt

More information about the bind-users mailing list