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 # [email protected] # [email protected] } notification_email_from [email protected] 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改为99 interface 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 # } # } }
本文转自 yntmdr 51CTO博客,原文链接:http://blog.51cto.com/yntmdr/1588316,如需转载请自行联系原作者