How to configure keepalived service in CentOS 6/7

Keepalived is a service in Linux to manage the failover between two servers. You can deploy this service in High-viability environment where your public interface IP(Virtual IP address) need to switch between two server when one goes down.
Requirement
Server1 ip address : 192.168.35.147
Server2 ip address: 192.168.35.144
Virtual ip address: 192.168.35.150

Install dependency package on both server
# yum install gcc kernel-headers kernel-devel

Install keepalived package on both server
# yum install keepalived

Configure keepalived on server1
# vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}

vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 101
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.35.150
}
}
Configure keepalived on server2
# vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}

vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.35.150
}
}

Start service on both server (On CentOS 6)
# service keepalived start
# chkconfig keepalived on

Start service on both server (On CentOS 7)
#sysctemctl start keepalived
#systemctl enabled keepalived

To test the keepliaved service configure apache service on both server.
# yum install httpd

Start apache service (On CentOS 6)
# service httpd start
#chkconfig httpd on

Start apache service (On CentOS 7)
#systemctl start httpd
#systemctl enabled httpd

Now access server using virtual ip which you defined in configuration file

 

Leave a Reply

Your email address will not be published. Required fields are marked *

*
*