下面是keepalived详细配置文件解析:web
[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
实例:服务器
vim /etc/keepalived/keepalived.conf网络
vrrp_instance VI_1 {session
state MASTER # 备用用 BACKUP负载均衡
interface eth2 #用的是哪一个网卡tcp
virtual_router_id 51 #虚拟路由地址必须同样,才能配置成一个组ide
priority 100 # 备用用 90oop
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