spacer
spacer
         
 
Main Menu

· Download
· Documentation
· Software Design
· List & Archives
· ChangeLog
· Logos

spacer
spacer
 

What is Keepalived ?
The main goal of the keepalived project is to add a strong & robust keepalive facility to the Linux Virtual Server project. This project is written in C with multilayer TCP/IP stack checks. Keepalived implements a framework based on three family checks : Layer3, Layer4 & Layer5/7. This framework gives the daemon the ability of checking a LVS server pool states. When one of the server of the LVS server pool is down, keepalived informs the linux kernel via a setsockopt call to remove this server entrie from the LVS topology. In addition keepalived implements an independent VRRPv2 stack to handle director failover. So in short keepalived is a userspace daemon for LVS cluster nodes healthchecks and LVS directors failover.

Why using Keepalived ?
If your are using a LVS director to loadbalance a server pool in a production environnement, you may want to have a robust solution for healthcheck & failover.

What about licence ?
Keepalived is licensed under the GNU General Public License (GPL).

 



 
News & Announcements
 

 

 
2011-11-23
JRES'2011 Presentation
  Alexandre SIMON from CIRIL made a Nice presentation at JRES'2011. He also produced a Paper and a slideshow (French Material). Thanks for the good job !
2011-01-16
Release 1.2.2 - IPv6 Ready !
 

spacer
spacer

This release has been jointly sponsored by PICTURA and PCEXTREME. Special thanks go to tech team at PCEXTREME and PICTURA for time spent on testing and reporting issues. Please visit sponsors websites ! Focus for this release has been made on a massive code rewrite to fully support IPv6 in VRRP and IPVS frameworks.
2010-12-08
Release 1.2.1 - Bugfixes
  Merged mainline pending bugfixes.
2010-06-24
Website hosting
  The keepalived website has moved on Thu 2010 June 24th to a clustered lxc container provided and powered by OpenSVC.
2010-05-31
Release 1.2.0 - VRRP IPv6 Release
  Extend VRRP to support IPv6.
2010-05-06
Release 1.1.20 - Bugfixes
  Extend ip and route framework to support existing entries. Fix broadcast display. Fix genhash parsing issue. destroy old signal pipes on reload. Fix SMTP checker issue. handle non-existant default interface in VIP definition. Remove alive realserver when quorum is lost. Fix a segfault issue if virtual_server is empty. Keep previous effective VRRP priority on reload. Fix VRRP script handling. On reload keep VRRP scripts status. Remove IPVS Kernel 2.2 support.
2010-03-16
Chinese documentation
  Sery contributed a nice Chinese document on Keepalived.
2009-10-01
Release 1.1.19 - Bugfixes
  Fixed segfault issue while parsing virtual_server. Fixed SIGCHLD handling upton reload. Fixed VRRP nopreempt from FAULT state.
2009-09-28
Created GIT repository
  Created Keepalived project GIT repository.
2009-09-24
Release 1.1.18 - Bugfixes
  Fixed reloading issues. Fixed a VRRP multicast group leave issue. Added support to delayed vrrp script lauching. Fixed initial value of quorum state. Fixed sorry server removal to take care of quorum state. Fixed a signal handling issue while reloading. Fixed PID handling. Updated media link failure detection strategy. Misc cosmetics fixes.
2009-03-05
Release 1.1.17 - Bugfixes
  Fixed a regression brought by previous release during low-level scheduler timer computation. Fixed VRRP MII code to properly test BMSR. Optimized VRRP script initialization.
2009-02-15
Release 1.1.16 - Bugfixes
  Merged lot of pending patches. Added support to alpha/omega framework for healthchecker management. Extended VRRP scheduler to support internal monotonic clock. Fixed VRRP reelection issue while using IPSEC AH auth. Fixed VRRP reloading process to offer graceful restart. Extended VRRP virtual_route framework to support black hole route as well as multihop routes.
2007-09-16
Release 1.1.15 - Bugfixes
  Fixed genshash makefile. Removed http healthchecker buffer minimization causing crash. Fixed parser include directive to support multi-level configuration includes. Extended SSL checker for better handling of SSL handshake. Fixed http healthcheker issue while processing MD5SUM. Fixed missing notifications upon VRRP state transition. Add support for VRRP virtual_routes to route metric.
