Keepalived

VRRP failover and IPVS load balancing that keeps a Linux service alive when a node dies

Repository activity
  • Stars4.6k
  • Forks770
  • Open Issues55
acassen-keepalived health score - Linux Foundation Insights
License

GPL-2.0

Languages
  • C
  • M4
  • Shell
Keepalived screenshot

About Keepalived

Keepalived solves two problems that go together in production Linux infrastructure: spreading traffic across servers and surviving the loss of one of them. For the first it drives the kernel's IPVS module to do Layer 4 load balancing; for the second it speaks VRRP, so a floating virtual IP moves to a standby node the instant the active one fails.

The two halves reinforce each other. Health checkers pull dead backends out of the IPVS pool automatically, while BFD detects link failure fast enough to trigger failover before clients notice. You can run the load-balancing and high-availability frameworks separately or wire them together, and hooks into the VRRP state machine let you react to transitions.

Written in C and maintained by Alexandre Cassen, Keepalived builds from source and runs locally on Linux with no hosted dependencies. GPL-2.0 licensed, with an OpenSSL Toolkit exception.

Key features

  • L4 load balancing via the kernel IPVS module
  • VRRP failover with a floating virtual IP
  • Health checkers that prune dead backends from the pool
  • BFD for fast network failure detection
  • Hooks into the VRRP state machine

Details

First released
2012
Platforms
Linux
Deployment
Self-hostable
Language
C
Layer
L4 (LVS/IPVS) · VRRP failover
License
GPL-2.0