keepalived 的安装部署及使用详细完整版

架构

在这里插入图片描述

1.安装

yum install keepalived -y

systemctl enable keepalived
 
systemctl restart keepalived


systemctl status keepalived

2.部署配置样例

vim /etc/keepalived/keepalived.conf


global_defs {
    router_id PROXYSQL_HA
    script_user root
    enable_script_security
}
vrrp_script chk_proxysql_port {
    script "/etc/keepalived/check_proxysql.sh"
    interval 1
    weight -50
    fall 2
    rise 2
}
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    mcast_src_ip 192.124.107.129 
    unicast_peer {
        192.124.126.109 

    }
    virtual_router_id 50
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1qaz2wsx
    }
    virtual_ipaddress {
        192.124.91.241/17 dev eth0 
    }
    track_script {
        chk_proxysql_port
    }
}
            

检查脚本

#!/bin/bash
/bin/netstat -na | grep -e '0.0.0.0:5432' &>/dev/null

全局定义块

这部分主要用来设置Keepalived的故障通知机制和Router ID标识

global_defs {
    router_id PROXYSQL_HA
    script_user root
    enable_script_security
}

VRRP实例定义模块

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    mcast_src_ip 192.124.107.129  #当前机器
    unicast_peer {
        192.124.126.109   #另一台机器

    }
    virtual_router_id 50
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1qaz2wsx
    }
    virtual_ipaddress {
        192.124.91.241/17 dev eth0   # 设置虚拟ip,主节点自动添加
    }
    track_script {
        chk_proxysql_port
    }
}
  • 如果两节点的上联交换机禁用了组播,则只能采用vrrp单播通告的方式
mcast_src_ip 192.124.107.129  #当前机器
    unicast_peer {
        192.124.126.109   #另一台机器

    }
  • 定义实例名称为VI_1
  • state 表示该实例的角色状态,有MASTER和BACKUP两种主备状态。
  • interface 对外提供服务的网络接口eth0
  • virtual_router_id 虚拟路由ID标识,主备服务器配置中相同实例的ID必须一致,否则将出现脑裂问题。
  • priority表示实例优先级,数字越大,优先级越高。
  • advert_int为同步通知间隔。主备之间通信检查的时间间隔,默认为1秒。
  • authentication 权限认证配置。
  • virtual_ipaddress 虚拟IP地址;可以配置多个IP,每个IP占一行。注意,这里的IP就是在工作中需要和域名绑定的ip,即可配置的高可用服务监听的ip保持一致。

3.切换日志分析

日志查看方式

tail -22f /var/log/messages | grep Keepalived

节点 192.160.200.3开启后备升为主

