4.keepalived高可用

news2024/11/20 3:34:07

keepalived高可用

  • 一、keepalived高可用介绍
  • 二、keepalived高可用设计
    • 1、两台haproxy负载均衡器配置一致
    • 2、在haproxy上分别安装keepalived
    • 3、配置keepalived实现高可用
    • 4、分别在两个调度器上查看浮动IP
    • 5、测试客户端通过浮动IP可正常访问业务
    • 6、模拟故障,将优先级高的设备停机,测试客户端还可正常访问
    • 7、配置脚本,检测虚拟服务故障,实现浮动IP转移

一、keepalived高可用介绍

解决单点故障,提升服务高可用

基于VRRP协议设计

原理:
将多个物理设备放入到一个VRRP组中,通过VRRP组形成浮动IP,通过优先级进行主备选举,优先级高为主,浮动IP会配置到主设备上,同时主设备会发送心跳以通知自己的状态,备设备连续一段时间接收不到心跳,则认为主宕机,会自动接替主的工作

心跳:
默认以组播的方式发送心跳,地址224.0.0.18

影响心跳的因素:
1、防火墙
2、时间不同步
3、网络堵塞,多块网卡分担流量

二、keepalived高可用设计

在这里插入图片描述

1、两台haproxy负载均衡器配置一致

客户端通过DNS解析两台haproxy都可正常访问 业务

2、在haproxy上分别安装keepalived

[root@master_haproxy ~]# yum install -y keepalived
[root@slave_haproxy ~]# yum install -y keepalived

3、配置keepalived实现高可用

规划浮动IP: 192.168.140.100

主:

[root@master_haproxy ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   router_id master_haproxy
}

vrrp_instance haproxy {
    state MASTER
    interface ens33
    virtual_router_id 88
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass redhat
    }
    virtual_ipaddress {
        192.168.140.100
    }
}

备:

[root@slave_haproxy ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   router_id slave_haproxy
}

vrrp_instance haproxy {
    state BACKUP
    interface ens33
    virtual_router_id 88
    priority 50
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass redhat
    }
    virtual_ipaddress {
        192.168.140.100
    }
}

4、分别在两个调度器上查看浮动IP

主:

