Keepalived
From Open-Xchange
Directors setup
test1:~# apt-get install keepalived dpkg-reconfigure ipvsadm
answer Yes, Backup
global_defs {
router_id OX
}
vrrp_sync_group OX_GROUP {
group {
OX_GOUP
}
}
vrrp_instance OX_VRRP {
state BACKUP
interface eth0
garp_master_delay 10
virtual_router_id 10
priority 101
nopreempt
advert_int 1
authentication {
auth_type AH # Simple 'PASS' can use
auth_pass 1234 # example password '1234'
}
virtual_ipaddress {
10.20.30.77/24 brd 10.20.30.255 dev eth0 # virtual service ip 10.20.30.67
}
virtual_ipaddress_excluded {
}
}
virtual_server_group OX_HTTP {
10.20.30.77 80 # virtual ip and port 80
}
virtual_server_group OX_OL_PUSH {
10.20.30.77 44335 # VIP VPORT
}
virtual_server group OX_WEB {
delay_loop 3
lvs_sched rr
lvs_method DR
protocol TCP
virtualhost 10.20.30.77
real_server 10.20.30.123 80 {
weight 1
inhibit_on_failure
HTTP_GET {
url {
path /servlet/TestServlet
status_code 200
}
connect_port 80
connect_timeout 10
}
}
real_server 10.20.30.321 80 {
weight 1
inhibit_on_failure
HTTP_GET {
url {
path /servlet/TestServlet
status_code 200
}
connect_port 80
connect_timeout 10
}
}
}
virtual_server group OX_OL_PUSH {
delay_loop 3
lvs_sched rr
lvs_method DR
protocol UDP
real_server 10.20.30.123 44335 {
weight 1
inhibit_on_failure
TCP_CHECK {
connect_port 9999
connect_timeout 5
}
}
real_server 10.20.30.321 44335 {
weight 1
inhibit_on_failure
TCP_CHECK {
connect_port 9999
connect_timeout 5
}
}
}
Real Servers setup
#! /bin/sh set -x IP=10.20.30.77 echo 0 > /proc/sys/net/ipv4/conf/lo/rp_filter echo 1 > /proc/sys/net/ipv4/ip_forward echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce /sbin/ifconfig lo:0 $IP netmask 255.255.255.255 broadcast $IP up /sbin/route add -host $IP dev lo:0