Nov 14 14:47:52 192-168-3-193 Keepalived[225718]: Starting VRRP child process, pid=225719
Nov 14 14:47:52 192-168-3-193 Keepalived_vrrp[225719]: Registering Kernel netlink reflector
Nov 14 14:47:52 192-168-3-193 Keepalived_vrrp[225719]: Registering Kernel netlink command channel
Nov 14 14:47:52 192-168-3-193 Keepalived_vrrp[225719]: Opening file '/etc/keepalived/keepalived.conf'.
Nov 14 14:47:52 192-168-3-193 Keepalived_vrrp[225719]: Assigned address 192.160.200.3 for interface eth0
Nov 14 14:47:52 192-168-3-193 Keepalived_vrrp[225719]: Assigned address fe80::f8a0:e0ff:fee8:b800 for interface eth0
Nov 14 14:47:52 192-168-3-193 Keepalived_vrrp[225719]: Registering gratuitous ARP shared channel
Nov 14 14:47:52 192-168-3-193 Keepalived_vrrp[225719]: (VI_1) removing VIPs.
Nov 14 14:47:52 192-168-3-193 Keepalived_vrrp[225719]: (VI_1) Entering BACKUP STATE (init)
Nov 14 14:47:52 192-168-3-193 Keepalived_vrrp[225719]: VRRP sockpool: [ifindex(2), family(IPv4), proto(112), unicast(1), fd(11,12)]
Nov 14 14:47:52 192-168-3-193 Keepalived_vrrp[225719]: VRRP_Script(chk_proxysql_port) succeeded
Nov 14 14:51:04 192-168-3-193 Keepalived_vrrp[225719]: (VI_1) Backup received priority 0 advertisement
Nov 14 14:51:05 192-168-3-193 Keepalived_vrrp[225719]: (VI_1) Receive advertisement timeout
Nov 14 14:51:05 192-168-3-193 Keepalived_vrrp[225719]: (VI_1) Entering MASTER STATE
Nov 14 14:51:05 192-168-3-193 Keepalived_vrrp[225719]: (VI_1) setting VIPs.
Nov 14 14:51:05 192-168-3-193 Keepalived_vrrp[225719]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:51:05 192-168-3-193 Keepalived_vrrp[225719]: (VI_1) Sending/queueing gratuitous ARPs on eth0 for 192.160.100.3
Nov 14 14:51:05 192-168-3-193 Keepalived_vrrp[225719]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:51:05 192-168-3-193 Keepalived_vrrp[225719]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:51:05 192-168-3-193 Keepalived_vrrp[225719]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:51:05 192-168-3-193 Keepalived_vrrp[225719]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:51:06 192-168-3-193 Keepalived_vrrp[225719]: (VI_1) Master received advert from 192.160.220.118 with same priority 100 but higher IP address than ours
Nov 14 14:51:06 192-168-3-193 Keepalived_vrrp[225719]: (VI_1) Entering BACKUP STATE
Nov 14 14:51:06 192-168-3-193 Keepalived_vrrp[225719]: (VI_1) removing VIPs.
Nov 14 14:51:51 192-168-3-193 Keepalived_vrrp[225719]: (VI_1) received lower priority (50) advert from 192.160.220.118 - discarding
Nov 14 14:51:52 192-168-3-193 Keepalived_vrrp[225719]: (VI_1) received lower priority (50) advert from 192.160.220.118 - discarding
Nov 14 14:51:53 192-168-3-193 Keepalived_vrrp[225719]: (VI_1) received lower priority (50) advert from 192.160.220.118 - discarding
Nov 14 14:51:54 192-168-3-193 Keepalived_vrrp[225719]: (VI_1) Receive advertisement timeout
Nov 14 14:51:54 192-168-3-193 Keepalived_vrrp[225719]: (VI_1) Entering MASTER STATE
Nov 14 14:51:54 192-168-3-193 Keepalived_vrrp[225719]: (VI_1) setting VIPs.
Nov 14 14:51:54 192-168-3-193 Keepalived_vrrp[225719]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:51:54 192-168-3-193 Keepalived_vrrp[225719]: (VI_1) Sending/queueing gratuitous ARPs on eth0 for 192.160.100.3
Nov 14 14:51:54 192-168-3-193 Keepalived_vrrp[225719]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:51:54 192-168-3-193 Keepalived_vrrp[225719]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:51:54 192-168-3-193 Keepalived_vrrp[225719]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:51:54 192-168-3-193 Keepalived_vrrp[225719]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:51:59 192-168-3-193 Keepalived_vrrp[225719]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:51:59 192-168-3-193 Keepalived_vrrp[225719]: (VI_1) Sending/queueing gratuitous ARPs on eth0 for 192.160.100.3
Nov 14 14:51:59 192-168-3-193 Keepalived_vrrp[225719]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:51:59 192-168-3-193 Keepalived_vrrp[225719]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:51:59 192-168-3-193 Keepalived_vrrp[225719]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:51:59 192-168-3-193 Keepalived_vrrp[225719]: Sending gratuitous ARP on eth0 for 192.160.100.3


节点 192.160.220.118开启后主降为备

关掉服务触发

