vrrp – TecAdmin https://tecadmin.net How to guide for System Administrator's and Developers Tue, 07 Nov 2017 10:00:12 +0000 en-US hourly 1 https://wordpress.org/?v=6.1.1 IP FailOver Setup Using KeepAlived on CentOS & Red Hat https://tecadmin.net/ip-failover-setup-using-keepalived-on-centos-redhat/ https://tecadmin.net/ip-failover-setup-using-keepalived-on-centos-redhat/#comments Thu, 19 Sep 2013 06:38:45 +0000 https://tecadmin.net/?p=630 Keepalived is used for IP failover between two servers. It facilities for load balancing and high-availability to Linux-based infrastructures. It works on VRRP ( Virtual Router Redundancy Protocol ) protocol. We have running two load balance servers using HAProxy and now we need to implement VRRP between both servers. This tutorial will help you to [...]

The post IP FailOver Setup Using KeepAlived on CentOS & Red Hat appeared first on TecAdmin.

]]>
Keepalived is used for IP failover between two servers. It facilities for load balancing and high-availability to Linux-based infrastructures. It works on VRRP ( Virtual Router Redundancy Protocol ) protocol. We have running two load balance servers using HAProxy and now we need to implement VRRP between both servers. This tutorial will help you to configure KeepAlived, Use this tutorial to configure HAProxy on both servers.

Network Scenario:
    1. LB1 Server: 192.168.10.111 ( eth1 )
    2. LB2 Server: 192.168.10.112 ( eth1 )
    3. Virtual IP: 192.168.10.121

Now we are implementing ip failover setup between LB1 and LB2 servers.

Graphical representation of Fail over Setup:

keepalived-vrrp-network

Step 1 – Install Required Packages

Use the following command to install required packages to configure Keepalived on the server.

# yum install gcc kernel-headers kernel-devel
Step 2 – Install Keepalived

Keepalived is available in centos base repository. Install it using yum command line tool.

# yum install keepalived

Keepalived configuration File: /etc/keepalived/keepalived.conf

Step 3 – Configure Keepalived on LB1

Edit Keepalived configuration file on LB1 and add following configuration. Update all red highlighted values with your network and system configuration.

! Configuration File for keepalived

global_defs {
   notification_email {
     sysadmin@mydomain.com
     support@mydomain.com
   }
   notification_email_from lb1@mydomain.com
   smtp_server localhost
   smtp_connect_timeout 30
}

vrrp_instance VI_1 {
    state MASTER
    interface eth1
    virtual_router_id 51
    priority 101
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.10.121
    }
}
Step 4 – Configure KeepAlived on LB2

Edit Keepalived configuration file on LB2 and add following configuration. While making changes in LB2 configuration file, make sure to set priority values to lower than LB1. For example below configuration is showing 100 priority value than LB1 has it 101.

! Configuration File for keepalived

global_defs {
   notification_email {
     sysadmin@mydomain.com
     support@mydomain.com
   }
   notification_email_from lb2@mydomain.com
   smtp_server localhost
   smtp_connect_timeout 30
}

vrrp_instance VI_1 {
    state MASTER
    interface eth1
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.10.121
    }
}
1. Priority value will be higher on Master server, It doesn’t matter what you used in state. If your state is MASTER but your priority is lower than the router with BACKUP, you will lose the MASTER state.
2. virtual_router_id should be same on both LB1 and LB2 servers.
3. By default single vrrp_instance support up to 20 virtual_ipaddress. In order to add more addresses you need to add more vrrp_instance
Step 5 – Start KeepAlived

Start KeepAlived service using the following command and also configure to autostart on system boot.

# service keepalived start
# chkconfig keepalived on
Step 6 – Check Virtual IPs

By default virtual IP will be assigned to master server, In case of master gets down, it will automatically assign to the slave server. Use the following command to show assigned virtual IP on the interface.

# ip addr show eth1

Sample output

