Keepalived is a very handy piece of ops-sauce. Dash some on your operations project and it adds a bit of tangy high availability and an aroma of robust fail-over.
It implements a VRRPv2 stack to handle LVS director failover and acts as a userspace daemon for LVS cluster nodes healthchecks and LVS directors failover.
While trying to reverse engineer how a previous co-worker setup a MySQL load balancing scheme using keepalived I discovered how difficult it was to find rpms for it (I found 1.1.10 out there). I’ll be posting later on the MySQL HA scheme later.
I tried building the latest version (1.2.2) which continually broke in RHEL5 (despite there being a RHEL6 rpm)… so I gave in and built the latest version of the previous release (1.1.20).
Here we go…
Setup your rpm build environment.
sudo yum -y install rpmdevtools kernel-devel openssl-devel rpmdev-setuptree
wget http://www.keepalived.org/software/keepalived-1.1.20.tar.gz \ -O ~/rpmbuild/SOURCES/keepalived-1.1.20.tar.gz wget https://raw.github.com/nmilford/specfiles/master/keepalived-1.1/keepalived-1.1.spec \ -O ~/rpmbuild/SPECS/keepalived-1.1.spec
rpmbuild -bb ~/rpmbuild/SPECS/keepalived-1.1.spec
sudo rpm -Uvh ~/rpmbuild/RPMS/x86_64/keepalived-1.1-1.1.20-1.x86_64.rpm
From here you can follow the keepalived tutorial.