Nov 14 14:47:51 192-160-220-118 Keepalived[20622]: Starting Keepalived v1.3.5 (03/19,2017), git commit v1.3.5-6-g6fa32f2
Nov 14 14:47:51 192-160-220-118 Keepalived[20622]: Opening file '/etc/keepalived/keepalived.conf'.
Nov 14 14:47:51 192-160-220-118 Keepalived[20623]: Starting Healthcheck child process, pid=20624
Nov 14 14:47:51 192-160-220-118 Keepalived[20623]: Starting VRRP child process, pid=20625
Nov 14 14:47:51 192-160-220-118 Keepalived_vrrp[20625]: Registering Kernel netlink reflector
Nov 14 14:47:51 192-160-220-118 Keepalived_vrrp[20625]: Registering Kernel netlink command channel
Nov 14 14:47:51 192-160-220-118 Keepalived_vrrp[20625]: Registering gratuitous ARP shared channel
Nov 14 14:47:51 192-160-220-118 Keepalived_vrrp[20625]: Opening file '/etc/keepalived/keepalived.conf'.
Nov 14 14:47:51 192-160-220-118 Keepalived_vrrp[20625]: VRRP_Instance(VI_1) removing protocol VIPs.
Nov 14 14:47:51 192-160-220-118 Keepalived_vrrp[20625]: Using LinkWatch kernel netlink reflector...
Nov 14 14:47:51 192-160-220-118 Keepalived_vrrp[20625]: VRRP sockpool: [ifindex(2), proto(112), unicast(1), fd(10,11)]
Nov 14 14:47:51 192-160-220-118 Keepalived_healthcheckers[20624]: Opening file '/etc/keepalived/keepalived.conf'.
Nov 14 14:47:51 192-160-220-118 Keepalived_vrrp[20625]: VRRP_Script(chk_proxysql_port) succeeded
Nov 14 14:47:51 192-160-220-118 Keepalived_vrrp[20625]: VRRP_Instance(VI_1) Transition to MASTER STATE
Nov 14 14:47:52 192-160-220-118 Keepalived_vrrp[20625]: VRRP_Instance(VI_1) Entering MASTER STATE
Nov 14 14:47:52 192-160-220-118 Keepalived_vrrp[20625]: VRRP_Instance(VI_1) setting protocol VIPs.
Nov 14 14:47:52 192-160-220-118 Keepalived_vrrp[20625]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:47:52 192-160-220-118 Keepalived_vrrp[20625]: VRRP_Instance(VI_1) Sending/queueing gratuitous ARPs on eth0 for 192.160.100.3
Nov 14 14:47:52 192-160-220-118 Keepalived_vrrp[20625]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:47:52 192-160-220-118 Keepalived_vrrp[20625]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:47:52 192-160-220-118 Keepalived_vrrp[20625]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:47:52 192-160-220-118 Keepalived_vrrp[20625]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:47:57 192-160-220-118 Keepalived_vrrp[20625]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:47:57 192-160-220-118 Keepalived_vrrp[20625]: VRRP_Instance(VI_1) Sending/queueing gratuitous ARPs on eth0 for 192.160.100.3
Nov 14 14:47:57 192-160-220-118 Keepalived_vrrp[20625]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:47:57 192-160-220-118 Keepalived_vrrp[20625]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:47:57 192-160-220-118 Keepalived_vrrp[20625]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:47:57 192-160-220-118 Keepalived_vrrp[20625]: Sending gratuitous ARP on eth0 for 192.160.100.3
Nov 14 14:48:34 192-160-220-118 Keepalived_vrrp[20625]: /etc/keepalived/check_proxysql.sh exited with status 1
Nov 14 14:48:35 192-160-220-118 Keepalived_vrrp[20625]: /etc/keepalived/check_proxysql.sh exited with status 1
Nov 14 14:48:35 192-160-220-118 Keepalived_vrrp[20625]: VRRP_Script(chk_proxysql_port) failed
Nov 14 14:48:36 192-160-220-118 Keepalived_vrrp[20625]: VRRP_Instance(VI_1) Changing effective priority from 100 to 50
Nov 14 14:48:36 192-160-220-118 Keepalived_vrrp[20625]: /etc/keepalived/check_proxysql.sh exited with status 1
Nov 14 14:48:37 192-160-220-118 Keepalived_vrrp[20625]: /etc/keepalived/check_proxysql.sh exited with status 1
Nov 14 14:48:38 192-160-220-118 Keepalived_vrrp[20625]: /etc/keepalived/check_proxysql.sh exited with status 1
Nov 14 14:48:39 192-160-220-118 Keepalived_vrrp[20625]: /etc/keepalived/check_proxysql.sh exited with status 1
Nov 14 14:48:39 192-160-220-118 Keepalived_vrrp[20625]: VRRP_Instance(VI_1) Received advert with higher priority 100, ours 50
Nov 14 14:48:39 192-160-220-118 Keepalived_vrrp[20625]: VRRP_Instance(VI_1) Entering BACKUP STATE
Nov 14 14:48:39 192-160-220-118 Keepalived_vrrp[20625]: VRRP_Instance(VI_1) removing protocol VIPs.
Nov 14 14:48:40 192-160-220-118 Keepalived_vrrp[20625]: /etc/keepalived/check_proxysql.sh exited with status 1
Nov 14 14:48:41 192-160-220-118 Keepalived_vrrp[20625]: /etc/keepalived/check_proxysql.sh exited with status 1
Nov 14 14:48:42 192-160-220-118 Keepalived_vrrp[20625]: /etc/keepalived/check_proxysql.sh exited with status 1
Nov 14 14:48:43 192-160-220-118 Keepalived_vrrp[20625]: /etc/keepalived/check_proxysql.sh exited with status 1
Nov 14 14:48:44 192-160-220-118 Keepalived_vrrp[20625]: /etc/keepalived/check_proxysql.sh exited with status 1
Nov 14 14:48:45 192-160-220-118 Keepalived_vrrp[20625]: /etc/keepalived/check_proxysql.sh exited with status 1

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

