下面是keepalived详细配置文件解析:

[root@localhost kernels]# cat /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_sync_group VGM {  //定义一个vrrp组 
group { 
VI_1 


vrrp_instance VI_1 {    //定义vrrp实例 
state MASTER        //主LVS是MASTER,从的BACKUP 
interface eth0      //LVS监控的网络接口 
virtual_router_id 51  //同一实例下virtual_router_id必须相同 
priority 100            //定义优先级,数字越大,优先级越高 
advert_int 5          //MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒 
authentication {      //验证类型和密码 
auth_type PASS 
auth_pass 1111

virtual_ipaddress {    //虚拟IP 
192.168.1.8
#        192.168.1.9    //如果有多个,往下加就行了 
#        192.168.1.7


virtual_server 192.168.1.8 80 {    //定义虚拟服务器 
delay_loop 6                  //健康检查时间,单位是秒 
lb_algo rr              //负载调度算法,这里设置为rr,即轮询算法 
lb_kind DR              //LVS实现负载均衡的机制,可以有NAT、TUN和DR三个模式可选 
persistence_timeout 50        //会话保持时间,单位是秒(可以适当延长时间以保持session) 
protocol TCP                  //转发协议类型,有tcp和udp两种 
sorry_server 127.0.0.1 80      //web服务器全部失败,vip指向本机80端口 
real_server 192.168.1.16 80 {  //定义WEB服务器 
weight 1                  //权重 
TCP_CHECK {                //通过tcpcheck判断RealServer的健康状态 
connect_timeout 5      //连接超时时间 
nb_get_retry 3        //重连次数 
delay_before_retry 3  //重连间隔时间 
connect_port 80        //检测端口 


real_server 192.168.1.17 80 { 
weight 1
TCP_CHECK { 
connect_timeout 5
nb_get_retry 3
delay_before_retry 3
connect_port 80

}

实例:

vim /etc/keepalived/keepalived.conf

vrrp_instance VI_1 {

    state MASTER    # 备用用 BACKUP

    interface eth2   #用的是哪个网卡

    virtual_router_id 51  #虚拟路由地址必须一样,才能配置成一个组

    priority 100   # 备用用 90

    advert_int 1  #MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒

    authentication {

        auth_type PASS  #(密码形式)

        auth_pass 1111

    }

    virtual_ipaddress {

        192.168.32.100

    }

}

virtual_server 192.168.32.100 80 {

    delay_loop 6    #每隔6s 查询 realserver 状态

    lb_algo rr    #lvs 算法

    lb_kind NAT     #Direct Route

    persistence_timeout 60    #会话保持时间,单位是秒(可以适当延长时间以保持session)

    protocol TCP     # 用 TCP协议检查 realserver 状态

    real_server 192.168.32.85 80 {

        weight 1

          TCP_CHECK {

              connect_timeout 10   #10s 无响应超时

               nb_get_retry 3

               delay_before_retry 3

               connect_port 80

          }

    }

   #  real_server 192.168.32.86 80 {

        weight 2

          TCP_CHECK {

              connect_timeout 10   #10s 无响应超时

               nb_get_retry 3

               delay_before_retry 3

               connect_port 80

          }

    }

   #

}

使用源码先安装keepalived 1.2.6:

cd /usr/src

wget  http://www.keepalived.org/software/keepalived-1.2.13.tar.gz

tar zxf keepalived-1.2.13.tar.gz 

cd keepalived-1.2.13

./configure --prefix=/usr/local/keepalived 

make

make install

1.  建立服务启动脚本,以便使用service命令控制之 

cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived

chmod +x /etc/init.d/keepalived

因为我们使用非默认路径(/usr/local)安装keepalived, 故需要修改几处路径,以保证keepalived能正常启动, 需要修改的文件如下:

2. 修改/etc/init.d/keepalived, 寻找大约15行左右的. /etc/sysconfig/keepalived, 修改为:

sed -i "15d;14a . /usr/local/keepalived/etc/sysconfig/keepalived" /etc/init.d/keepalived 

同时在上述行下添加以下内容(将keepavlied主程序所在路径导入到环境变量PATH中):

sed -i '15a PATH="$PATH:/usr/local/keepalived/sbin"' /etc/init.d/keepalived 

sed -i '16a export PATH' /etc/init.d/keepalived

3. 修改/usr/local/keepalived/etc/sysconfig/keepalived文件,设置正确的服务启动参数 

sed -i '14d;13a KEEPALIVED_OPTIONS="-D -f /etc/keepalived/keepalived.conf"' /usr/local/keepalived/etc/sysconfig/keepalived

mkdir /etc/keepalived/

cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf

4. 经过以上修改,keepalived基本安装即可完成,启动测试之: 
service keepalived start

5. 切勿忘记将此服务设置为开机启动

chkconfig keepalived on