【keepalived双机热备与 lvs(DR)】

目录

一、概述

1.简介

2.原理

3.作用

二、安装

1.配置文件

2.配置项

三、功能模块

1.core

2.vrrp

3.check

四、配置双机热备

1.master

2.backup

五、验证

1.ping验证

2.服务验证

六、双机热备的脑裂现象

七、keepalived+lvs(DR)

1.作用

2.调度器配置

2.1 安装keepalived

2.2 安装ipvsadm

2.3 配置keepalived

2.3.1 主

2.3.1 从

2.4 查看lvs节点状态

3.web节点配置

3.1 调整ARP参数

3.2 配置虚拟IP地址

3.3 添加回环路由

3.4 安装nginx


一、概述

1.简介

Keepalived 是一个基于 VRRP 协议来实现的 LVS 服务高可用方案,可以解决静态路由出现的单点故障问题。

2.原理

在一个 LVS 服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,但是对外表现为一个虚拟 IP,主服务器会发送 VRRP 通告信息给备份服务器,当备份服务器收不到 VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟 IP,继续提供服务,从而保证了高可用性。

3.作用

解决单点故障问题

二、安装

yum install -y keepalived

1.配置文件

/etc/keepalived/keepalived.conf

2.配置项

router_id 1        定义节点id

state MASTER|BACKUP        定义节点主从状态

interface ens33        配置监听的网卡

virtual_router_id 51        同一个热备组要保持一致

priority 100        节点优先级

advert_int 1        多少秒进行一次心跳检测

authentication {
        auth_type PASS
        auth_pass 1111
    }         keepalived节点的认证方式,同一个keepalived双机热备组一定要保持一致

virtual_ipaddress         配置VIP,即漂移地址

vrrp        

        vrrp_script chk_nginx_server {
               script "/etc/keepalived/chk_nginx.sh "
               interval 1
               weight -2
        }
 

三、功能模块

1.core

主进程启动

2.vrrp

vrrp协议:热备份路由协议

3.check

健康状态检测

四、配置双机热备

1.master

vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.42.100
        192.168.42.101
        192.168.42.102
    }
}

2.backup

vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.42.100
        192.168.42.101
        192.168.42.102
    }
}

五、验证

1.curl验证

 

2.关闭主服务验证

 

 

六、双机热备的脑裂现象

  • Keepalived配置里同一 VRRP实例如果 virtual_router_id两端参数配置不一致也会导致裂脑问题发生。
  • vrrp实例名字不一致、优先级一致
  • 防火墙打开,导致心跳无法正常通信
  • 网卡故障        网卡进行多路复用

 :VIP无法通信,注释:vrrp_strict

七、keepalived+lvs(DR)

1.作用

  • 使用keepalived解决lvs的单点故障
  • 高可用集群

2.调度器配置

2.1 安装keepalived

yum install -y keepalived

2.2 安装ipvsadm

yum install -y ipvsadm
modprobe ip_vs
lsmod |grep ip_vs

2.3 配置keepalived

2.3.1 主

vim /etc/keepalived/keepalived.conf

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL1
   vrrp_skip_check_adv_addr
   #vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state MASTER
    interface
ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
    
192.168.42.200        
    }
}

virtual_server 192.168.42.200 80 {
    delay_loop 6
    lb_algo rr
    lb_kind
DR
    #persistence_timeout 50
    protocol TCP

    real_server 192.168.42.5 80 {
        weight 1
       
HTTP_GET {
           
url {
              path /
            }

            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
    real_server 1
92.168.42.6 80 {
        weight 1
       
HTTP_GET {
           
url {
              path /
            }

            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3

        }
    }
}

2.3.1 从

vim /etc/keepalived/keepalived.conf

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL2
   vrrp_skip_check_adv_addr
   #vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state
BACKUP
    interface ens33
    virtual_router_id 51
    priority
90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
    
192.168.42.200        
    }
}

