新浦京81707con > 功能介绍 > Haproxy构建高可用负载均衡集群,Keepalived实现高可

原标题:Haproxy构建高可用负载均衡集群,Keepalived实现高可

浏览次数:110 时间:2019-11-02

haproxy1.daixiang.com:

澳门葡京娱乐注册 1澳门葡京娱乐注册 2

澳门葡京娱乐注册 3

[root@haproxy1 ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:0c:29:52:3b:c0 brd ff:ff:ff:ff:ff:ff
    inet 172.16.0.1/16 brd 172.16.255.255 scope global eth1
    inet 192.168.80.200/32 scope global eth1
    inet6 fe80::20c:29ff:fe52:3bc0/64 scope link 
       valid_lft forever preferred_lft forever
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:52:3b:ca brd ff:ff:ff:ff:ff:ff
    inet 192.168.80.125/24 brd 192.168.80.255 scope global eth0
    inet6 fe80::20c:29ff:fe52:3bca/64 scope link 
       valid_lft forever preferred_lft forever
[root@haproxy1 ~]# 

澳门葡京娱乐注册 4

View Code

#./configure --prefix=/usr/local/keepalived 钦命路径编写翻译

留心:本文在haproxy.cfg的布局文件中,将dynamic组中的server配置了基于cookie的session绑定,所以,用平等浏览器看不出负载均衡的功力来。换个浏览器再探访贰遍还是清空浏览器的cookie记录就能够显得效果,如下图。

 澳门葡京娱乐注册 5

selinux is disabled

重启haproxy服务:

?

1
2
[root@haproxy1 haproxy]# service haproxy restart
[root@haproxy1 haproxy]# ssh haproxy2 'service haproxy restart'

 

# cd /usr/local/keepalived/ 暗中认可主目录,存在sbin/和etc/目录

       至此,实验完毕,然则对于haproxy的多少个节点,keepalived对于这两节点是怎么开展心跳检验,其职业规律是哪些,此知识点比较模糊,求大神赐教。

Linux下HAProxy Keepalived双机高可用方案  http://www.linuxidc.com/Linux/2016-02/128566.htm

Haproxy Keepalived搭建Weblogic高可用负载均衡集群 http://www.linuxidc.com/Linux/2013-09/89732.htm

Keepalived HAProxy配置高可用负载均衡 http://www.linuxidc.com/Linux/2012-03/56748.htm

CentOS 6.3下Haproxy Keepalived Apache配置笔记 http://www.linuxidc.com/Linux/2013-06/85598.htm

Haproxy KeepAlived 实现WEB群集 on CentOS 6 http://www.linuxidc.com/Linux/2012-03/55672.htm

Haproxy Keepalived营造高可用负载均衡 http://www.linuxidc.com/Linux/2012-03/55880.htm

本文永世更新链接地址:http://www.linuxidc.com/Linux/2016-06/132225.htm

澳门葡京娱乐注册 6

Layer4:假若您知道了Layer3的情势,Layer4就轻易了。Layer4重要以TCP端口的景观来控制伏务器工作例行与否。如web server的劳动端口平日是80,借使Keepalived检查测量检验到80端口未有运转,则Keepalived将把这台服务器从服务器群中除去。

查看那五个节点获取ip的状态:

发送三个ICMP的数据包(既大家一向用的Ping程序),借使发掘某台服务的IP地址未有激活,Keepalived便报告那台服务器失效,并将 它从服务器群中剔除,这种情况的优秀例子是某台服务器被违规关机。Layer3的章程是以服务器的IP地址是不是管用作为服务器职业健康与否的正经八百。在本文 大校采纳这种方法。

布局进度:

在配备以前,先将HA中个节点开展时间同步,主机名之间交互深入分析,以至配备双机互信。

iptables 关闭

在haproxy1.daixiang.com上配置:

1
2
3
4
5
6
[root@haproxy1 ~]# vim /etc/hosts
    172.16.0.1 haproxy1.daixiang.com haproxy1
    172.16.0.2 haproxy2.daixiang.com haproxy2<br>
[root@haproxy1 ~]# ssh-keygen -t rsa -P ''
[root@haproxy1 ~]# ssh-copy-id haproxy2
[root@haproxy1 ~]# ntpdate s2c.time.edu.cn

澳门葡京娱乐注册 7

先将原本配置文件进行备份:

1
2
3
4
[root@haproxy1 ~]# cd /etc/haproxy/
[root@haproxy1 haproxy]# cp haproxy.cfg{,.bak}
 
##节点2也进行同样的操作

更加的多详细情况见请继续阅读下黄金时代页的精粹内容: http://www.linuxidc.com/Linux/2014-05/101765p2.htm

伸手以.html结尾的公文,haproxy将恳求代理至后端static组中的server管理:

澳门葡京娱乐注册 8澳门葡京娱乐注册 9

Keepalived Haproxy配置高可用负载均衡 http://www.linuxidc.com/Linux/2012-03/56748.htm

  将此安排文件同步到另一个haproxy2.daixiang.com上:

1
[root@haproxy1 keepalived]# scp keepalived.conf haproxy2:/etc/keepalived/

HAProxy相比较LVS的运用要简明超多,作用方面也很丰富。当 前,HAProxy帮忙二种珍视的代理形式:"tcp"也即4层(大多用于邮件服务器、内部合同通讯服务器等),和7层(HTTP)。在4层模式下,HAProxy仅在客商端和服务器之间转载双向流量。7层格局下,HAProxy会深入分析合同,何况能由此同意、拒绝、沟通、扩张、更正只怕去除请求(request)可能回应(response)里钦点内容来调节左券,这种操作要基于特定法则。

编辑其铺排文件改善其剧情如下:

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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
[root@haproxy1 haproxy]# vim haproxy.cfg
 
#---------------------------------------------------------------------
# Example configuration for a possible web application.  See the
# full configuration options online.
#
#  http://haproxy.1wt.eu/download/1.4/doc/configuration.txt
#
#---------------------------------------------------------------------
 
#---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
global                  #定义全局配置段
    # to have these messages end up in /var/log/haproxy.log you will
    # need to:
    #
    # 1) configure syslog to accept network log events.  This is done
    #    by adding the '-r' option to the SYSLOGD_OPTIONS in
    #    /etc/sysconfig/syslog
    #
    # 2) configure local2 events to go to the /var/log/haproxy.log
    #  file. A line like the following can be added to
    #  /etc/sysconfig/syslog
    #
    #    local2.*                      /var/log/haproxy.log
    #
    log        127.0.0.1 local2          #通过rsyslog将日志进行归档记录,在/etc/rsyslog.conf配置文件中,添加‘local2.*    /var/log/haproxy',并且启用$ModLoad imudp,$UDPServerRun 514,$ModLoad imtcp,$InputTCPServerRun 514 此四项功能,最后重启rsyslog进程。                         
    chroot      /var/lib/haproxy          #指定haproxy进程工作的目录
    pidfile    /var/run/haproxy.pid      #指定pid文件
    maxconn    4000                      #最大并发连接数
    user        haproxy                  #运行haproxy的用户
    group      haproxy                  #运行haproxy的组
    daemon                                #以守护进程的形式运行,即后台运行
 
    # turn on stats unix socket
    stats socket /var/lib/haproxy/stats
 
#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults                                                #默认配置端
    mode                  http                        #工作模式,源码包编译默认为tcp
    log                      global                    #记录全局日志
    option                  httplog                    #详细记录http日志
    option                  dontlognull                #不记录健康检测的日志信息
    option http-server-close                            #启用服务器端主动关闭功能
    option forwardfor      except 127.0.0.0/8          #传递client端IP至后端real server
    option                  redispatch                  #基于cookie做会话保持时,后端对应存放session的服务器出现故障时,会话会被重定向至别的服务器
    retries                3                          #请求重传次数
    timeout http-request    10s                        #断开客户端连接的时长
    timeout queue          1m                          #一个请求在队列里的超时时长
    timeout connect        10s                        #设定在haproxy转发至后端upstream server时等待的超时时长
    timeout client          1m                          #client的一次非活动状态的超时时长
    timeout server          1m                          #等待服务器端的非活动的超时时长
    timeout http-keep-alive 10s                        #持久连接超时时长
    timeout check          10s                        #检查请求连接的超时时长
    maxconn                3000                        #最大连接数
 
#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend  webserver *:80
    acl url_static      path_beg      -i /static /images /javascript /stylesheets      #匹配path以/static,/images开始的,且不区分大小写
    acl url_static      path_end      -i .jpg .gif .png .css .js .html
    acl url_static      hdr_beg(host)  -i img. video. download. ftp. imgs. image.
 
    acl url_dynamic      path_end      .php .jsp
 
    use_backend static          if url_static          #满足名为url_static这条acl规则,则将请求转发至后端名为static的real server组中去
    use_backend dynamic        if url_dynamic
    default_backend            static                  #如果上面所有acl规则都不满足,将请求转发到static组中
 
#---------------------------------------------------------------------
# static backend for serving up images, stylesheets and such
#---------------------------------------------------------------------
backend static                              #定义后端real server组,组名为static
    balance    roundrobin                  #支持动态权重修改,支持慢启动
    server      static_1 172.16.0.100:80 check inter 3000 fall 3 rise 1 maxconn 30000
    server      static_2 172.16.0.101:80 check inter 3000 fall 3 rise 1 maxconn 30000
    server      static_Error 172.16.0.1:8080 backup check        #当此组中的所有server全部不能提供服务,才将请求调度至此server上
#---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
 
 
backend dynamic
    cookie cookie_name insert nocache  #使用cookie实现session绑定,且不记录缓存
    balance    roundrobin
    server  dynamic1 172.16.0.200:80 check inter 3000 fall 3 rise 1 maxconn 1000 cookie dynamic1
    server  dynamic2 172.16.0.201:80 check inter 3000 fall 3 rise 1 maxconn 1000 cookie dynamic2      #定义dynamic组中的server,将此server命名为dynamic2,每隔3000ms检测一个健康状态,如果检测3次都失败,将此server剔除。在离线的状态下,只要检测1次成功,就让其上线,此server支持最大的并发连接数为1000,cookie的值为dynamic2
      
 
listen state                                            # 使用单独输出,不需要frontedn调用:定义haproxy的状态统计页面
    bind *:8001                                        # 监听的地址
    mode http                                          # http 7层工作模式:对应用层数据做深入分析,因此支持7层的过滤、处理、转换等机制
    stats enable                                        # 开启统计页面输出
    stats hide-version                                  # 隐藏状态页面版本号
    stats uri /haproxyadmin?stats                      # 指定状态页的访问路径
    stats auth admin:admin                              # 基于用户名,密码验证。
    stats admin if TRUE                                # 验证通过时运行登录。
    acl num1 src 192.168.80.0/24                        # 定义源地址为192.168.80.0/24网段的acl规则,将其命名为num1
    tcp-request content accept if num1                  # 如果满足此规则,则允许访问
    tcp-request content reject                          # 拒绝其他所有的访问

#tar zxf keepalived-1.2.7.tar.gz

澳门葡京娱乐注册 10

 

Haproxy KeepAlived 实现WEB群集 on CentOS 6 http://www.linuxidc.com/Linux/2012-03/55672.htm

配置haproxy:

Layer3:Keepalived使用Layer3的点子职业式时,Keepalived会准时向服务器群中的服务器

在haproxy2.daixiang.com上配置:

1
2
3
4
5
6
7
[root@haproxy2 ~]# vim /etc/hosts
    172.16.0.1 haproxy1.daixiang.com haproxy1
    172.16.0.2 haproxy2.daixiang.com haproxy2
 
[root@haproxy2 ~]# ssh-keygen -t rsa -P ''
[root@haproxy2 ~]# ssh-copy-id haproxy1
[root@haproxy2 ~]# ntpdate s2c.time.edu.cn

 

haproxy专门的学问体制:

央求以.php结尾的文书,haproxy将呼吁代理至后端dynamic组中server管理:

CentOS 6.3下Haproxy Keepalived Apache配置笔记 http://www.linuxidc.com/Linux/2013-06/85598.htm

haproxy2.daixiang.com:

澳门葡京娱乐注册 11

[root@haproxy2 haproxy]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:ae:5c:b3 brd ff:ff:ff:ff:ff:ff
    inet 192.168.80.128/24 brd 192.168.80.255 scope global eth0
    inet6 fe80::20c:29ff:feae:5cb3/64 scope link 
       valid_lft forever preferred_lft forever
6: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:0c:29:ae:5c:a9 brd ff:ff:ff:ff:ff:ff
    inet 172.16.0.2/16 brd 172.16.255.255 scope global eth1
    inet 192.168.80.201/32 scope global eth1
    inet6 fe80::20c:29ff:feae:5ca9/64 scope link 
       valid_lft forever preferred_lft forever

View Code

在后端的real server提供测量试验页面,测量试验的结果如下:

行使lvs keepalived时行使一下布局
virtual_server 192.168.0.88 80{ 定义设想服务
澳门葡京娱乐注册,delay_loop 6
lb_algo rr 使用轮询方式调解算法
lb_kind DKoleos 使用DTiguan直连情势
# persistence_timeout 50 这几个是nat的总得做的,假如加上那些的话,就能不断链接这些
protocol TCP
real_server 192.168.0.198 80 { 定义真实服务
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.0.199 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}

一、haproxy介绍:

  HAProxy提供高可用性、负载均衡以致依照TCP和HTTP应用的代理,协助设想主机。HAProxy特别适用于那么些负载特大的web站点,这一个站点平日又需求会话保持或七层管理。HAProxy运转在日前的硬件上,完全能够帮衬多元的产出连接。并且它的周转形式使得它能够异常粗略安全的三结合进你当前的架构中, 同不经常间能够怜惜你的web服务器不被揭穿到网络上。HAProxy完结了朝气蓬勃种事件驱动、单豆蔻年华进度模型,此模型支撑非常大的并发连接数。多进度或四线程模型受内部存款和储蓄器节制、系统调治器限定甚至无处不在的锁节制,少之又少能管理数千并发连接。事件驱动模型因为在有更加好的财富和岁月处理的客商端(User-Space) 完结全部这个职务,所以未有这几个难点。此模型的弊病是,在多核系统上,那几个程序常常增加性相当糟糕。那就是怎么他们一定要开展优化以 使每一个CPU时间片(Cycle)做越来越多的行事。

  在Linux内核版本为2.6或打了epoll补丁的linux2.4上运维haproxy能获得其最佳的习性。

openssl-devel popt-devel libnl-devel

二、keepalived介绍:  

澳门葡京娱乐注册 12

  在haproxy2.daixiang.com上改善keepalived.conf配置文件:

澳门葡京娱乐注册 13

[root@haproxy2 keepalived]# vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
   notification_email {
     root@localhost
   }
   notification_email_from root@localhost
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth1
    virtual_router_id 51
    priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass a23c7f32dfb519d6a5dc67a4b2ff8f5e

    }
    virtual_ipaddress {
        192.168.80.200
    }
}

vrrp_instance VI_2 {
    state MASTER
    interface eth1
    virtual_router_id 52
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 56f7663077966379d4106e8ee30eb1a5

    }
    virtual_ipaddress {
        192.168.80.201
    }
}

Layer5:Layer5正是办事在具体的应用层了,比Layer3,Layer4要复杂一点,在网络上据有的带宽也要大学一年级部分。 Keepalived将基于顾客的设定检查服务器程序的运营是或不是平常,要是与顾客的设定不适合,则Keepalived将把服务器从服务器群中删去。

本文由新浦京81707con发布于功能介绍,转载请注明出处:Haproxy构建高可用负载均衡集群,Keepalived实现高可

关键词: 新浦京81707con

上一篇:阿里内部面试总结,java中Thread的深入了解

下一篇:没有了