• keepalived + lvs marster 与 backup 之间的 高可用


    简介

    keepalived 是linux下一个轻量级的高可用解决方案,它与HACMP实现功能类似,都可以实现服务或者网络的高可用,但是又有差别:hacmp是一个专业的、功能完善的高可用软件,它提供了HA软件所需的基本功能,比如心跳检测和资源接管,检测集群中的系统服务,在集群节点间转移共享ip地址所有者等,hacmp功能强大,但是部署和使用相对麻烦,同时也是商业化软件,与hacmp相比,keepalived主要是通过虚拟路由冗余来实现高可用功能,虽然他没有hacmp功能强大,但是keepalived部署使用相对简单,所有配置只需要一个配置文件即可完成.

    实验  (marster与 backup 之间的高可用)

    一、准备环境

    #1,两台虚拟机,分别用作marst 与 backup 

    #2, Dserver 端 为 marster , PDserver 为 backup

    #3,Dserver  ip : 192.168.206.3

         PDserver  ip:192.168.206.4

    二、 Start the experiment

    1> 两端分别下载 keepalived  

    Dserver 端:

     

    查看:

     

    PDserver端:

    查看:

    2> 编辑配置文件 

    yum 安装的 的keepalived 的 配置文件默认  在  /etc/keepalived/keepalived.conf

    keepalived的配置文件里面主要分三类

    1,全局配置

    2,VRRP配置

    3,LVS配置

    ##先来配置Dserver端:

    &1

    &2,全局配置里的内容注释掉, lvs 配置 注释掉, 只留 VRRP 配置

     

    &3> Dserver 端配置

     

    PDserver 配置 相同,只是将 MASTER 改成 BACKUP  , (可以将优先级调低)

     

    3> 测试

    #1双端都启动keeplived

    Dserver端:

    PDserver端:

     

    #2查看

    Dserver端:

     

    PDserver 端:

    #接下来使 Dserver 端 宕掉

     

    #查看 DPserver 端:

    #因为Dserver 宕掉了, 所以 vip 发生了漂移, 漂移到了 DPserver 端。 实验成功!

    补充: 上述实验存在着单点故障,Dserver 端 负载较大, 真实环境中,我们可以使 Dserver 端 与 Sserver 端 成为 互为主备,

    当客户端访问域名的时候,可以是直接访问Dserver端,也可以是直接访问PDserver端,这样可以预防单点故障,减少Dserver 端的

    负载,实际配置如下:

    Dserver端:

    #1

     

    PDserver 端:

    #2

    #3 双端 重启 keepalived

     

    #4 查看

    Dserver 端:

     

    PDserver端:

    #测试 1 (假设 Dserver  端宕掉了 )

    @1

    @2查看Dserver端:

    vip 漂移了

    @3查看PDserver 端:

    会发现Dserver 端的vip 漂移到了 PDserver端

    # 测试2 ( PDserver 端宕掉了)

    @1

    @2查看PDserver 端:

    @3 查看Dserver端:

     

    PDserver 端 的 vip  漂移到了 Dserver 端

    补充:

    在宕掉Dserver 端后 ,vip 漂移到了PDserver 端, 然而这时 Dserver端 修好了会发生呢?vip 会回来么?

    &1 测试

    Dserver 端 (处于宕掉状态):

     

    Dserver 端  (处于修好状态):

    这时会发现,ip 又被抢回来了, 这是因为 默认设置的  抢占模式, 我们可以 在配置文件中修改成非抢占模式,这样’它‘的vip 就不会回来了

    配置如下:

    #

    Dserver 端:

     

    凭借  优先级去分辨 谁是主备   添加  noprempt 

    #重启下 keepalived 生效

    #宕掉并查看

     

    # 修复好  查看

    vip 没有被抢回来。

  • 相关阅读:
    联系我们
    RCMTM _百度百科
    DotNetCore跨平台~Dockerfile的解释
    DotNetCore跨平台~服务总线_事件总线的重新设计
    DotNetCore跨平台~问题~NETCoreAPP, Version=v1.0' compatible with one of the target runtimes: 'win10-x64
    DotNetCore跨平台~EFCore连接Mysql的方式
    何时可以开启透明数据加密(TDE)?
    通信系统概论---传输介质
    struts2.x中因变量命名错误不被注入到值栈的问题
    【面向代码】学习 Deep Learning(三)Convolution Neural Network(CNN)
  • 原文地址:https://www.cnblogs.com/myxxjie/p/10853414.html
Copyright © 2020-2023  润新知