加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

搭建高可用负载平衡器: haproxy+keepalived

发布时间:2018-09-02 22:13:43 所属栏目:业界 来源:云栖社区
导读:企业营业量较量小的时辰,单台处事器就可以满意营业必要了。可是跟着营业成长,单处事器的题目就凸显出来了: 当处事器挂掉时,营业就会间断 当营业量增进,单台处事器机能变差,怎样透明的扩展处事器和带宽,增进处事器吞吐量 负载平衡器可以办理以上题目
副问题[/!--empirenews.page--]

企业营业量较量小的时辰,单台处事器就可以满意营业必要了。可是跟着营业成长,单处事器的题目就凸显出来了:

  • 当处事器挂掉时,营业就会间断
  • 当营业量增进,单台处事器机能变差,怎样透明的扩展处事器和带宽,增进处事器吞吐量

负载平衡器可以办理以上题目

本文会按照拓扑图,用haproxy和keepalived搭建一个负载平衡器

搭建高可用负载平衡器: haproxy+keepalived

1 负载平衡器拓扑图

搭建高可用负载平衡器: haproxy+keepalived

2 筹备

2.1 筹备情形

筹备5台CentOS7.3主机和一个VIP地点:

  • 筹备一个可用IP用作假造IP(VIP):

VIP: 192.168.1.100

  • 负载平衡器会用到2台主机,一主一备的架构

lb1(默以为主): 192.168.1.101

lb2(默以为备): 192.168.1.102

  • 后端处事器集群中主机的IP地点

s1: 192.168.1.2

s2: 192.168.1.3

s3: 192.168.1.4

2.2 主机设置

2.2.1 全部主机上封锁防火墙

  1. systemctl stop firewalld 
  2. systemctl disable firewalld 

2.2.2 全部主机封锁selinux

  1. setenforce 0 
  2. vi /etc/selinux/config 
  3. SELINUX=disabled 

2.3 安装haproxy和keepalived

lb1和lb2上安装haproxy和keepalived

  1. yum install haproxy keepalived -y 

2.4 安装nginx(有其他后端测措施,可省略此步)

s1 s2 s3上安装nginx,目标是把nginx作为后端,假若有其他后端措施,这一步可以省略

  1. yum install epel-release -y 
  2. yum install nginx -y 

2.3 设置keepalived

KeepAlived是基于VRRP(Virtual Router Redundancy Protocol,假造路由冗余协议)实现的一个高可用方案,通过VIP(假造IP)和心跳检测来实现高可用

Keepalived有两个脚色,Master和Backup。一样平常会是1个Master,多个Backup。

Master会绑定VIP到本身网卡上,对外提供处事。Master和Backup会按时确定对方状态,当Master不行用的时辰,Backup会关照网关,并把VIP绑定到本身的网卡上,实现处事不间断,高可用

2.3.1 设置Master

  1. ! Configuration File for keepalived 
  2.  
  3. global_defs { 
  4.    # 关照邮件处事器的设置 
  5.    notification_email { 
  6.      # 当master失去VIP或则VIP的时辰,会发一封关照邮件到your-email@qq.com 
  7.      your-email@qq.com 
  8.    } 
  9.    # 发件人信息 
  10.    notification_email_from keepalived@qq.com 
  11.    # 邮件处事器地点 
  12.    smtp_server 127.0.0.1 
  13.    # 邮件处事器超时时刻 
  14.    smtp_connect_timeout 30 
  15.    # 邮件TITLE 
  16.    router_id LVS_DEVEL 
  17.  
  18. vrrp_instance VI_1 { 
  19.     # 主机: MASTER 
  20.     # 备机: BACKUP 
  21.     state MASTER 
  22.     # 实例绑定的网卡, 用ip a呼吁查察网卡编号 
  23.     interface eno16777984 
  24.     # 假造路由标识,这个标识是一个数字(1-255),在一个VRRP实例中主备处事器ID必需一样 
  25.     virtual_router_id 88 
  26.     # 优先级,数字越大优先级越高,在一个实例中主处事器优先级要高于备处事器 
  27.     priority 100 
  28.     # 主备之间同步搜查的时距离断单元秒 
  29.     advert_int 1 
  30.     # 验证范例和暗码 
  31.     authentication { 
  32.         # 验证范例有两种 PASS和HA 
  33.         auth_type PASS 
  34.         # 验证暗码,在一个实例中主备暗码保持一样 
  35.         auth_pass 11111111 
  36.     } 
  37.     # 假造IP地点,可以有多个,每行一个 
  38.     virtual_ipaddress { 
  39.         192.168.1.100 
  40.     } 
  41.  
  42. virtual_server 192.168.1.100 443 { 
  43.     # 康健搜查时距离断 
  44.     delay_loop 6 
  45.     # 调治算法 
  46.     # Doc: http://www.keepalived.org/doc/scheduling_algorithms.html 
  47.     # Round Robin (rr) 
  48.     # Weighted Round Robin (wrr) 
  49.     # Least Connection (lc) 
  50.     # Weighted Least Connection (wlc) 
  51.     # Locality-Based Least Connection (lblc) 
  52.     # Locality-Based Least Connection with Replication (lblcr) 
  53.     # Destination Hashing (dh) 
  54.     # Source Hashing (sh) 
  55.     # Shortest Expected Delay (seq) 
  56.     # Never Queue (nq) 
  57.     # Overflow-Connection (ovf) 
  58.     lb_algo rr 
  59.     lb_kind NAT 
  60.     persistence_timeout 50 
  61.     protocol TCP 
  62.     # 通过调治算法把Master切换到真实的负载平衡处事器上 
  63.     # 真实的主机遇按期确定举办康健搜查,假如MASTER不行用,则切换到备机上 
  64.     real_server 192.168.1.101 443 { 
  65.         weight 1 
  66.         TCP_CHECK { 
  67.             # 毗连超端口 
  68.             connect_port 443 
  69.             # 毗连超时时刻 
  70.             connect_timeout 3 
  71.         } 
  72.     } 
  73.     real_server 192.168.1.102 443 { 
  74.         weight 1 
  75.         TCP_CHECK { 
  76.             connect_port 443 
  77.             connect_timeout 3 
  78.         } 
  79.     } 

2.3.2 设置BACKUP

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读