virtual_server 192.168.42.200 80 {
    delay_loop 6
    lb_algo rr
    lb_kind
DR
    #persistence_timeout 50
    protocol TCP

    real_server 192.168.42.5 80 {
        weight 1
       
HTTP_GET {
           
url {
              path /
            }

            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
    real_server 1
92.168.42.6 80 {
        weight 1
       
HTTP_GET {
           
url {
              path /
            }

            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3

        }
    }
}

2.4 查看lvs节点状态

systemctl start keepalived
ipvsadm -ln

ip a

3.web节点配置

3.1 调整ARP参数

vim /etc/sysctl.conf
        net.ipv4.conf.all.arp_ignore=1 
        net.ipv4.conf.all.arp_announce=2 
        net.ipv4.conf.default.arp_ignore=1 
        net.ipv4.conf.default.arp_announce = 2 
        net.ipv4.conf.lo.arp_ignore = 1 
        net.ipv4.conf.lo.arp_announce=2
sysctl -p

3.2 配置虚拟IP地址

cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0

        DEVICE=lo:0
        IPADDR=192.168.115.200
        NETMASK=255.255.255.255
        ONBOOT=yes
        NAME=loopback:0

3.3 添加回环路由

route add -host 192.168.42.200/32 dev lo:0

3.4 测试

 

 断掉主,测试备

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/52596.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在C++中利用rapidjson实现Python中的字典(Dict)

python 中的dict如下: Dicts {"Stain":{"ResultType": "Physics","Results": [{"Key": "KeyPoints","Title": "瑕疵区域","Unit": "","Value": …

中小金融机构数字化转型最大的挑战是什么?

中国银保监会办公厅印发的《关于银行业保险业数字化转型的指导意见》强调,银行保险机构要加强顶层设计和统筹规划,科学制定数字化转型战略,统筹推进工作,并从战略规划与组织流程建设、业务经营管理数字化、数据能力建设、科技能力…

性能测试告诉你 mysql 数据库存储引擎该如何选?

简介 数据库存储引擎:是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以…

Wireshark数据抓包分析之互联网控制报文协议_ICMP

一、实验目的: 通过使用wireshark抓取的ICMP数据包对这个ICMP控制报文进行分析 二、预备知识: 1.ICMP协议概述:ICMP是Internet Control Message Protocol的缩写,即互联网控制报文协议。它是TCP/IP协议族的一个子协议,用于IP主机、…

HDLBits-Verilog学习记录 | Verilog Language-Vectors

文章目录 11.vectors | vector012.vectors in more detail | vector113.Vector part select | Vector214.Bitwise operators | Vectorgates15.Four-input gates | Gates416.Vector concatenation operator | Vector317.Vector reversal 1 | Vectorr18. Replication operator | …

SD-WebUI和ComfyUI的局域网访问设置!

如何通过局域网访问AI绘画软件,这是星球成员提的一个问题,而且两个软件都问到了,我也回答过了。现在把内容整理一下发出来,大家可能用得着。 SD-WebUI和ComfyUI这两个AI绘画工具都是通过浏览器来使用,但是默认情况下并…

Request对象和response对象

一、概念 request对象和response对象是通过Servlet容器(如Tomcat)自动创建并传递给Servlet的。 Servlet容器负责接收客户端的请求,并将请求信息封装到request对象中,然后将request对象传 递给相应的Servlet进行处理。类似地&…

低代码赋能| 智慧园区项目开发痛点及解决方案

智慧园区是一个综合体,集技术开发、产业发展和学术研究于一体。作为未来智慧城市建设的核心,智慧园区充当着“产业大脑”和“指挥中心”的角色。它通过整合园区内的制造资源和第三方服务能力,实现园区各组成部分的协调运作、良性循环和相互促…

PHP文字转图片功能把文字描边功能

要实现把文字描边的功能&#xff0c;可以使用PHP的GD库来进行操作。GD库是一个用于生成图像的扩展库&#xff0c;可以在PHP中用来处理图像。 以下是一个示例代码&#xff0c;用于将文字描边并生成图片&#xff1a; php <?php // 创建画布 $image imagecreatetruecolor(4…

redis 基础篇(redis 理解)

目录 redis 特性介绍 redis 的一些特性&#xff08;优点&#xff09; 1. 在内存中存储数据 2. 可编程的 3. 可扩展 4. 持久化 5. 支持集群 6. 高可用 redis 的应用场景 数据库 作缓存 会话存储 作消息队列 redis 不适合做的事情 redis 介绍 redis 客户端形态 命…

UBI管理开销

什么是管理开销呢&#xff1f;为了管理Nand的空间&#xff0c;实现磨损平衡、坏块管理等等功能&#xff0c;必须占用一部分空间来存储关键数据&#xff0c;就好像文件系统的元数据。管理占用的空间是不会呈现给用户空间使用的&#xff0c;这空间即为管理的开销。 对Nand来说&a…

【数学建模】清风数模中正课4 拟合算法

拟合算法 在插值算法中&#xff0c;我们得到的曲线一定是要经过所有的函数点的&#xff1b;而用拟合所得到的曲线则不一样&#xff0c;拟合问题中&#xff0c;不需要得到的曲线一定经过给定的点。 拟合的目的是寻求一个函数曲线&#xff0c;使得该曲线在某种准则下与所有的数…

TCP可靠性机制

确认号/序列号/ACK TCP帮助确保数据的准确传递。为了做到这一点&#xff0c;其使用了一些特殊的标记和信息&#xff0c;其中包括序号、确认号和ACK字段。 其中&#xff0c;它将每个字节的数据都进行了编号. 即为序列号. 序列号&#xff1a;就像给书中的每一页都编了号码一样&a…

EMR电子病历系统 SaaS电子病历编辑器源码 电子病历模板编辑器

EMR&#xff08;Electronic Medical Record&#xff09;指的是电子病历。它是一种基于电子文档的个人医疗记录&#xff0c;可以包括病人的病史、诊断、治疗方案、药物处方、检查报告和护理计划等信息。EMR采用计算机化的方式来存储、管理和共享这些信息&#xff0c;以便医生和医…

RISC-V中国峰会 | 256核服务器高调亮相,谁与争锋?

8月23日&#xff0c;第三届RISC-V中国峰会&#xff08;RISC-V Summit China 2023&#xff09;在北京香格里拉饭店正式开幕&#xff0c;来自世界各地的行业精英汇聚一堂&#xff0c;为RISC-V生态系统建言献策&#xff0c;凝心聚力&#xff01; 中国工程院院士倪光南、RISC-V国际…

高等数学(上)【基础学科、极限部分】

学习【高等数学&#xff08;上&#xff09;】6小时从0基础直追满绩&#xff01;_哔哩哔哩_bilibili 高数基础 高等数学无非分为三个部分&#xff1a;极限、导数&#xff08;微分&#xff09;和积分——构成了微积分 高等数学学的就是 微积分&#xff0c;整体其实只是一个思想 …

K8S cluster with multi-masters on Azure VM

拓扑参考&#xff1a; 在 Azure VM 实例上部署 KubeSphere 基础模板 需要修改 IP 地址和 VM Image的可以在模板中修改。 {"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#","contentVersion": &q…

(GPT、GEE)遥感云大数据、洪涝灾害监测、红树林遥感制图、河道轮廓监测、洪涝灾害监测、GRACE重力卫星、源遥感影像

近年来遥感技术得到了突飞猛进的发展&#xff0c;航天、航空、临近空间等多遥感平台不断增加&#xff0c;数据的空间、时间、光谱分辨率不断提高&#xff0c;数据量猛增&#xff0c;遥感数据已经越来越具有大数据特征。遥感大数据的出现为相关研究提供了前所未有的机遇&#xf…

达梦数据库分区表介绍

概述 本文将对达梦数据库分区表概念、创建、维护进行介绍。 1.分区表概念 1.1 分区表使用场景 近几年&#xff0c;随着移动支付快速发展&#xff0c;银行交易系统中【移动小微支付场景】使用越来越多&#xff0c;系统中流水账单表数据量巨大&#xff0c;往往上TB。 为了提高…

Embedding 向量生成GPT数据使用相关

如果使用python3.6的版本&#xff0c;使用pycharm创建工程&#xff0c;那么默认会使用 docx包&#xff0c;这样运行程序会爆异常&#xff0c;突然想起以前请教的一个大神&#xff0c;想当 初&#xff0c;这个问题困扰了我 两天时间&#xff0c;在此记录一下&#xff1a; pytho…