负载均衡之keepalived

博客 分享
0 176
优雅殿下
优雅殿下 2022-05-25 17:59:39
悬赏:0 积分 收藏

负载均衡之keepalived

DR实验存在的隐患

  1. DR可能会挂,单点故障
  2. RS可能会挂

解决方案:

  • 解决单点故障

    • 主备:准备多个DR备用机,做好配置,主机挂掉备用机顶上
    • 主主
  • 解决RS会挂的问题

    给RS发送请求,如果收到200 ok回复则说明RS正常

keepalived

keepalived就是实现了上述解决方法的工具,检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。

主要用途:

  • 高可用:监控主机,主动替换备用机
  • RS的健康检测

只需要给主机DR和备用机装keepalived监控DR,并且向RS发送请求检测RS。

keepalived的使用:

  1. 安装

    yum install keepalived ipvsadm -y
  2. 备份和修改keepalived配置文件

    DR配置文件:

    cp keepalive.conf keepalived.conf.bakcat /etc/keepalived.confglobal_defs {  notification_email {  #设置报警邮件地址,可多行每行一个。  xxxxxxx@qq.com   }  notification_email_from keepalived@localhost  #设置邮件的发送地址  smtp_server 127.0.0.1                         #设置SMTP server地址  smtp_connect_timeout 30                       #设置SMTP 超时时间  router_id LVS_DEVEL                           #运行keepalived机器的一个标识}vrrp_instance VI_1 {                      #定义一个vrrp实例,不同实例的实例编号不一样。   state MASTER        #定义在keepalived的角色MASTER表示为主服务器,BACKUP为备服务器。   interface eth0      #指定HA检测的网络接口   virtual_router_id 50     #虚拟路由标示,同一个实例里的路由标示相同,且唯一。MASTER和BACKUP的路由标识一样,且唯一。   priority 100        #定义此服务器在此虚拟路由器中的优先级,优先级大权限高   advert_int 1        #检测时间间隔   authentication {    #设置验证类型和密码,主从的密码必须相同,要不两者不通讯。       auth_type PASS       auth_pass 1111   }   virtual_ipaddress {     #设置虚拟IP地址,可以设置多个虚拟IP地址。       192.168.233.100/24 dev ens33 label  ens33:3   }}//配置DR主机lvs,代替使用ipvsadm配置lvsvirtual_server 192.168.233.100 80 {    delay_loop 6      lb_algo rr    lb_kind DR //模式,NAT,DR,TUN    nat_mask 255.255.255.0  //子网掩码    persistence_timeout 0  //    protocol TCP    real_server 192.168.150.12 80 {//负载机配置        weight 1        HTTP_GET {//对后端机进行健康检查的配置            url {                path /                status_code 200            }            connect_timeout 3            nb_get_retry 3            delay_before_retry 3        }   	}    //配置RS    real_server 192.168.233.129 80 {        weight 1        HTTP_GET {            url {                path /                status_code 200            }            connect_timeout 3            nb_get_retry 3            delay_before_retry 3        }    }

    备用DR配置:

    global_defs {  notification_email {  xxxxxx@qq.com   }  notification_email_from keepalive@localhost  smtp_server 127.0.0.1  smtp_connect_timeout 30  router_id LVS_DEVEL}vrrp_instance VI_1 {   state BACKUP   interface eth0   virtual_router_id 51   priority 50   advert_int 1   authentication {       auth_type PASS       auth_pass 1111   }   virtual_ipaddress {       192.168.233.100   }}//配置DR主机lvs,代替使用ipvsadm配置lvsvirtual_server 192.168.233.100 80 {    delay_loop 6      lb_algo rr    lb_kind DR //模式,NAT,DR,TUN    nat_mask 255.255.255.0  //子网掩码    persistence_timeout 0  //    protocol TCP    real_server 192.168.150.12 80 {//负载机配置        weight 1        HTTP_GET {//对后端机进行健康检查的配置            url {                path /                status_code 200            }            connect_timeout 3            nb_get_retry 3            delay_before_retry 3        }   	}    //配置RS    real_server 192.168.233.129 80 {        weight 1        HTTP_GET {            url {                path /                status_code 200            }            connect_timeout 3            nb_get_retry 3            delay_before_retry 3        }    }
  3. 启动keepalived服务

    service keepalived start

最后,如果keepalived进程挂掉呢?

使用zookper集群解决这个问题。

posted @ 2022-05-25 17:13 会飞的鱼aaa 阅读(23) 评论(0) 编辑 收藏 举报
回帖
    优雅殿下

    优雅殿下 (王者 段位)

    2018 积分 (2)粉丝 (47)源码

    小小码农,大大世界

     

    温馨提示

    亦奇源码

    最新会员