环境:LVS+keepalived

前期,安装相关包:

yum -y installopenssl-devel  

进行安装

[root@RServer2 soft]# wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz  

[root@RServer2 soft]# wget http://www.keepalived.org/software/keepalived-1.1.17.tar.gz  

[root@RServer2 soft]#ln -s /usr/src/kernels/2.6.32-71.el6.i686/ /usr/src/linux  

[root@RServer2 soft]# tar -zxvf ipvsadm-1.24.tar.gz  

[root@RServer2 soft]# cd ipvsadm-1.24  

[root@RServer2 ipvsadm-1.24]# make;make install  

[root@RServer2 ipvsadm-1.24]# cd ..  

[root@RServer2 soft]# tar -zxvf keepalived-1.1.17.tar.gz  

[root@RServer2 soft]# cd keepalived-1.1.17  

[root@RServer2 soft]# ./configure  

[root@RServer2 keepalived-1.1.17]# make;make install  

下面是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
}
}
}