千家信息网

Keepalived的工作原理以及haproxy的负载均衡介绍

发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,下文给大家带来Keepalived的工作原理以及haproxy的负载均衡介绍,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用在行业内累计的
千家信息网最后更新 2024年11月30日Keepalived的工作原理以及haproxy的负载均衡介绍

下文给大家带来Keepalived的工作原理以及haproxy的负载均衡介绍,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用在行业内累计的经验来做一个解答。

Keepalived高可用云服务器以及haproxy的负载均衡

Keepalive运行原理

Keepalived检测每个服务节点状态当服务器节点异常或工作出现故障,keepalived将故障节点从集群从集群系统中踢除故障节点恢复后,自动将其加入使用keepalived软件配置HA集群

使用keepalived软件配置HA集群

1.提供服务的主机需要装keepalived和web服务
yum -y install httpd keepalived
2.修改提供服务的主机的keepalived的配置文件 /
35行以后是做调度器的高可用配置
规划主、备服务器,设置VIP(公网IP)
这里的主备是抢占式的global_defs {   notification_email {     acassen@firewall.com   //设置报警收件人邮箱  }  notification_email_from link@firewall.com //发件人邮箱  smtp_server 192.168.200.1   //邮件服务器地址  smtp_connect_timeout 30  //邮件超时时间  router_id LVS_DEVEL      //设置路由ID  #vrrp_strict    //这条需要注释掉,不然下面的VIP就会不通}vrrp_instance webha {  //webha 集群名称  state MASTER    //描述名,  interface eth0   //与集群内服务主机之间通信使用网卡  virtual_router_id 51    priority 100     //优先级,数值越高,越优先,主的优先级高,默认100                          优先级最大255,超过失效  advert_int 1    //集群内服务主机之间的通信时间间隔,单位秒 authentication {      auth_type PASS  //认证类型     auth_pass 1111  //使用密码  }  virtual_ipaddress {    //设置VIP地址       192.168.200.16 }}
当web服务down了,高可用集群的调度主备不会浮动VIP
vim /root/check_80.sh#!/bin/bashnetstat -ntulp | grep 80 if [ $? -ne 0 ];thensystemctl stop keepaloved.serviceif
综合应用:keepalived+LVS 配置LVS调度器HA集群
需求:把主机A配置为主LVS调度器,B主机为备用的LVS调度器,当分发器A宕机了,B主机立即启用
1.A、B上安装keepalived软件,ipvsadm软件    Yum -y install keepalived ipvsadm2.修改/etc/keepalived/keepalived.conf 修改优先级划分主备(AB)服务主机 修改认证的密码    主备(AB)服务器的密码必须一致 修改IPV(virtual_ipaddress)为192.168.4.253 以下配置A、B一致   virtual_server 192.168.4.253 80 {   //定义虚拟调度机   delay_loop 6   lb_algo rr                     //调度算法   lb_kind DR          //工作模式,与后台realserver的工作模式一致   persistence_timeout 50   protocol TCP   connect_timeout 3         nb_get_retry 3   delay_before_retry 3           real_server 192.168.4.52 80 {   //后台提供web服务的主机   weight 1}}   这个步骤是将A、B设为为keepalived主备机,并且加上LVS(ipvsadm),实现高可用(HA)和负载均衡(LB)的综合应用3.在A、B上启动并设置开机自启(keepalived)   systemctl restart keepalived.service   systemctl enable keepalived.service4.在客户机上进行测试,   curl http://192.168.4.253前提:后台提供web服务的机器必须正常运行    echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore    echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce    echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore    echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce    ifconfig lo:1 192.168.4.253/32

扩展:以上配置做完之后,keepalived不会对后端的httpd服务做健康检查,,如果需要,必须进行tcp连接检查

real_server 192.168.4.52 80 {     weight 1       TCP_CHECK {           connect_timeout 3           nb_get_retry 3           delay_before_retry 3       }  }

使用Haproxy软件配置LB集群

工作模式 1.mode http        2.mode tcp    3.mode htalth
Mode http
1.http close   每次响应请求后立即断开连接2.keep-alive   每一连接可以发起多个请求,但是多个请求需要服务器按顺序一个一个响应不能一次性作出响应3.pipelining      一次连接可以发起多次请求,这些请求服务器并行进行响应,同时处理请求,减少了延迟,但是   对服务器的要求比较高,
配置:
1.装包   Yum -y install haproxy2.配置文件及介绍  Vim /etc/haproxy/haproxy.cfg    default:为后续的其他部分设置默认参数,缺省参数可以被后续部分覆盖    frontend:描述接收客户端侦听套接紫集    backend:描述转发连接的服务器集    listen:把frontend和backend结合到一起的完整声明//这里为/etc/haproxy/haproxy.cfg的配置    default   stats uri  /admin     #以友好的页面展示LB集群实际状况   listen webla 192.168.4.56:80cookie SERVERID rewritebalance roundrobinserver weba 192.168.4.55:80 cookie app1inst1 check inter 2000 rise 2 fall 5server webb 192.168.4.57:80 cookie app2inst2 check inter 2000 rise 2 fall 53.启动服务及查看状态   Systemctl restart haproxy   Systemctl status haproxy4.有好页面的访问
http://192.168.4.56/admin



看了以上关于Keepalived的工作原理以及haproxy的负载均衡介绍,如果大家还有什么地方需要了解的可以在行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,技术工程师在行业内拥有十几年的经验了。官网链接www.yisu.com



0