I've got an Ultramonkey3 setup, 2 directors and 3 realservers. My
haresources file on both directors looks like this:
director1.myhost.com \
ldirectord::ldirectord.cf \
LVSSyncDaemonSwap::master \
IPaddr2::128.6.xx.xx/26/eth0
When I start heartbeat, I see
kernel: IPVS: sync thread started: state = MASTER, mcast_ifn = eth0, syncid = 0
heartbeat: info: ipvs_syncmaster up
heartbeat: info: ipvs_syncmaster obtained
on the primary director, and LVSSyncDaemonSwap says
master running
(ipvs_syncmaster pid: 29169)
The backup director says
master stopped
(ipvs_syncbackup pid: 12892)
When I do a 'heartbeat stop' on the primary director, it does move the
connection table over to the backup like it should.. the output of
'ipvsadm -lc' on the backup matches what it looked like on the master
before ipvs was stopped. However, when I take my client that's got an
active persistent session and start navigating through my app, I lose
it. If I do another ipvsadm -lc, the table shows requests from my client
going to a different frontend than before, i.e
Before failover, on master:
TCP 01:05 ESTABLISHED myhost:1147 virtualservice:https frontend1:https
TCP 00:01 NONE myhost:0 virtualservice:https frontend1:https
TCP 01:05 ESTABLISHED myhost:1150 virtualservice:https frontend1:https
After failover, on backup:
TCP 01:05 ESTABLISHED myhost:1147 virtualservice:https frontend1:https
TCP 00:01 NONE myhost:0 virtualservice:https frontend1:https
TCP 01:05 ESTABLISHED myhost:1150 virtualservice:https frontend1:https
TCP 01:05 ESTABLISHED myhost:1147 virtualservice:https frontend1:https
TCP 59:49 NONE myhost:0 virtualservice:https frontend2:https
TCP 01:05 ESTABLISHED myhost:1152 virtualservice:https frontend2:https
For some reason, it sends new connections from myhost to frontend2 now
instead of 1. Am I missing something??
Thanks!
|