2007-09-13
Release 1.1.14 - Enhancements
  Extended parsing framework to support include directives and error logging. Merged patches from rpmforge. Add script goodies directory. Fixed compilation issue in VRRP code. Fixed VRRP negative weights in script. Extended VRRP framework to support Old-style Linux aliases. Add support to VRRP script logging
2006-12-11
New OpenSource Project
  Launch a new OpenSource project focused on Layer7 switching www.linux-l7sw.org
2006-10-11
Release 1.1.13 - Enhancements
  Extended VRRP engine to support floating priority. Fixed some issues.
2006-03-09
Release 1.1.12 - Bugfixes
  Fixed SSL checker to properly support asynchronous stream handling. Fixed SMTP checker. Extended VRRP framework to use vrrp virtual_router_id as LVS syncid. Fixed redhat spec file.
2005-09-02
Press arcticle
  poboxcom">Philip J. Hollenback published an article on keepalived at LinuxDevCenter.
2005-03-01
Release 1.1.11 - Bugfixes
  Fixed a bitwise negation issue while handling signal. Extended VRRP ipaddress and iproutes handling to take care of unknown interfaces. Cosmetics cleanups.
2005-02-15
Release 1.1.10 - Bugfixes
  Release iproutes before ipaddresses while restoring interfaces inside VRRP framework. Fixed somes buffer overruns, NULL pointers and one memory leak. Redesigned signal handling. Fixed some shadowed declarations. Extended libipvs to support syncd zombies handling. Fixed a scheduling and configurations reload races conditions. Cosmetics cleanups.
2005-02-07
Release 1.1.9 - Bugfixes
  Fixed issues in VRRP framework while releasing vrrp socket pool, setting blocking flags on netlink socket and hashing vrrp fd bucket into hash index. Fixed a regression in html parsing. Fixed compilation issue while using debug compilation. VRRP and Healthcheck framework extension to support debugging flags. Removed watchdog framework to use native scheduling signaling helpers.
2005-01-25
Release 1.1.8 - Enhancements
  Extended VRRP to support dont_track_primary, nopreempt, preempt_delay. Fixed some VRRP issues while stoping and/or reloading daemon. Extended netlink to support blocking request operations and non-blocking kernel reflections. Added SMTP checker. Extended MISC checker to support dynamic weight. Fixed some assertions issue, HTTP header parsing. Somes cosmetics fixes and typo.
2004-04-05
Release 1.1.7 - Minor Bug Fixes
  Added some assertion tests in memory framework. Fixed a VRRP issue using syncd configuration. Some cosmetics patches in Makefiles and autoconf. Jacob Rief put THC enabled release here. Thomas Halwax contributed writing a scripting framework for VRRP notify helpers.
2004-02-23
Release 1.1.6 - Bug Fixes
  Fixed a VRRP scheduling issues. Fixed a linkbeat issues. Extended ipvswrapper code to support 2.6 kernel IPVS code. Updated autoconf and Makefiles to support 2.6 kernel IPVS code. Extended VRRP dropping strategy to siliently drop bogus incoming adverts. Somes cosmetics patches.
2004-01-25
Release 1.1.5 - Enhancements
  Created Keepalived manpages. Fixed a VRRP length issue while testing password field for auth_pass method. Fixed a watchdog quick loop timer. Extended scheduler to support stable scheduling time. Updated default media link failure detection strategy. Some cosmetics cleanup.
2003-12-29
Release 1.1.4 - Enhancements
  Updated autoconf script. Extended daemon design to work-around the SMP forking issue. Extended media link failure detection to support linkwatch subsystem. Extended MII BMSR polling to be fully asynchronous. Optimized a VRRP timer computation. Some cosmetic patches. Wrote a small paper explaining LinkWatch design from Stefan Rompf, <sux <at> loplof <dot> de>.
2003-09-29
Release 1.1.3 - Enhancements
  Extended ip address framework to support broadcast ip address selection. Extended scheduling framework to support long timer and micro-sec second overlap. Extended VRRP and checkers frameworks to support new scheduling long timer. Added support to main daemon log_level selection. Extended HTTP checker to support non blocking read. Fixed a notify script issue. Extended scheduling framework to support child thread while computing global scheduling timer. Extended VRRP FSM to support BACKUP state notifiers and smtp_alert during VRRP initialization.
