编译安装keepalived

haproxy+keepalived实现高可用负载均衡

keepalived
优点:简单
缺点最主要配合没有数据同步的高可用功能,如数据库,存储(两台服务器要是有数据同步就会比较弱)

编译安装

keepalived下载地址

yum install popt-devel -y
tar xf keepalived-1.2.7.tar.gz 
cd keepalived-1.2.7 
./configure --prefix=/application/keepalived-1.2.7
make && make install
ln -s /application/keepalived-1.2.7/ /application/keepalived
cp /application/keepalived/sbin/keepalived /usr/bin
cp /application/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
cp /application/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
cp -a /application/keepalived/etc/keepalived /etc/

lb01

! Configuration File for keepalived

global_defs {
   notification_email {
   295782805@qq.com
   }
   notification_email_from  295782805@qq.com
   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 150
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
     10.0.0.3/24 dev eth0 label eth0:1
    }
}

lb02

! Configuration File for keepalived

global_defs {
   notification_email {
   295782805@qq.com
   }
   notification_email_from  295782805@qq.com
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL1
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
     10.0.0.3/24 dev eth0 label eth0:1
    }
}  

实验结果 

证明VIP虚拟IP漂移

VIP在lb01上的时候,通过web08去curlVIP, tailf /application/nginx/logs/access_www.log 记录如下内容

[root@lb01-5 ~]# ip a|grep 0.3
    inet 10.0.0.3/24 scope global secondary eth0:1

[root@web01-8 ~]# for i in `seq 10`;do curl 10.0.0.3;done

[root@web02-7 ~]# tailf /application/nginx/logs/access_www.log 
10.0.0.5 - - [14/Apr/2017:10:07:21 +0800] p_ratio"GET / HTTP/1.0" 200 241 "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.21 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2" "-"
10.0.0.5 - - [14/Apr/2017:10:07:21 +0800] p_ratio"GET / HTTP/1.0" 200 241 "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.21 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2" "-"
10.0.0.5 - - [14/Apr/2017:10:07:21 +0800] p_ratio"GET / HTTP/1.0" 200 241 "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.21 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2" "-"
10.0.0.5 - - [14/Apr/2017:10:07:21 +0800] p_ratio"GET / HTTP/1.0" 200 241 "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.21 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2" "-"
10.0.0.5 - - [14/Apr/2017:10:07:21 +0800] p_ratio"GET / HTTP/1.0" 200 241 "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.21 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2" "-"

当服务器lb01宕机,虚拟IP漂移到lb02上,通过web08去curlVIP, tailf /application/nginx/logs/access_www.log 记录如下内容

[root@lb02-6 ~]# ip a|grep 0.3
      inet 10.0.0.3/24 scope global secondary eth0:1

[root@web01-8 ~]# for i in `seq 10`;do curl 10.0.0.3;done

[root@web02-7 ~]# > /application/nginx/logs/access_www.log
[root@web02-7 ~]# tailf /application/nginx/logs/access_www.log
10.0.0.6 - - [14/Apr/2017:10:16:24 +0800] p_ratio"GET / HTTP/1.0" 200 241 "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.21 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2" "-"
10.0.0.6 - - [14/Apr/2017:10:16:24 +0800] p_ratio"GET / HTTP/1.0" 200 241 "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.21 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2" "-"
10.0.0.6 - - [14/Apr/2017:10:16:24 +0800] p_ratio"GET / HTTP/1.0" 200 241 "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.21 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2" "-"
10.0.0.6 - - [14/Apr/2017:10:16:24 +0800] p_ratio"GET / HTTP/1.0" 200 241 "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.21 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2" "-"
10.0.0.6 - - [14/Apr/2017:10:16:24 +0800] p_ratio"GET / HTTP/1.0" 200 241 "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.21 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2" "-"

 

posted @ 2017-04-01 01:22  reborn枪  阅读(212)  评论(0)    收藏  举报