Basic failover for local Redis instances with Keepalived
Switch branches/tags
Nothing to show
Pull request Compare This branch is 3 commits behind aw:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Usage Options:

  • -m promote the redis-server to MASTER
  • -s promote the redis-server to SLAVE
  • -k start the redis-server and promote it to MASTER


  • Redis 2.2.12
  • Keepalived 1.1.20

Redis Setup:

useradd -m -U redis
chmod 750 /home/redis
cd /home/redis
sudo -u redis git clone redis.git
cd redis.git
git checkout 2.2.12
sudo make


  • MASTER/SLAVE config: /home/redis/redis-mdb.conf (runs on port 6379)

How it works:

  • Keepalived runs on the Redis MASTER and SLAVE servers
  • The Redis MASTER binds the IP
  • The Redis SLAVE connects to a Master server which has the IP
  • Keepalived handles checking and runs a script if a server is online or offline
  • This script will handle starting Redis promoting it to MASTER or SLAVE


This has NOT been tested in a production environment, use at your own risk