LVS+keepalived+HTTPD 集群

VIP:192.168.59.110

realIP-1:192.168.59.230

realIP-2:192.168.59.231

安装:略

配置keepalived

 vi /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
   notification_email {
     [email protected]
     [email protected]
     [email protected]
   }
##   notification_email_from [email protected]
##   smtp_server 192.168.200.1
##   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_MYSQL {
    state MASTER   ## 主备库都是BACKUP,防止主库重启后,抢夺VIP资源
    interface eth0  ## HA地址网卡
    virtual_router_id 55
    priority 100  ## 优先级,主库比备库高
    nopreempt ## 非抢夺,在主库上配置,表示不抢夺VIP
    advert_int 1  ## 主备心跳检查间隔
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {  ## VIP,主备库一样
        192.168.59.110
    }
}

virtual_server 192.168.59.110 80{
    delay_loop 6
    lb_algo wrr
    lb_kind DR
    persistence_timeout 60
    protocol TCP

    real_server 192.168.59.230 80 {
        weight 1
        TCP_CHECK {
           connect_timeout 3
           connect_port 80
        }
    }

    real_server 192.168.59.231 80 {
        weight 2
        TCP_CHECK {
           connect_timeout 3
           connect_port 80
        }
    }
}

重从启keepalived

service keepalived restart

查看keepalived日志

tail -f /var/log/message

在real server建立一个LVS脚本lvs.sh

#!/bin/bash
# description: Config realserver lo and apply noarp
#Written by :NetSeek http://www.linuxtone.org

SNS_VIP=192.168.59.110

/etc/rc.d/init.d/functions

case "$1" in
        start)
        ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
        /sbin/route add -host $SNS_VIP dev lo:0
        echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
        echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
        echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
        echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
        sysctl -p >/dev/null 2>&1
        echo "RealServer Start OK"
        ;;
    stop)
        ifconfig lo:0 down
        route del $SNS_VIP >/dev/null 2>&1
        echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
        echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
        echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
        echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
        echo "RealServer Stoped"
        ;;
    *)
        echo "Usage: $0 {start|stop}"
        exit 1
esac

chmod 777 lvs.sh

./lvs.sh start

回到LVS SERVER上看看keepalived的日志,应该能看到类似下面的信息:

TCP connection to [192.168.59.230]:80 success.

现在你可以做访问测试了!

猜你喜欢

转载自wen19851025.iteye.com/blog/2204554