Hello,
Just find time last night to merge pending patches and merge brand new
stuff we spoke about for a long time ago with Willy Tarreau. So Willy,
thanks for your time and to exosec for providing this new stuff.
The major extension is the VRRP floating priority feature. A small conf
file is better than large discussions, so to illustrate this new feature
refer to tarball documentation directory or read the following sample:
! Configuration File for keepalived
vrrp_script chk_sshd {
script "killall -0 sshd" # cheaper than pidof
interval 2 # check every 2 seconds
weight -4 # default prio: -4 if KO
}
vrrp_script chk_haproxy {
script "killall -0 haproxy" # cheaper than pidof
interval 2 # check every 2 seconds
}
vrrp_script chk_http_port {
script "</dev/tcp/127.0.0.1/80" # connects and exits
interval 1 # check every second
weight -2 # default prio: -2 if connect
fails
}
vrrp_script chk_https_port {
script "</dev/tcp/127.0.0.1/443"
interval 1
weight -2
}
vrrp_script chk_smtp_port {
script "</dev/tcp/127.0.0.1/25"
interval 1
weight -2
}
vrrp_instance VI_1 {
interface eth0
state MASTER
virtual_router_id 51
priority 100
virtual_ipaddress {
192.168.200.18/25
}
track_interface {
eth1 weight 2 # prio = +2 if UP
eth2 weight -2 # prio = -2 if DOWN
eth3 # no weight, fault if down
}
track_script {
chk_sshd # use default weight from the script
chk_haproxy weight 2 # +2 if process is present
chk_http_port
chk_https_port
chk_smtp_port
}
}
vrrp_instance VI_2 {
interface eth1
state MASTER
virtual_router_id 52
priority 100
virtual_ipaddress {
192.168.201.18/26
}
track_interface {
eth0 weight 2 # prio = +2 if UP
eth2 weight -2 # prio = -2 if DOWN
eth3 # no weight, fault if down
}
track_script {
chk_haproxy weight 2
chk_http_port
chk_https_port
chk_smtp_port
}
}
ChangeLog for this new release is as following:
2006-10-11 Alexandre Cassen <acassen@xxxxxxxxxxxx>
* keepalived-1.1.13 released.
* VRRP : Added a new notify script to be launch during vrrp
instances shutdown. This new notify hook is configured
using notify_stop keyword inside vrrp_instance block.
* VRRP : Willy Tarreau <w at 1wt.eu> fixed an errno issue in
thread_fetch(), errno is lost during set_time_now(). This
patch saves it across the call to set_time_now() in order
to get the valid error.
* VRRP : Willy Tarreau <w at 1wt.eu> extended timer framework
to save errno in timer_now() and set_time_now() just in
case other functions do not expect these functions to modify
it. This is a safer approach than the initial patch to
thread_fetch(), while still compatible.
* VRRP : Willy Tarreau <w at 1wt.eu> fixed an FSM silent issue.
By default, the VRRP daemon stops sending during new MASTER
elections. This causes 3 to 4 seconds of silence depending on
the local priority, and sometimes causes flapping when the
differences in priorities are very low, due to the kernel
timer's resolution : sometimes, the old master receives a
first advertisement, enters backup, waits 3 seconds, sees
nothing and finally becomes master again, which forces a new
reelection on the other one.
* VRRP : Willy Tarreau <w at 1wt.eu> extended VRRP framework to
support floating priority. Replace the priority in each
vrrp_instance with a base priority and an effective priority,
to prepare the support for floating priorities. The
configuration sets the base_priority, and all comparisons use
the new effective_priority value. This one is computed in the
vrrp_update_priority() thread by adding an offset to
base_priority, based on the result of various checks.
* VRRP : Willy Tarreau <w at 1wt.eu> extended notify script to
add the priority in "$4" when calling a notify script. This is
important in labs and datacenters when systems can display the
priority on a front LCD, because it allows workers to
carefully operate without causing unexpected reelections.
* VRRP : Willy Tarreau <w at 1wt.eu> extended interface tracking
framework to let interface tracking change the priority by
adding a "weight" parameter. If the weight is positive, it
will be added to the priority when the interface is UP. If the
weight is negative, it will be subtracted from the priority
when the interface is down. If the weight is zero (default), a
down interface will switch the instance to the FAULT state.
* VRRP : Willy Tarreau <w at 1wt.eu> added a new "vrrp_script"
section to monitor local processes or do any type of local
processing to decide whether the machine is in good enough
health to be elected as master. A same script will be run once
for all instances which monitor it. If no instance use it, it
will not be run, so that it's safe to declare a lot of useful
scripts. A weight is associated to the script result. If the
weight is positive, it will be added to the priority when the
result is OK (exit 0). If the weight is negative, it will be
subtracted from the priority when the result is KO (exit !=
0). If the weight is zero, the script will not be monitored.
The default value is 2.
* VRRP : Willy Tarreau <w at 1wt.eu> extended vrrp scheduler so
that when a VRRP is part of a SYNC group, it must not use
floating priorities, otherwise this may lead to infinite
re-election after every advertisement because some VRRPs will
announce higher prios than the peer, while others will
announce lower prios. The solution is to set all weights to 0
to enable standard interface tracking, and to disable the
update prio thread if VRRP SYNC is enabled on a VRRP.
* VRRP : Willy Tarreau <w at 1wt.eu> added some documentation
and examples for the brand new VRRP tracking mechanisms.
* VRRP : Ranko Zivojnovic, <ranko at spidernet.net> fixed vrrp
scheduler to execute notify* scripts in transition from the
failed state to the backup state.
* Nick Couchman, <nick.couchman at seakr.com>, added support for
real server upper and lower thresholds. This allows you to
set a minimum and maximum number of connections to each real
server using the "uthreshold" (maximum) and
"lthreshold" (minimum) options in the real_server section of
the configuration file.
* Chris Caputo, <ccaputo at alt.net> extended autoconf script
to support recent move of UTS_RELEASE from linux/version.h to
linux/utsrelease.h.
* Chris Caputo, <ccaputo at alt.net> extended ipvswrapper 2.4
code to support misc_dynamic weight.
Best regards,
Alexandre
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Keepalived-devel mailing list
Keepalived-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/keepalived-devel
|