Ok. I know this works, cause I got it working just a few weeks ago, but
I've since had to rebuild the directors/real servers because of oddities
with our server imaging software (How can it not handle Grub or LVM
properly? wtf?). In any case, here's the issue:
Two Directors/Real servers in a Localnode config, using
heartbeat/ldirectord.
Symptom 1: When the servers start up, only the master sync daemon is
running, even after a connection comes in (the backup [ipvs_syncbackup]
is not running). After a heartbeat shutdown on the master, the backup
sync process runs, and seems to work normally (Switching back and forth
from master to backup as expected).
Symptom 2: Connections to the LVS that terminate in the master director
get disconnected when I shutdown heartbeat on the master, but
connections through the master to the backup stay connected.
Symptom 3: The connection sync table, when connecting to the master
node's service: On the master, the expire time is 15m, but on the
backup, is 3m. If the connection goes through the master to the backup's
service, the expire time on both is 15m.
Driving myself nuts here. I know it can work, because I did it before,
but there's something I'm missing, and it's likely something minor that
I can fix in a minute if I can just remember what it is. Any help is
greatly appreciated!
Config files:
-------------
haresources:
~~~~~~~~~~~~
cr-perim03 \
ldirectord::ldirectord.cf \
LVSSyncDaemonSwap::master::bond0 \
IPaddr2::10.0.2.11/24/bond0/10.0.2.255
ha.cf (comments removed):
~~~~~~
logfacility local0
keepalive 1
deadtime 4
warntime 2
mcast bond0 225.0.0.1 694 1 0
auto_failback on
node cr-perim03
node cr-perim04
ping 10.0.2.1
respawn hacluster /usr/lib/heartbeat/ipfail
deadping 4
apiauth ipfail gid=haclient uid=hacluster
ldirectord.cf:
~~~~~~~~~~~
checktimeout=1
checkinterval=1
autoreload=no
logfile="local0"
emailalert="stepedino@xxxxxxxxxxxxxx"
quiescent=no
virtual=10.0.2.11:22
real=10.0.2.27:22 gate
real=10.0.2.28:22 gate
request="SSH-1.99-OpenSSH_4.2"
receive="zlib@xxxxxxxxxxx"
scheduler=wrr
protocol=tcp
checktype=connect
virtual=10.0.2.11:53
real=10.0.2.27:53 gate
real=10.0.2.28:53 gate
request="loopback.claimsguard.com"
receive="127.0.0.1"
service=dns
scheduler=wlc
protocol=udp
checktype=negotiate
virtual=10.0.2.11:53
real=10.0.2.27:53 gate
real=10.0.2.28:53 gate
request="loopback.claimsguard.com"
receive="127.0.0.1"
service=dns
scheduler=wlc
protocol=tcp
checktype=negotiate
authkeys (actual auth changed):
~~~~~~~~~
auth 2
2 sha1 changed
sysctl.conf (useful bits):
~~~~~~~~~~~~
net.ipv4.ip_forward = 1
net.ipv4.conf.bond0.arp_ignore = 1
net.ipv4.conf.bond0.arp_announce = 2
net.ipv4.conf.eth0.arp_ignore = 1
net.ipv4.conf.eth0.arp_announce = 2
net.ipv4.conf.eth1.arp_ignore = 1
net.ipv4.conf.eth1.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
If you need another config, lemme know.
--
Sal Tepedino <stepedino@xxxxxxxxxxxxxx>
|