Corosync and HA-proxy

We will use corosync to create a virtual IP-address which is shared by two systems. One of the systems has the virtual IP-address. If the system goes down, the other system will take over the virtual IP-address. HA-proxy will be running on each of the hosts relaying incoming HTTP-requests to two webservers.

Software

apt-get install corosync haproxy crmsh

Configuration

Add the local network and a multicast address to /etc/corosync/corosync.conf in the interface section

interface {
        bindnetaddr: 192.168.1.0 
        mcastaddr: 239.192.1.1
}

Restart corosync to load the new configuration.

service corosync restart

Commmands

Run the following on startup

Configuration

Apache

Add the following to /etc/haproxy/haproxy.cfg

listen webfarm 
        bind www:80
        mode http
        balance roundrobin
        cookie LBN insert indirect nocache
        option httpclose
        option forwardfor
        server haproxy01 www01:80 cookie node1 check
        server haproxy02 www02:80 cookie node2 check