2003-09-08
Release 1.1.2 - Enhancements
  Extended healthchecker framework to support multiple checkers per realserver. Extended TCP, HTTP & SSL checkers to support binding selection. Reviewed the watchdog calling location, watchdog is reinitialized during a daemon reload event. Extended the global parser to support default handlers. Fixed some code dependencies. Extended VRRP ethtool code to detect ETHTOOL_GLINK availability. Fixed some VRRP IPSEC issues. Fixed a bug while setting static_ipaddress. Fixed a VRRP reloading issue introducing a noisy daemon crash.
2003-07-24
Release 1.1.1 - Bug fixes
 

Fixed a VRRP dereferencing pointer while processing configuration file reload. Fixed misc checker to perform server state according to checker result.

2003-07-22
Release 1.1.0 - High Performance extensions
 

This release is focused on VRRP high performance and optimizations. Added support to a global shared buffer for incoming advert handling. Added support to pre-allocated shared buffer for outgoing adverts. Extended socket pool design to support shared fd for outbound channel. Added support to static_ipaddress as global keyword. Extended track_interface to support multiple interface tracking. Review the instance lookup design to use o(1) scheduling design to reduce VRRP scheduling jitter using a customized hash index. Review the sync_group design to speed up synchronization using a pre-computed index. Optimized VRRP timer fd lookup using a one pass lookup. Bradley Baetz, extended the scheduler framework to support child process handling. Bradley Baetz, fixed the misc_check healthchecker using new thread child scheduling facility. Added support to a shared kernel netlink command channel. Extended logging code to support verbose log output. Extended gratuitous ARP code to support shared buffer and shared socket. Fixed a gratuitous ARP issue, extended the code for sending garp over device ipaddess belong to. Extended the ipaddress framework to point directly to interface reflected by netlink channel instead of storing device index. Extended VRRP scheduling timer computation to support timer auto-recalibration to provide overhead auto-adaptation. Extended VRRP scheduler to support fd hash table design, this speed up instance lookup while computing instance sands. Extended vrrp new socket creation to replace refreshed instance fd into fd hash table index. Extended vrrp framework to support blank virtual_ipaddress block. Extended watchdog framework to support polling delay selection via daemon command line. Extended the genhash code to support verbose output selection, command arg '-v' will generate a very verbose output. list library has been extended to support multi-sized list & specific element deletion. Some name clean-up, cosmetics extensions.

2003-05-19
Software Design Update
Updated the Software Design page to introduce new Keepalived internal design (watchdog, parser splitting, ..)
2003-05-12
Release 1.0.3 - Sponsorized by "Tiscover AG, The Travel Network"
 
spacer This release has been sponsorized by Tiscover AG, thanks go to their IT team and especially to Jacob Rief for design discussions and testing time. Please visit sponsor Homepage at www.tiscover.com. This release is a major daemon re-design to increase security and availability of Keepalived itself. The daemon is split into 3 process, one parent and 2 childrens. Parent monitor children availability. One children for VRRP and another for Healthcheckers. Added support to a modularized watchdog framework. Watchdog estart children if they die or enter scheduling deadloop. Splitted parsing keyword tree for each relevant daemon. Added dedicated syslog facility for each children. Modularized parser. Extended pidfile & memory framework. Fixed a virtual_server_group issue while reloading conf. Extended IPVS wrapper. Extended netlink code to support scope selection. Vince Worthington created the Keepalived-lvs-nat-director-proxyarp-firewall-howto.
2003-04-14
Release 1.0.2 - Sponsorized by "edNET internetworkingsolutions"
 
spacer This release has been sponsorized by edNET, thanks to them for supporting Keepalived project. Please visit sponsor homepage at www.ednet.co.uk. This release added support to virtual_server_group that provide support for real_server to belong to multiple virtual_server without launching a bunch of healthcheckers. Extended the differentiate configuration parser to support virtual_server_group differentiate entries and preserve IPVS working topology. Added support to IP address range support for virtual_server_group. SIGCHLD extension. Extended VRRP virtual_routes to support source route selection. Some cosmetics patches.
2003-03-18
Release 1.0.1 - Sponsorized by "Ecomdevel LLC"
 
