zoukankan      html  css  js  c++  java
  • IP Failover Setup using Keepalived on CentOS/Redhat 6

    source url:http://tecadmin.net/ip-failover-setup-using-keepalived-on-centos-redhat-6/

    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 following command to install required packages to configure Keepalived on 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.

    vrrp_instance VI_1 {
    interface eth1
    state MASTER
    virtual_router_id 10
    priority 101   # 101 on master, 100 on backup
    virtual_ipaddress {
    192.168.10.121
    }
    }
    
    Step 4: Configure Keepalived on LB2.

    Edit Keepalived configuration file on LB2 and add following configuration.

    vrrp_instance VI_1 {
    interface eth1
    state BACKUP
    virtual_router_id 10
    priority 100   # 101 on master, 100 on backup
    virtual_ipaddress {
    192.168.10.121
    }
    }
    
    Note: 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 following command and also configure to auto start on system boot.

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

    By default virtual ip will assigned to master server, In case of master get down, it will automatically assigned to slave server. Use following command to show assigned virtual ip on interface.

    # ip addr show eth1
    

    Sample output

    2: eth1: <broadcast,multicast,up,lower_up> 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
    
    Verify IP Failover

    1. Shutdown master server ( LB1 ) and check if ips are automatically assigned to slave server.

    # ip addr show eth1
    

    2. Now start LB1 and stop slave server ( LB2 ). IPs will automatically assigned to master server.

    # ip addr show eth1
    

    3. 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.

  • 相关阅读:
    Ehcache缓存回收策略
    [字符编码]Invalid byte 1 of 1byte UTF8
    JavaScript 单例模式
    Java程序员应该了解的10个设计原则
    医疗基本知识之医嘱篇(二)医嘱组成及规范
    VC++ (三)虚函数与重载
    VC++ (一)类的强制转换
    还是一个医学伦理问题,医疗费用高怪谁?
    电子病历开发经验共享 —— 2009年一时兴起写在某个论坛上的,转抄留恋。
    VC++ (二)类的访问级别
  • 原文地址:https://www.cnblogs.com/davidwang456/p/3378561.html
Copyright © 2011-2022 走看看