• keepalived高可用系列~通用基础


    简介:今天咱们来聊聊keepalived
    一 keepalived 架构

     1  标准架构:

          keepalived+lvs/haproxy+后端 real server(mysql从库,nginx.mycat) 实现静态的高可用和负载均衡
         1 特点 :

          1 keepalived在独立的服务器上,为后端多组集群提供高可用服务

          2 配置文件 包含后端真实IP和端口检测
        2 检测后端服务脚本:
            1 手段 1 TCP 2 HTTP 3 MISC_CHECK(自定义脚本)
            2 目的 用以实现后端服务的动态踢出和加入
      2   标准架构2
         keepalived+service 实现服务的高可用
         特点

           1 keepalived和service绑定在同一组机器上

           2  配置文件不包含真实IP,服务为本地脚本检测     
       检测自身服务脚本
           1 手段

               1 vrrp_script+ track_script 搭配
               2 notify模块 notify_master 状态改变为master以后执行的脚本
                                  notify_backup 状态改变为backup以后执行的脚本。
                                  notify_down 服务停止以后执行的脚本。
           2 目的 用以实现高可用服务和VIP的动态漂移
         不抢占模式
           1 state 都设置为BACKUP
           2 主增加 nopreempt 参数 备参数不变
           3 priority 参数主备不一致
           4 先启动主(因为设置了nopreempt,所以不会按照优先级来定夺)

    二 keeplived的主从切换策略
        1 在Keepalived集群中,其实并没有严格意义上的主、备节点,虽然可以在Keepalived配置文件中设置“state”选项为“MASTER”状态,但是这并不意味着此节点一直就是Master角色。由两点确定
                1 节点的priority值,但并它并不控制所有节点的角色,
                2 是在vrrp_script模块中设置的“weight”值,这两个选项对应的都是一个整数值,其中weight值可以是个负整数
       2 在一个一主多备的Keepalived集群中,“priority”值最大的将成为集群中的Master节点,而其他都是Backup节点。在Master节点发生故障后,Backup节点之间将进行“民主选举”,通过对节点优先级值“priority”和““weight”的计算,选出新的Master节点接管集群服务。
       3 在vrrp_script模块中,如果不设置“weight”选项值,那么集群优先级的选择将由Keepalived配置文件中的“priority”值决定,而在需要对集群中优先级进行灵活控制时,可以通过在vrrp_script模块中设置“weight”值来实现。

    三  keeplived的部署条件

    1 DR模式下必须为同一网段的机器

    2 绑定双网卡,有独立的网卡进行检测,防止因为流量阻塞发生脑裂现象,俗称双网卡机制

    3 不论何种架构,keepalived都是通过判断对方进程是否存在判断VIP是否需要漂移

     四  LVS 相关命令

        1 调整权重

           ipvsadm -e -t 1VIP:3306  -r IP -w 0 降低

           ipvsadm -e -t 1VIP:3306  -r IP -w 1 升高  

          1  -w为权重,读取的是keepalived的权重值,如果采用ipvsadm方式,keepalived重启后权重就会恢复,所以首先要用ipvsadm,然后再采用keepalived配置文件中修改. 最后采用连接反复测试

         2  下架lvs后端服务器的话调整权重值为0即可,因为lvs是程序连接的入口

         3 当后端服务恢复时,会自动添加到列表

  • 相关阅读:
    Spring学习(九)
    NPOI的一些基本操作
    WebClient请求接口,get和post方法
    树结构关系的数据导出为excel
    AOP实践--利用MVC5 Filter实现登录状态判断
    js小结
    (转)基于http协议的api接口对于客户端的身份认证方式以及安全措施
    C# 下载文件 只利用文件的存放路径来下载
    linux nginx启动 重启 关闭命令
    两种 js下载文件的方法(转)
  • 原文地址:https://www.cnblogs.com/danhuangpai/p/7885868.html
Copyright © 2020-2023  润新知