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.bak
    cat /etc/keepalived.conf
    global_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配置lvs
    virtual_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配置lvs
    virtual_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集群解决这个问题。

负载均衡之keepalived的更多相关文章

  1. 企业级Nginx负载均衡与keepalived高可用实战(二)keepalived篇

    1.Keepalived高可用软件 1.1.Keepalived介绍 Keepalived软件起初是专门为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实 ...

  2. [转帖]负载均衡 LVS+Keepalived

    负载均衡 LVS+Keepalived https://www.cnblogs.com/jicki/p/5546862.html 改天试试 一直没搞过. 系统  CentOS 5.6 X64 物理机 ...

  3. Nginx负载均衡和Keepalived的安装设置

    一.Nginx设置负载均衡 (1)upstream的配置 http { upstream backend { #这里设置后台分发的服务器族群,有多少个可以添加,同时设置查询策略 server 192. ...

  4. JAVAEE——宜立方商城03:商品类目选择、Nginx端口或域名区分虚拟机、Nginx反向代理、负载均衡、keepalived实现高可用

    1. 学习计划 第三天: 1.商品类目选择(EasyUI的tree实现) 2.图片上传 a) 图片服务器FastDFS(Nainx部分) 2. 商品类目选择 2.1. 原型 2.2. 功能分析 展示商 ...

  5. nginx负载均衡配合keepalived服务案例实战

    本实验用4台 centos6 虚拟机,2台做负载均衡,2台做web服务器,都先装上nginx lb01:192.168.0.235  --主负载均衡器 lb02:192.168.0.236  --备负 ...

  6. lvs 中DR模式负载均衡及keepalived

    lvs DR配置 LVS负载均衡:三种负载均衡模式:DR,TUN(ip隧道),NAT,这里我们介绍DR模式 server1: 首先,配置server机yum源 方便后期实验流畅vim /etc/yum ...

  7. Linux集群之高可用负载均衡lvs+keepalived

    LVS简介 LVS介绍 LVS是Linux Virtual Server的缩写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统,属于4层负载均衡 ipvs和ipvsadm的关系 我们使用配置LV ...

  8. Nginx配置upstream实现负载均衡及keepalived实现nginx高可用

    (原文链接:http://www.studyshare.cn/blog-front//blog/details/1159/0 ) 一.准备工作 1.准备两个项目,发布到不同的服务器上,此处使用2个虚拟 ...

  9. 企业级Nginx负载均衡与keepalived高可用实战(一)Nginx篇

    1.集群简介 1.1.什么是集群 简单地说,集群就是指一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运行各自服务的独立服务器. ...

  10. Haproxy/LVS负载均衡实现+keepalived实现高可用

    haproxy+keepalived 集群高可用集群转发 环境介绍 #内核版本 Ubuntu 18.04.4 LTS \n \l 107-Ubuntu SMP Thu Jun 4 11:27:52 U ...

随机推荐

  1. 干货,看微信小程序后台用户数据如何演变和递增

    这几天发现附近小程序又多了好几家,其中有普通小程序和门店小程序,把它们做一个对比,门店小程序更多的像一张名片,只有基本的企业名称.地址.营业时间.电话和门店照片,和普通小程序相比显得逊色许多.楼下的水 ...

  2. DRF 视图组件

    目录 DRF 视图组件 视图组件大纲 两个视图基本类 五个扩展类 九个子类视图 视图集 常用视图集父类 魔法类 一览表 DRF中视图的"七十二变" 第一层:基于APIview的五个 ...

  3. 单例模式的实现Singleton和MonoSingleton

    using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summary> / ...

  4. SQL语句总结---数据库操作

    https://blog.csdn.net/hallomrzhang/article/details/85010014 数据库操作 查看所有数据库 show databases; 1 查看当前使用的数 ...

  5. jquery 常用选择器和方法以及遍历(超详细)

    jQuery 常用选择器和和方法 学习总结 一.JQuery 介绍 1. 什么是 jQuery 2. jQuery 版本介绍 3. jQuery 文件介绍 二.jQuery 对象 1. jQuery ...

  6. hibernate数据源

      Hibernate的描述文件可以是一个properties属性文件,也可以是一个xml文件.下面讲一下Hibernate.cfg.xml的配置.配置格式如下:1. 配置数据源 在Hibernate ...

  7. 三种获取数据的方法fetch和ajax和axios

    一 .fetch用法 ( 本人比较喜欢fetch,代码精简,虽说目前axios比较流行,但是fetch很多大厂已经开始用fetch开始封装了, 我觉得以后fetch会取代axios和ajax ) 1. ...

  8. jboss7学习2-jboss7入门(端口和访问的ip问题)

    1.下载地址: http://www.jboss.org/jbossas/downloads ,下载Certified Java EE 6 Full Profile版本. 2.解压 jboss-as- ...

  9. .NET如何快速比较两个byte数组是否相等

    目录 前言 评测方案 几种不同的方案 For循环 Memcmp 64字长优化 SIMD Sse Avx2 SequenceCompare 总结 参考文献 前言 之前在群里面有群友问过一个这样的问题,在 ...

  10. python---反转链表

    class Node: def __init__(self, data): self.data = data self.next = None class Solution: "" ...