Difference between revisions of "Keepalived"

(Created page with ' test1:~# apt-get install keepalived dpkg-reconfigure ipvsadm answer Yes, Backup global_defs { router_id OX } vrrp_sync_group OX_GROUP { group { OX_G...')
 
Line 1: Line 1:
 +
Directors setup
 +
 
  test1:~# apt-get install keepalived  
 
  test1:~# apt-get install keepalived  
 
  dpkg-reconfigure ipvsadm
 
  dpkg-reconfigure ipvsadm
Line 99: Line 101:
 
     }
 
     }
 
  }
 
  }
 +
 +
 +
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

Revision as of 18:39, 4 November 2009

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