linuxsir首页 LinuxSir.Org | Linux、BSD、Solaris、Unix | 开源传万世,因有我参与欢迎您!
网站首页 | 设为首页 | 加入收藏
您所在的位置:主页 > Limux发行版SuSE >

实现基于Haproxy_NAT+Keepalived负载均衡高可用架构

时间:2017-12-05  来源:未知  作者:admin666

实验思路:

1.做这个实验首先可以想象一个场景,用户访问webserver的时候首先会经过调度器,首先需要明白的一点就是一般公司一般是在内网,客户端是通过外网访问webserver的。

2.haproxy是一个负载均衡器,Keepalived通过VRRP功能能再结合LVS负载均衡软件即可部署一个高性能的负载均衡集群系统,也就是说haproxy是解决后端realserver负载均衡的问题,keepalived是解决调度器的高可用的问题。

3.haproxy检测到后端服务器处于不健康的状态的时候会把后端realserver给剔除,通过权重的大小把客户端的访问调度到不同的realserver上;通过keepalived实现地址的漂移,当主调度器出现状况,就会把后端的realserver服务转移到另外一台调度器上。

4.需要特别注意的就是,haproxy可以自己寻找网关,不需要路由转发的功能。会把客户端的请求当做自己的请求拿到资源然后再返回给客户端,充当了代理的功能,也就是说并不需要dip,如果是一台调度器,可以自己的外网卡充当vip,因为这个时候不需要实现调度,不需要地址的漂移功能,如果是多台调度器需要配置vip实现地址的漂移,这个时候主坏掉,才能实现webserver所指向 的调度器变成从,从而实现webserver的访问(意思就是单台调度器vip可要可不要)。

实验准备:

两台CentOS7准备realserver,两台centos6准备用于做haproxy主从架构,防火墙关闭、各节点时钟服务同步、各节点之间可以通过主机名互相通信。realserver还是小米电子网站。

实验步骤:

第一步:配置keepalived,配置虚拟ip。

主机1.vrrp_instance VI_1 {

   state BACKUP

   interface eth0

   virtual_router_id 30

   priority 98

   advert_int 1

# nopreempt

   authentication {

       auth_type PASS

       auth_pass magedu

   }

   virtual_ipaddress {

       172.17.120.120

}

notify_backup "/etc/keepalived/notify.sh backup"

notify_master "/etc/keepalived/notify.sh master"

notify_fault "/etc/keepalived/notify.sh fault"

}

主机2.vrrp_instance VI_1 {

   state MASTER

   interface eth1

   virtual_router_id 30

   priority 100

   advert_int 1

#nopreempt

  authentication {

       auth_type PASS

       auth_pass magedu

   }

   virtual_ipaddress {

       172.17.120.120

}

notify_backup "/etc/keepalived/notify.sh backup"

notify_master "/etc/keepalived/notify.sh master"

notify_fault "/etc/keepalived/notify.sh fault"

}

第二步:配置haproxy,连接realserver。

1.全局配置

log      127.0.0.1 local2  --日志配置,配合rsyslog使用,在rsyslog中定义完成后要记得重启rsyslog服务。Centos6自己创建定义的日志文件目录。

   chroot      /var/lib/haproxy

   pidfile     /var/run/haproxy.pid

   maxconn     4000

   user        haproxy

   group       haproxy

   daemon

2.haproxy状态检测页面

listen stats

mode http

bind 0.0.0.0:1080

stats  enable

stats uri  /haproxyadmin

stats  auth  admin:admin

stats  admin  if TRUE

3.客户端限制配置

frontend   web

bind        :80

default_backend    lnmp-server

4.realserver端配置

backend  lnmp-server

       balance         roundrobin

       option          httpchk  GET   /index.html ---这个健康检测页面配置了就要有,没有就会认为realserver有误。

       server          lnmpserver1   172.17.252.78:80 check inter 3000 rise 3 fall 5

       server          lnmpserver2   172.17.110.110:80 check inter 3000 rise 3 fall 5

完整配置:

5.复制一份给另外一台haproxy,保证配置是一样的。  

第三步:测试界面

1.backup宕机

2.master宕机

bf9e3d7def3e4613ffe65527b26bd976.png

 

构建高可用集群Keepalived+Haproxy负载均衡  http://www.linuxidc.com/Linux/2016-12/138917.htm

HAproxy的基本配置(负载均衡+日志独立+动静分离+读写分离)  http://www.linuxidc.com/Linux/2017-03/141614.htm

CentOS 7下Keepalived + HAProxy 搭建配置详解  http://www.linuxidc.com/Linux/2017-03/141593.htm

HAproxy实现反向代理和负载均衡  http://www.linuxidc.com/Linux/2016-12/138749.htm

HAProxy+Keepalived实现高可用负载均衡 http://www.linuxidc.com/Linux/2016-06/132225.htm

使用 HAProxy 配置 HTTP 负载均衡器 http://www.linuxidc.com/Linux/2015-01/112487.htm

Ubuntu 16.04 下安装HAProxy 1.5.11 做tcp负载均衡 http://www.linuxidc.com/Linux/2016-06/132689.htm

CentOS 7.2 部署Haproxy 1.7.2   http://www.linuxidc.com/Linux/2017-10/147553.htm

HAproxy 的详细介绍:请点这里
HAproxy 的下载地址:请点这里

友情链接