spacer This release has been sponsorized by "Ecomdevel LLC", clever and open minded people here, please visit sponsor homepage at www.gigenet.com. Extended netlink kernel reflection to support routings. Added support to static_routes set/removed during daemon bootstrap/shutdown. Added support to virtual_routes set/removed according to VRRP FSM. Extended virtual_ipaddress and virtual_ipaddress_excluded block to specify dedicated device interface for each ipaddress. Added support to track_interface for interface state monitoring (same as HSRP). Rewrote the VRRP VIP & E-VIP memory representation. Optimized code dependence selection. Enhanced HTTP|SSL checkers to support 2KB buffer lenght GET query. Some cosmetics and code cleaning work.
2003-02-25
IETF Draft
  Wrote the draft-ietf-vrrp-ipsecah-spec paper to present VRRP stack implementation of IPSEC-AH authentication method.
2003-02-16
Website & Soft Design
  Reviewed the website design and created a documentation explaining the Keepalived internal software design.
2003-01-13
Release 1.0.0
 

This is the FIRST STABLE and production ready RELEASE. Enhanced initscript. Added support to ha_suspend. Extended real_server block to support notify_up and notify_down script launch. Set default realserver weight to 1. Fixed a layer4.c issue. Reviewed the SIGCHLD handler. Extended parser to support ecapsulated quoted string. More logging messages. Review HTTP|SSL retry code. Added VRRP sync_group smtp_alert support. Fixed some IPSEC_AH seq_num synchronizations. Extended the VRRP TSM. Some VRRP FSM state optimizations. Extended parser to support sync_group declaration before or after instances declarations. Created keepalived.conf.SYNOPSIS file to describe all keywords available.

2002-11-21
Release 0.7.6
  Created a common code lib. Rewrote the genhash utility. Review autoconf and Makefiles scripts. Created an html util lib. Extended HTTP and SSL checkers to support remote webserver HTTP header status_code. Modularized the md5sum stream handling for HTTP and SSL checkers. Fixed a premature socket fd close during SMTP notification in HTTP and SSL code. Rewrote the gratuitous ARP code. Some VRRP messages logging. Fixed an issue during VRRP packet building. Remove the previous VRRP ARP packet building. Rewrote the VRRP packet sending process. Extended the interface lib. Extended the VRRP code to support IPSEC-AH authentication. Optimize the VRRP TSM. Some cosmetics patches. Consider this release as a 1.0.0 STABLE release candidate code.
2002-09-18
Release 0.7.1
  Fixed a misc_check register issue.Extended ipfwwrapper to select ipchains setting or not. Added a gratuitous ARP delayed thread for VRRP MASTER state transition. Review the gratuitous ARP helper function to only send ARP when VRRP VIPs are set. Review the whole VRRP FSM to prevent against junky flapping issues. Added support to a Transition State Matrix (TSM) design to speed synchronization. Optimize the VRRP FAULT state fallback synchronization. Extended the VRRP smtp notifier to notify transition to MASTER or BACKUP states. Adam Fletcher created the LVS-NAT + Keepalived HOWTO.
2002-08-06
Release 0.6.10
  Fixed a VRRP VIPs reflection set flag issue. Fixed a VRRP framework code selection issue.
2002-08-01
Release 0.6.9
  Added support to reload configuration file on the fly on SIGHUP receive. Fixed some code dependencies. Added 2 new daemon arguments that permit to not release VRRP VIPs and IPVS topology on daemon stop. Fixed a MISC_CHECK forking issue. Review IPVS wrapper to use allocated IPVS rules. Extended keepalived.init redhat script to support restart and reload arguments. Fixed some typo. Some code cleanup.
2002-07-27
MASTER LVS website crashed down.
  Our primary LVS website has terribly crashed down !!! Horms offers vergenet temp hosting with a dynamic content replication provided by Super Sparrow technology. Set Keepalived website to sourceforge as backup location.
2002-07-16
Release 0.6.8
  Fixed a SMTP stream handling assertion. Added support to inhibit_on_failure for a real_server, this set real_server weight to 0 if checker report a failure. Added kernel check for netlink support.
2002-07-12
Release 0.6.7
  Rewrote the SMTP notifier framework to use strong FSM design. Extended the VRRP multicast membership subscription to not degrade global scheduling timer on retry. Fixed a buffer overflow during the sending advert interface binding process. Some more cosmetics patches.
2002-07-08
Release 0.6.6
  Fine the coding style. Review the code source tree. Review Makefile(s) for better code selection on libipvs and libipfwc, added code dependence
gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.