2: eth1:  mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:0c:29:6f:ed:60 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.111/24 brd 192.168.1.255 scope global eth1
    inet 192.168.10.121/32 scope global eth1
    inet6 fe80::20c:29ff:fe6f:ed60/64 scope link
       valid_lft forever preferred_lft forever
Step 7 – Verify IP Failover

Follow the below process to test keepalived failover is working correctly.

  • Shutdown master server ( LB1 ) and check if ips are automatically assigned to the slave server.
    # ip addr show eth1
    
  • Now start LB1 and stop slave server ( LB2 ). IPs will automatically be assigned to master server.
    # ip addr show eth1
    
  • Watch log files to insure its working
    # tailf /var/log/messages
    

    Sample Output

    Mar 19 17:30:24 localhost Keepalived_vrrp[6958]: VRRP_Instance(VI_1) Transition to MASTER STATE
    Mar 19 17:30:25 localhost Keepalived_vrrp[6958]: VRRP_Instance(VI_1) Entering MASTER STATE
    Mar 19 17:30:25 localhost Keepalived_vrrp[6958]: VRRP_Instance(VI_1) setting protocol VIPs.
    Mar 19 17:30:25 localhost Keepalived_healthcheckers[6957]: Netlink reflector reports IP 192.168.10.121 added
    Mar 19 17:30:25 localhost avahi-daemon[1407]: Registering new address record for 192.168.10.121 on eth1.IPv4.
    Mar 19 17:30:25 localhost Keepalived_vrrp[6958]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth1 for
    

I hope this article will help to setup IP failover between two load balance servers.

The post IP FailOver Setup Using KeepAlived on CentOS & Red Hat appeared first on TecAdmin.

]]>
https://tecadmin.net/ip-failover-setup-using-keepalived-on-centos-redhat/feed/ 16
How to Enable Email Alerts in Keepalived https://tecadmin.net/how-to-enable-email-alerts-in-keepalived/ https://tecadmin.net/how-to-enable-email-alerts-in-keepalived/#comments Tue, 19 Mar 2013 10:43:07 +0000 https://tecadmin.net/?p=642 Its a good practice to enable email alerts in your keepalived configuration. By using this keepalived service will always inform users whenever server switches from master to slave or slave to master for each VRRP instance. Below steps will help you to how to enable email alerts in Keepalived. Steps to enable email alerts: Step [...]

The post How to Enable Email Alerts in Keepalived appeared first on TecAdmin.

]]>
Its a good practice to enable email alerts in your keepalived configuration. By using this keepalived service will always inform users whenever server switches from master to slave or slave to master for each VRRP instance. Below steps will help you to how to enable email alerts in Keepalived.

Steps to enable email alerts:

Step 1: Edit keepalived configuration file.

# /etc/keepalived/keepalived.conf

Step 2: Add below entry in global settings.

global_defs {
	notification_email {
        support@tecadmin.net
	}
  notification_email_from lb-alert@tecadmin.net
  smtp_server mail.tecadmin.net
  smtp_connect_timeout 30
# ...... Other configuration here .......
}

Step 3: Add smtp_alert in each VRRP instances.

vrrp_instance VI_1 {
# ...... Other configuration here .......
smtp_alert
# ...... Other configuration here .......
}

Step 4: Restart keepalived service.

# service keepalived restart

Step 5: Email alerts will be like below.

>> When VRRP instance goes to master state

Subject: [hostname] VRRP Instance VI_1 - Entering MASTER state
Message: => VRRP Instance is now owning VRRP VIPs <=

>> When VRRP instance goes to slave state

Subject: [hostname] VRRP Instance VI_1 - Entering SLAVE state
Message: => VRRP Instance is nolonger owning VRRP VIPs <=

Thanks for reading this article, I hope it will help you to enable email alerts in keepalived.

The post How to Enable Email Alerts in Keepalived appeared first on TecAdmin.

]]>
https://tecadmin.net/how-to-enable-email-alerts-in-keepalived/feed/ 1