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. JavaScript作用域链与闭包的理解

    作用域是JavaScript最重要的概念之一,想要学好JavaScript就需要理解JavaScript作用域和作用域 链的工作原理. 1. 全局作用域(Global Scope) (1)最外层函数和 ...

  2. canvas系列教程03-柱状图项目1

    弄了一堆线方块和函数,感觉挺玄乎,然并卵.我们直接写个项目看看. canvas一个比较拽的应用就是图表和游戏,我们从浅入深,先玩图表,图表我们今天说一个最简单柱状图. 柱状图很多人用百度的echars ...

  3. Linux安装JDK报错

    报错内容: tar (child): jdk-8u141-linux-x64.tar.gz: Cannot open: No such file or directory tar (child): E ...

  4. npx和npm的区别

    npx 是 npm 的高级版本,npx 具有更强大的功能. 用途: 在项目中直接运行指令,直接运行node_modules中的某个指令,不需要输入文件路径 node-modules/.bin/babe ...

  5. BootstrapBlazor实战-Tree树形控件使用(1)

    实战BootstrapBlazor树型控件Tree的使用, 以及整合Freesql orm快速制作数据库后台维护页面 demo演示的是Sqlite驱动,FreeSql支持多种数据库,MySql/Sql ...

  6. Spring配置数据源(连接池)

    1.数据源(连接池)的作用:为了提高程序的性能而出现的 2.数据源的原理: *事先实例化数据源,初始化部分连接资源 *使用连接资源时从数据源中获取 *使用完毕后将连接资源归还给数据源 使用c3p0的步 ...

  7. 三个步骤,从零开始快速部署LoRaServer

    2021年11月29日,ITU(国际电信联盟)标准化部门正式批准了LoRa联盟立项的"ITU-T Y.4480 Low power protocolfor wide area wireles ...

  8. 基于File NIO写的一个文件新增内容监控器

    基于File NIO写的一个文件新增内容监控器 需求说明 监控一个文件,如果文件有新增内容,则在控制台打印出新增内容. 代码示例 FileMoniter文件监控器类 package com.black ...

  9. java_类的访问控制符

    1.分类: public protected default private是java中的访问控制修饰符. public String name; protected String name; Str ...

  10. MySql创建分区

    一.Mysql分区类型 1.RANGE 分区:基于属于一个给定连续区间的列值,把多行分配给分区. 2.HASH分区:基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列 ...