[root@master_haproxy ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:cc:6b:2f brd ff:ff:ff:ff:ff:ff
    inet 192.168.140.10/24 brd 192.168.140.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet 192.168.140.100/32 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fecc:6b2f/64 scope link 
       valid_lft forever preferred_lft forever

正常情况下,浮动只会出现的优先级高的设备上

备:

[root@slave_haproxy ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:29:e5:43 brd ff:ff:ff:ff:ff:ff
    inet 192.168.140.11/24 brd 192.168.140.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe29:e543/64 scope link 
       valid_lft forever preferred_lft forever

5、测试客户端通过浮动IP可正常访问业务

C:\Users\admin>ping blog.linux.com

正在 Ping blog.linux.com [192.168.140.100] 具有 32 字节的数据:
来自 192.168.140.100 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.140.100 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.140.100 的回复: 字节=32 时间=1ms TTL=64

6、模拟故障,将优先级高的设备停机,测试客户端还可正常访问

7、配置脚本,检测虚拟服务故障,实现浮动IP转移

[root@master_haproxy ~]# cat /etc/keepalived/check_haproxy.sh 
#!/bin/bash
#

netstat -tunlp | grep haproxy &> /dev/null

if [ $? -ne 0 ]; then
   killall  keepalived
fi

[root@master_haproxy ~]# ls -l /etc/keepalived/
total 8
-rwxr-xr-x 1 root root 107 Jun 12 11:04 check_haproxy.sh
-rw-r--r-- 1 root root 469 Jun 12 10:59 keepalived.conf
[root@master_haproxy ~]# cat /etc/keepalived/keepalived.conf 

..........
vrrp_script check_haproxy {      // 定义外部脚本 
   script "/etc/keepalived/check_haproxy.sh"
   interval 1
}

vrrp_instance haproxy {
   ..............
    track_script {      // 调用外部脚本 
       check_haproxy
    }
}

测试:关掉虚拟服务,测试浮动IP的转移 

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

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

相关文章

3个方法 介绍现货白银是如何操作的

很多朋友看到近期现货白银价格上涨得这么火热&#xff0c;他们也跟风入场开户&#xff0c;成为了白银投资者想去买卖白银。但是他们发现&#xff0c;看着走势涨涨跌跌&#xff0c;而自己却不会操作。下面我们就来讨论一下&#xff0c;现货白银是如何操作的。 看K线操作。我们打…

【菜狗学前端】在原生微信小程序使用腾讯地图API接口

一直想调用一下地图API接口什么的&#xff0c;刚好遇到了这个实验就浅浅研究写了一下&#xff0c;顺便总结一下给其他没太了解的人一点便利&#xff0c;希望能够对你有所帮助~ 如何引入、配置、使用、显示。 PS:要是嫌麻烦想要源码/有什么问题欢迎评论/私信&#xff0c;问题的话…

虹科案例|为什么PCAN MicroMod FD是数模信号转换的首选方案?

导读&#xff1a;精确的信号采集和转换是确保生产效率和质量的关键。虹科PCAN MicroMod FD系列模块&#xff0c;以其卓越的数模信号转换能力&#xff0c;为工程师们提供了一个强大的工具。本文将深入探讨如何通过虹科PCAN MicroMod FD系列模块&#xff0c;将模拟信号无缝转换为…

容器:现代计算的基础设施

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

15. 《C语言》——【如何动态内存开辟】

亲爱的读者&#xff0c;大家好&#xff01;我是一名正在学习编程的高校生。在这个博客里&#xff0c;我将和大家一起探讨编程技巧、分享实用工具&#xff0c;并交流学习心得。希望通过我的博客&#xff0c;你能学到有用的知识&#xff0c;提高自己的技能&#xff0c;成为一名优…

MySQL-----JOIN语句之左连接、右连接

接着上文我们将基于学生&#xff0c;课程&#xff0c;考试信息三个表对内连接的总结&#xff0c;我们再来对左右连接进行一个总结&#xff0c;三个表结构以及表内数据如下图所示&#xff1a; 左连接 为了便于展示左右连接的区别&#xff0c;我们在student表里插入了一位成员…

用英语介绍端午节,柯桥零基础英语培训

端午节 Dragon Boat Festival 中国传统节日&#xff0c;农历五月初五。相传古代诗人屈原在五月初五投江自杀&#xff0c;后人把这天作为节日纪念他。有划龙舟比赛、包粽子等风俗。 A traditional Chinese festival on the fifth day of the fifth lunar month. Legend has i…

2024苹果开发者大会:Siri 接上 ChatGPT,OpenAI苹果强强联合

一直在生成式AI战争中默默无闻的苹果终于憋不住了&#xff01; 北京时间6月11日凌晨1点&#xff0c;2024苹果WWDC全球开发者大会在苹果总部 Apple Park开幕。Day 1的发布会在介绍完各个操作系统的更新后&#xff0c;一半的时间都留给了本次WWDC的重头戏——苹果AI&#xff08;…

Windows11上安装docker(WSL2后端)和使用docker安装MySQL和达梦数据库

Windows11上安装docker&#xff08;WSL2后端&#xff09;和使用docker安装MySQL和达梦数据库 1. 操作系统环境2. 首先安装wsl2.1 关于wsl2.2 安装wsl2.3 查看可用的wsl2.4 安装ubuntu-22.042.5 查看、启动ubuntu-22.04应用2.6 上面安装开了daili2.7 wsl的更多参考 3. 下载Docke…

【图书推荐】《Spark 3.0大数据分析与挖掘:基于机器学习》

本书重点 学习Spark 3.0 ML模块的机器学习算法&#xff0c;用于大数据分析与挖掘。 内容简介 Spark作为新兴的、应用范围广泛的大数据处理开源框架&#xff0c;吸引了大量的大数据分析与挖掘从业人员进行相关内容的学习与开发&#xff0c;其中ML是Spark 3.0机器学习框架使用…

rigid_trans_object_model_3d----------对3D对象模型应用刚性3D转换

Description rigid_trans_object_model_3d对3D对象模型应用刚性3D变换&#xff0c;即旋转和平移&#xff0c;并返回转换后的3D对象模型的句柄。转换由Pose中给出的姿态来描述&#xff0c;形式如下&#xff0c;其中mcsi表示输入对象模型的坐标系&#xff0c;cst表示转换后模型的…

Vue 3与ESLint、Prettier:构建规范化的前端开发环境

title: Vue 3与ESLint、Prettier&#xff1a;构建规范化的前端开发环境 date: 2024/6/11 updated: 2024/6/11 publisher: cmdragon excerpt: 这篇文章介绍了如何在Vue 3项目中配置ESLint和Prettier以统一代码风格&#xff0c;实现代码规范性与可读性的提升。通过设置规则、解…

C++入门 string(2)

目录 string类的常用接口说明 string类对象的容量操作 size & max_size & length & capacity empty & clear reserve & resize string类对象的元素访问 at & back & front string类对象的修改操作&#xff08;字符串操作&#xff09; sub…

梯度提升树GBDT系列算法

Boosting方法的基本元素与基本流程&#x1f4ab; 在Boosting集成算法当中&#xff0c;我们逐一建立多个弱评估器&#xff08;基本是决策树&#xff09;&#xff0c;并且下一个弱评估器的建立方式依赖于上一个弱评估器的评估结果&#xff0c;最终综合多个弱评估器的结果进行输出…

启明智显工业级HMI芯片Model3A功耗特性--(以M3A 7寸触摸屏为例)

** 前言&#xff1a; ** 「Model系列」芯片是启明智显针对工业、行业以及车载产品市场推出的系列HMI芯片&#xff0c;主要应用于工业自动化、智能终端HMI、车载仪表盘、两轮车彩屏仪表、串口屏、智能中控、智能家居、充电桩显示屏、储能显示屏、工业触摸屏等领域。此系列具有…

错误代码 -2147136892如何解决

错误代码 -2147136892 在 LabVIEW 中表示无法找到 CANopen 硬件。这个错误可能是由以下几个原因引起的&#xff0c;如安装不正确、端口名称错误或硬件连接问题。以下是可能的原因和详细的解决步骤&#xff1a; 可能的原因 CANopen 硬件安装不正确 硬件可能未正确安装或连接。 …

六大维度全面焕新升级!麒麟信安服务器操作系统V3.6.1引领未来计算

昨日&#xff0c;openEuler 24.03 LTS 正式发布&#xff0c;麒麟信安作为openEuler社区重要贡献者和参与者&#xff0c;充分发挥自身在国产操作系统领域的技术优势&#xff0c;在打造安全可靠、极致体验的操作系统上与社区共同努力&#xff0c;同步推出服务器操作系统V3.6.1&am…

进口不锈钢硬密封蝶阀选型-美国品牌

进口不锈钢硬密封蝶阀的选型需要综合考虑多个因素&#xff0c;以确保阀门能够满足实际工况的需求。以下是根据参考文章中的信息&#xff0c;对进口不锈钢硬密封蝶阀选型进行的详细分点表示和归纳&#xff1a; 一、流体介质 种类&#xff1a;首先明确将要处理的流体介质种类&a…

长城汽车:坚定战略往往更难

长城汽车在2024年粤港澳大湾区车展上的表现和战略方向。 以下是对通稿中信息的深入解读&#xff1a; 1. **车展亮相的重要性**&#xff1a; - 长城汽车选择在粤港澳大湾区车展这一重要平台上展示其旗舰产品&#xff0c;这不仅是对产品实力的展示&#xff0c;也是品牌影响力提升…

Marin说PCB之PCB封装库路径知多少?

小编我之前看庆余年2的时候有一段春闱考试片段&#xff0c;范闲大人四位门生只出现了三个&#xff0c;一个人一直活在其他人的嘴里&#xff0c;他就是成佳林。剧中有一段黑屏的时间其实就是致敬所有考生们&#xff0c;这个彩蛋的立意真的高啊&#xff0c;之前还没发现这个&…