掉瓶子小游戏

欢迎来到程序小院 掉瓶子 玩法:旋转的瓶子,根据瓶子方向,点击鼠标左键瓶子掉落,从桌面中间掉下即得1分,卡在桌边瓶子碎了游戏结束,快去掉瓶子吧^^。开始游戏https://www.ormcc.com/play/gameStart/203 htm…

TSINGSEE青犀视频平台EasyCVR自定义可视化页面一览

视频监控TSINGSEE青犀视频平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流,也能支…

【科研新手指南2】「NLP+网安」相关顶级会议期刊 投稿注意事项+会议等级+DDL+提交格式

「NLP网安」相关顶级会议&期刊投稿注意事项 写在最前面一、会议ACL (The Annual Meeting of the Association for Computational Linguistics)IH&MMSec (The ACM Workshop on Information Hiding, Multimedia and Security)CCS (The ACM Conference on Computer and Co…

使用JDBC连接数据库出现The server time zone value ‘�й���׼ʱ��‘ is unrecognized 的解决方案

看到网上的大佬们说是引入的依赖版本太高所以导致了时区有问题 但是我把依赖的版本改低了还是报错 用另一种办法直接在配置文件中修改url然后成功解决 spring:datasource:url: jdbc:mysql://127.0.0.1:3306/datasource?useUnicodetrue&characterEncodingutf8&useSSL…

山西电力市场日前价格预测【2023-11-15】

日前价格预测 预测说明: 如上图所示,预测明日(2023-11-15)山西电力市场全天平均日前电价为237.36元/MWh。其中,最高日前电价为360.45元/MWh,预计出现在00:15。最低日前电价为0.00元/MWh,预计出…

中国人民大学与加拿大女王大学金融硕士——热爱会穿越时间,埋在心底的读研梦也是

随着时光的流转,我们都在跌跌撞撞中成长,改变,但有一种东西是永恒的,那就是我们对梦想的渴望。那些被尘封的读研梦想,如同穿越漫长岁月,等待在未来的某一天重见天日。梦想,就如同热爱一样&#…

如何查找领取淘宝优惠券?

如何查找领取淘宝优惠券? 1、手机安装「草柴」领券应用后,打开手机淘宝,挑选要购买的商品,并点击分享复制链接; 2、复制淘宝商品链接后,打开「草柴」APP,将复制的链接粘贴并查询该商品优惠券及…

【机器学习】朴素贝叶斯算法:多项式、高斯、伯努利,实例应用(心脏病预测)

1. 朴素贝叶斯模型 对于不同的数据,我们有不同的朴素贝叶斯模型进行分类。 1.1 多项式模型 (1)如果特征是离散型数据,比如文本这些,推荐使用多项式模型来实现。该模型常用于文本分类,特别是单词&#xf…

竞赛选题 深度学习的智能中文对话问答机器人

文章目录 0 简介1 项目架构2 项目的主要过程2.1 数据清洗、预处理2.2 分桶2.3 训练 3 项目的整体结构4 重要的API4.1 LSTM cells部分:4.2 损失函数:4.3 搭建seq2seq框架:4.4 测试部分:4.5 评价NLP测试效果:4.6 梯度截断…

石原子科技亮相2023成都市信息领域新产品发布会

2023年11月13日至15日,由成都市互联网信息办公室、四川天府新区管委会、成都市经信局市新经济委、成都市农业农村局指导的以“信息创造价值 创新引领未来”为主题的成都市信息领域新产品发布会在科创生态岛1号馆举行。围绕人工智能、区块链、数字化绿色化、数字乡村…

keepalived+haproxy配置集群和负载均衡

1、简介 1.1. Keepalived Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以利用其来避免单点故障。一个LVS服务会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备…

Microsoft Forms

Microsoft Forms官网:Microsoft Forms - Free tool to create online surveys, forms, polls, and quizzes Microsoft Forms主要用来自定义一些表单和问卷调查 点击新建表单 填写完表单名称之后,下面就可以添加问题了,可以选择多种提问方式…

设计模式系列之最终篇:大盘点

阅读建议 嗨,伙计!刷到这篇文章咱们就是有缘人,在阅读这篇文章前我有一些建议: 本篇文章大概4000多字,预计阅读时间长需要3分钟。本篇文章的实战性、理论性较强,是一篇质量分数较高的技术干货文章&#x…

盘点72个Python网站项目Python爱好者不容错过

盘点72个Python网站项目Python爱好者不容错过 学习知识费力气,收集整理更不易。 知识付费甚欢喜,为咱码农谋福利。 链接:https://pan.baidu.com/s/12twY8iZYhAG8BuyYXM7_bw?pwd8888 提取码:8888 项目名称 dailyfreshpython…

拼图游戏,开源代码

拼图游戏 最近玩了玩孩子的拼图游戏,感觉还挺好玩的,心血来潮要不动手做一个吧,偷懒摸鱼的时候可以来一把。 以下就是拼图游戏的界面截图。 体验地址 代码开源地址 心得体会 虽说是一个小游戏,但是需要注意的地方还是挺多的 方…

技术探秘:开发抖音小程序实现餐饮团购的关键步骤

本文将深入研究在抖音小程序上开发餐饮团购功能的关键步骤,揭示技术探秘背后的秘密。 一、了解抖音小程序开发环境 注册成为抖音小程序开发者,配置开发工具,并确保您的开发环境设置正确,以便顺利进行后续的开发工作。 二、制定团…

在 Android 上简单安全地登录——使用凭证管理器和密钥

我踏马很高兴地听说, Credential Manager的公开版本将于 11 月 1 日开始提供。Credential Manager 为 Android 带来了身份验证的未来,简化了用户登录应用程序和网站的方式,同时使其更加安全。 登录可能具有挑战性 - 密码经常使用&#xff0c…

C#中数组、ArrayList与List对象的区别及使用场景

在C#编程中,数组、ArrayList和List对象是常用的数据结构和容器。它们在存储和管理数据方面都有各自的特点和用途。本文将深入探讨这三者的区别,并通过实际的代码示例来说明它们的使用场景和优缺点。 目录 1.数组特点使用场景 2.ArrayList特点使用场景 3.…

windows10上使用Visual Studio对树莓派进行交叉编译示例

本文主要介绍通过Visual Studio对树莓派进行交叉编译的方法。 1 环境 宿主机: 系统:Windows10 开发平台:Visual Studio 2022 (我用的是社区版) VisualGDB: VisualGDB - Download (我下的试用版本) GNU工具链: Prebuilt GNU toolchain f…

python matlplotlib/seaborn 绘制曲线的平均值标准差阴影图

1. seaborn 旧版本(0.8.1)中使用tsplot,新版本中使用lineplot 直线代表均值,阴影代表meanstd(带有置信区间,参数ci) import seaborn as sns import matplotlib.pyplot as plt import numpy as np import pandas as p…