--VRRP脚本范例 vrrp_script check_running { script “/usr/local/bin/check_running” interval 10 weight 10}vrrp_instance http { state BACKUP smtp_alert interface eth0 virtual_router_id 101 priority 90 advert_int 3 authentication { auth_type PASS auth_pass whatever } virtual_ipaddress { 1.1.1.1 } track_script { check_running weight 20 }} 首先在vrrp_script区域定义脚本名字和脚本执行的间隔和脚本执行的优先级变更vrrp_script check_running { script “/usr/local/bin/check_running”interval 10 #脚本执行间隔weight 10 #脚本结果导致的优先级变更:10表示优先级+10;-10则表示优先级-10} 然后在实例(vrrp_instance)里面引用,有点类似脚本里面的函数引用一样:先定义,后引用函数名 track_script {check_running weight 20} 注意:VRRP脚本(vrrp_script)和VRRP实例(vrrp_instance)属于同一个级别 3)LVS配置如果你没有配置LVS+keepalived,那么无需配置这段区域,如果你用的是nginx来代替LVS,这无需配置这款,这里的LVS配置是专门为keepalived+LVS集成准备的。注意了,这里LVS配置并不是指真的安装LVS然后用ipvsadm来配置它,而是用keepalived的配置文件来代替ipvsadm来配置LVS,这样会方便很多,一个配置文件搞定这些,维护方便,配置方便是也!这里LVS配置也有两个配置一个是虚拟主机组配置一个是虚拟主机配置 1--虚拟主机组配置文件详解这个配置是可选的,根据需求来配置吧,这里配置主要是为了让一台realserver上的某个服务可以属于多个Virtual Server,并且只做一次健康检查:virtual_server_group <STRING> { # VIP port <IPADDR> <PORT> <IPADDR> <PORT> fwmark <INT> } 2--虚拟主机配置virtual server可以以下面三种的任意一种来配置:a)virtual server IP portb)virtual server fwmark intc)virtual server group string 下面以第一种比较常用的方式来配详细解说一下: virtual_server 192.168.1.2 80 { #设置一个virtual server: VIP:Vportdelay_loop 3 # service polling的delay时间,即服务轮询的时间间隔 lb_algo rr|wrr|lc|wlc|lblc|sh|dh #LVS调度算法lb_kind NAT|DR|TUN #LVS集群模式 persistence_timeout 120 #会话保持时间(秒为单位),即以用户在120秒内被分配到同一个后端realserverpersistence_granularity <NETMASK> #LVS会话保持粒度,ipvsadm中的-M参数,默认是0xffffffff,即每个客户端都做会话保持protocol TCP #健康检查用的是TCP还是UDPha_suspend #suspendhealthchecker’s activityvirtualhost <string> #HTTP_GET做健康检查时,检查的web服务器的虚拟主机(即host:头) sorry_server <IPADDR> <PORT> #备用机,就是当所有后端realserver节点都不可用时,就用这里设置的,也就是临时把所有的请求都发送到这里啦 real_server <IPADDR> <PORT> #后端真实节点主机的权重等设置,主要,后端有几台这里就要设置几个{weight 1 #给每台的权重,0表示失效(不知给他转发请求知道他恢复正常),默认是1inhibit_on_failure #表示在节点失败后,把他权重设置成0,而不是冲IPVS中删除 notify_up <STRING> | <QUOTED-STRING> #检查服务器正常(UP)后,要执行的脚本notify_down <STRING> | <QUOTED-STRING> #检查服务器失败(down)后,要执行的脚本HTTP_GET #健康检查方式{url { #要坚持的URL,可以有多个path / #具体路径digest <STRING> status_code 200 #返回状态码}connect_port 80 #监控检查的端口 bindto <IPADD> #健康检查的IP地址connect_timeout 3 #连接超时时间nb_get_retry 3 #重连次数delay_before_retry 2 #重连间隔} # END OF HTTP_GET|SSL_GET
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2730/viewspace-3123157/
,如需转载,请注明出处,否则将追究法律责任。