Paul Lantinga <prl@xxxxxx> wrote:
> Good morning,
>
> We're running the .8.x stable code. It works great in the default setup
> with one LVS server doing NAT. Phase II means trying out 2 load balancers,
> as found at http://www.linuxvirtualserver.org/HighAvailability.html. This
> works fine using heartbeat to control lvs and mon in the manner found in the
> example haresources file.
> clients -- switch -- lvs and lvs2 -- switch -- servers
> However, I've been asked to have mon monitor not only the real servers, but
> also the the IP addresses for the switches on the outside and the inside and
> to then kill heartbeat if it fails. I added a section to the mon.cf file to
> monitor the 'gateways' and to alert|upalert with
> heartbeat.alert|startheartbeat.alert. The heartbeat alerts are simple
> scripts that do /etc/init.d/heartbeat stop|start and the haresources
> contains: lvs vip-http vip-servers lvs mon
>
> Of course, this killfest doesn't work b/c you can't have mon killing
> heartbeat and heartbeat killing mon as you're left with noone watching
> anything. ;) .
>
> So, I figured, how about having two mon instances or how about having mon
> control both heartbeat and lvs.
>
> The dual mon setup would be:
> - one instance of mon to watch my real servers that would pull servers in
> and out of service with the lvs.alert. This would be started and stopped by
> heartbeat. haresources would look like: lvs vip-http vip-servers mon
>
> - a second instance of mon would be started at boot time and would monitor
> the gateways hostgroup using a mon.cf with:
> hostgroup gateways gw1 gw2
>
> watch gateways
> service fping
> interval 10s
> monitor fping.monitor
> period wd{Sun-Sat}
> alert heartbeat.alert
> upalert starthearbeat.alert
>
> The mon in control scenario would be:
> - push everything from the two mon configs above into one mon.cf file.
>
> Is either of these methods preferable? wise? unwise? Has anyone else
> managed to get 2 instances of mon running on the same box? Is anyone using
> mon to control heartbeat and lvs?
There is another possebility:
Mon allows you to enable/disable service groups.
If you start mon with the service group for monitoring the realservers
disabled then heartbeat could enable this group via haresources.
It looks a bit like this:
Disabling watch group "realservers":
echo -e "user=someuser\npass=password\ndisable watch realservers" | \
moncmd -a -s localhost
enabling:
echo -e "user=someuser\npass=password\nenable watch realservers" | \
moncmd -a -s localhost
Cheers,
Juri
--
Juri Haberland <juri@xxxxxxxxxxxxxx>
|