PDF资料:《keepalived the definitive guide》
keepalived已经接触了一段时间,它的配置文件格式熟记于心,但不了解配置中每一行参数的意义,至于其代码架构,完全是一窍不通。
编译keepalived的时候,需要注意,如果需要支持lvs的,一定要在./configure上加上参数"–with-kernel-dir=/usr/src/kernels/2.6.18-238.19.1.el5-x86_64"(不同系统内核不同)。
keepalived.conf文件是keepalived的唯一一份配置文件,结构清晰,现在自己注释一遍,加深自己的理解。
! Configuration File for keepalived
global_defs { #全局配置
notification_email { #指定keepalived故障时发送Email
xxxxxx@xxx.com #Email地址
# failover@firewall.loc
# sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1 #SMTP服务器,本地开启sendmail无需改动配置
smtp_connect_timeout 30
router_id LVS_DEVEL #运行keepalived机器的一个标识
}vrrp_instance VI_1 { #VRRP实例VI_1
state MASTER #初始值MASTER #选举的优先级,优先级大的为MASTER,BACKUP 备份服务上将100改为99interface eth0 #所绑定的网卡
virtual_router_id 51 #VRID标记(0~255)
priority 100 #优先级
advert_int 1 #检查间隔#nopreempt #不抢占,
authentication { #认证设置,只能在state为backup,且优先级高的主机上
auth_type PASS #认证方式PASS(另外一种HA)
auth_pass 1111
}
virtual_ipaddress { #虚拟ip
192.168.1.80
}
}virtual_server 192.168.1.80 8080 { #虚拟主机
delay_loop 6
lb_algo rr #LVS调度算法(rr|wrr|lc|wlc|lblc|sh|dh)
lb_kind DR #LVS群集模式(NAT|DR|TUN)
nat_mask 255.255.255.0 #mask
persistence_timeout 50 #会话保持时间
protocol TCP #使用协议real_server 192.168.1.81 8080 { #真实服务器
weight 1 #默认为1,0为不工作# inhibit_on_failure #服务器健康失败,将weight设置为0,而不删除
# notify_up #检测到服务器开启执行的脚本
# notify_down #检查服务器宕机执行的脚本
# SSL_GET { #SSL检查方式
# url {
# path /
# digest ff20ad2481f97b1754ef3e12ecd3a9cc
# }
# url {
# path /mrtg/
# digest 9b3a0c85a887a256d6939da88aabd8cd
# }
connect_timeout 13
nb_get_retry 3
delay_before_retry 3
# }# TCP_CHECK{ # TCP方式健康检测
# connect_port 80
# bindto 192.168.1.1
# connect_timeout 4
# }
}real_server 192.168.1.83 8080 {
weight 2
# HTTP_GET {
# url {
# path /testurl/test.jsp
# digest 640205b7b0fc66c1ea91c463fac6334c
# }
# url {
# path /testurl2/test.jsp
# digest 640205b7b0fc66c1ea91c463fac6334c
# }
connect_timeout 13
nb_get_retry 3
delay_before_retry 3
# }
}
}