keepalived配置lvs部分的状态检测

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
总结以下几种方式: 
# HTTP_GET | SSL_GET | TCP_CHECK | SMTP_CHECK | MISC_CHECK
 
virtual_server 192.168.5.100 6767 {    #设置虚拟服务器,需要指定虚拟IP地址和服务端口,IP与端口之间用空格隔开
    delay_loop 6                     #设置运行情况检查时间,单位是秒
    lb_algo rr                       #设置负载调度算法,这里设置为rr,即轮询算法
    lb_kind DR                       #设置LVS实现负载均衡的机制,有NAT、TUN、DR三个模式可选
    persistence_timeout 50           #会话保持时间,单位是秒。
    protocol TCP                     #指定转发协议类型,有TCP和UDP两种
 
    real_server ip port {  
         xxx
     }
     
    
}
 
一、HTTP_GET
 
1)使用digest,genhash可以得到 hash
     # genhash -s rip -p port -u url
     # genhash -s 10.0.205.2 -p 80 -u /index.html
 
     real_server 10.0.205.2 80 {
       weight 1
 
       HTTP_GET {                 
         url {
           path  /index .html
           digest e93e7f6cfbc7c343707f21e2f681dd31
         }
         connect_timeout 3                # 连接超时时间,秒
         nb_get_retry 3                   # 失败重试次数,超过后移除
         delay_before_retry 3             # 失败重试间隔,秒
       }
     }
 
 
2)使用status_code
     real_server 192.168.5.101 6768 {
       weight 1
       
         HTTP_GET {
             url {
                 path /
                 status_code 200
             }
             connect_port 6768
             connect_timeout 10
             nb_get_retry 3
             delay_before_retry 10
         }    
     }
     
二、TCP_CHECK
    real_server 192.168.5.101 6767 {      #配置服务节点1,需要指定real server的真实IP地址和端口,IP与端口之间用空格隔开
        weight 1                          #配置服务节点的权值,权值大小用数字表示,数字越大,权值越高,设置权值大小可以为不同性能的服务器
                                         #分配不同的负载,可以为性能高的服务器设置较高的权值,而为性能较低的服务器设置相对较低的权值,这样才能合理地利用和分配系统资源
        TCP_CHECK {                       #realserver的状态检测设置部分,单位是秒
            connect_timeout 10            #表示10秒无响应超时
            nb_get_retry 3                #表示重试次数
            delay_before_retry 3          #表示重试间隔
            connect_port 6767
        }
    }