引用網址:http://lansgg.blog.51cto.com/5675165/1212859
1
|
[root@lv1 ~]# yum install -y httpd |
1
|
[root@lv2 ~]# yum install -y httpd |
1
|
[root@node1 ~]# yum install -y keepalived haproxy |
1
|
[root@node2 ~]# yum install -y keepalived haproxy |
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
|
####################全局配置信息######################## global log 127.0 . 0.1 local0 #[err warning info debug] chroot / var /lib/haproxy #chroot运行的路径 pidfile / var /run/haproxy.pid #haproxy的pid存放路径,启动进程的用户必须有权限访问此文件 maxconn 4000 #默认最大连接数 user haproxy #所属运行的用户 group haproxy #所属运行的用户组 nbproc 1 #进程数量(可以设置多个进程提高性能) daemon #以后台形式运行haproxy #####################默认的全局设置###################### ##这些参数可以被利用配置到frontend,backend,listen组件## defaults mode http #所处理的类别 (# 7 层 http; 4 层tcp ) log global option httplog #日志类别http日志格式 option dontlognull #不记录健康检查的日志信息 option httpclose #每次请求完毕后主动关闭http通道 option forwardfor #如果后端服务器需要获得客户端真实ip需要配置的参数,可以从Http Header中获得客户端ip option redispatch #serverId对应的服务器挂掉后,强制定向到其他健康的服务器 retries 3 # 3 次连接失败就认为服务不可用,也可以通过后面设置 stats refresh 20 #统计页面刷新间隔 timeout connect 10s #连接超时 timeout client 5000 #客户端超时 timeout server 50000 #服务器超时 maxconn 3000 balance roundrobin #默认的负载均衡的方式,轮询方式 stats uri /haproxy-stats #监控页面的url listen proxy *: 8080 option httpchk HEAD /index.html #心跳检测的文件 server server1 192.168 . 244.149 : 80 cookie server1 check inter 1500 rise 3 fall 3 #服务器定义,cookie 1 表示serverid为web1,check inter 1500 是检测心跳频率rise 3 是 3 次正确认为服务器可用 #fall 3 是 3 次失败认为服务器不可用,weight代表权重 server server2 192.168 . 244.150 : 80 cookie server2 check inter 1500 rise 3 fall 3 |
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
|
! Configuration File for keepalived global_defs { notification_email { 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_script chk_http_port { script "/etc/keepalived/check_haproxy.sh" interval 2 #脚本执行间隔 weight - 20 #脚本结果导致的优先级变更: 20 表示优先级+ 20 ;- 20 则表示优先级- 20 } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } track_script { chk_http_port } virtual_ipaddress { 192.168 . 244.200 } } |
1
2
3
4
5
6
7
8
9
10
11
12
|
[root@node1 ~]# cat /etc/keepalived/check_haproxy.sh #!/bin/bash A=`ps -C haproxy --no-header |wc -l` if [ $A -eq 0 ];then /etc/init.d/haproxy restart echo "启动haproxy" &> /dev/ null sleep 3 if [ `ps -C haproxy --no-header |wc -l` -eq 0 ];then /etc/init.d/keepalived stop echo "关闭keepalived" &> /dev/ null fi fi |
1
2
3
4
|
[root@node1 ~]# /etc/init.d/haproxy start 正在启动 haproxy: [root@node1 ~]# /etc/init.d/keepalived start 正在启动 keepalived: [确定] |
1
|
[root@node2 ~]# tcpdump vrrp |
1
2
|
[root@lv1 ~]# /etc/init.d/httpd stop 停止 httpd: [确定] |
文章標籤
全站熱搜
留言列表