Keepalived简介

Keepalived 是一个基于 VRRP(虚拟路由冗余协议)的高可用解决方案,主要用于实现 Linux 服务器的负载均衡和故障转移。它通过检测服务器状态并自动切换服务,确保系统在单点故障时仍能保持可用性

Keeplived安装启用及配置

安装与启用

[root@KA1 ~]# dnf install keepalived-2.2.8-3.el9.x86_64 -y
[root@KA1 ~]# systemctl enable --now keepalived.service

配置文件说明

global

global_defs发生故障切换时邮件发送的目标邮箱,可以按 行区分写多个
notification_email_from发邮件的地址
smtp_server 邮件服务器地址
smtp_connect_timeout邮件服务器连接timeout
router_id每个keepalived主机唯一标识
vrrp_skip_check_adv_addr对所有通告报文都检查,会比较 消耗性能
vrrp_garp_interval 免费 ARP(Gratuitous ARP)报文时间 间隔
vrrp_gna_interval用于配置发送 Gratuitous NA(免费邻居 通告)报文的时间间隔
vrrp_mcast_group4

指定组播IP地址范围

配置虚拟路由文件

master设备

backup设备

state设备状态
interface绑定为当前虚拟路由器使用的物理接口
virtual_router_id每个虚拟路由器惟一标识,范围:0-255,主备id相同
priority优先级
advert_int vrrp通告的时间间隔
authentication认证机制
auth_type AH|PASSAH为IPSEC认证(不推荐),PASS为简单密码(建议使用)
uth_pass 1111预共享密钥,仅前8位有效
virtual_ipaddress虚拟IP,生产环境可能指定上百个IP

Keepalived日志独立

独立日志可以方便我们管理Keeplived

设置方法:

实验效果:

独立子配置文件 实现单主架构

当生产环境复杂时,主配置文件中内容过多,不易管理将不同集群的配置,比如:不同集群的VIP配置放在独立的子配置文件中利用include 指令可以实现包含子配置文件

方法:

在主配置文件中指定

编辑子配置文件

效果:

Keep应用示例

VIP单播

默认keepalived主机之间利用多播相互通告消息,会造成网络拥塞,可以替换成单播,减少网络流量 在配置文件中设定

实验效果:

VIP抢占和非抢占模式

抢占模式:当主节点Master下线恢复后,会立即抢占 VIP,即使备节点(Backup)当前正在正常工作

非抢占模式:通过 nopreempt 指令禁用抢占。即使原主节点恢复,只要备节点当前是活动状态,原主节点也不会夺回 VIP

延时抢占模式:是一种结合了抢占模式和非抢占模式优点的高级特性。它允许原主节点(Master)在恢复后不立即抢占 VIP,而是等待一段指定时间,确认自身状态稳定后再接管 VIP,从而避免因短暂故障恢复导致的频繁切换

抢占模式配置:

非抢占模式配置:

延迟抢占模式配置:

双主模式

在 Keepalived 的高可用架构中,是一种特殊的部署方式,它允许两台服务器互为备份,同时各自承担不同 VIP 的主角色。这种模式充分利用了硬件资源,实现了双向高可用,特别适合需要对称负载分担的场景

配置:

效果:

正常情况下一台主机一个VIP

将主机1的keepalived服务关闭模拟设备挂掉后

实现单主的LVS-DR模式

后端服务器配置:下载ngixn 、关闭火墙方便实验、开启nginx服务、配置默认发布页、配置VIP关闭ARP响应

两台后端服务器配置信息如下:

配置keepalived:

两台主机配置一样

配置后LVS规则:

实验效果:

实现HAProxy高可用

当主机同时配置了keeplived和haproxy时,如果haproxy出现了故障,我们应该及时的将VIP迁移到另一台备用的主机上,利用脚本可实现该功能

环境:

在两台配置keeplived的主机上下载以及配置haproxy

hapeoxy配置文件:

检测haproxy脚本内容:

keeplived配置文件内容:

实验效果:

当服务器1中haproxy服务出现问题时,服务器1的优先级降低30 降低后低于服务器2,VIP出现转移

服务器1:

服务器2:

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

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

相关文章

如何检查服务器数据盘是否挂载成功?

在服务器配置过程中,确保数据盘正确挂载是非常重要的。如果数据盘未挂载成功,您可能无法访问数据盘上的存储空间。以下是检查Linux服务器中数据盘是否挂载成功的详细步骤,以及如何解决挂载问题。1. 检查数据盘是否挂载成功1.1 使用 df -h 查看…

机器学习概述与 KNN 算法详解

机器学习概述与 KNN 算法详解引言在当今数字化时代,机器学习作为人工智能的核心技术,正深刻改变着我们的生活与工作方式。从日常的智能推荐到复杂的医疗诊断,机器学习技术的应用无处不在。本文将从机器学习的基本概念出发,阐述其核…

Java EE前端技术编程脚本语言JavaScript

-CoderOilStation(程序员编程助手科技股份责任有限公司)Java EE前端技术编程脚本语言JavaScript低代码编程技术编写少量的代码规则。JavaScript脚本编程语言具体细节配置方式编程。前端技术过渡web3.0企业数字化。Java Service Page (JSP) JavaEE jdk6.5 发布企业应用版本Java研…

Docker+Kubernetes 实战:数据模型的弹性伸缩与高可用部署方案

在生产环境中,数据模型的部署面临双重挑战:一方面要应对流量波动(如电商大促期间预测接口调用量激增 10 倍),另一方面需保证服务零中断(金融风控模型 downtime 每增加 1 分钟可能导致数十万元损失)。 本文基于实际项目经验,详细讲解如何通过 Docker 容器化与 Kubernet…

vue3【组件封装】头像裁剪 S-avatar.vue

最终效果 技术要点 图片裁剪 安装依赖 vue-cropper npm install vue-croppernext专用于vue3 项目的图片裁剪&#xff0c;详细使用参考官方文档 页面使用 import "vue-cropper/dist/index.css"; import { VueCropper } from "vue-cropper";<vue-crop…

铜金矿数据分组优化系统设计与实现

铜金矿数据分组优化系统设计与实现 1. 项目概述 本项目旨在开发一个Python程序,用于根据给定的四组分组规则,优化包含金吨、干吨和铜单价等信息的Excel数据分组,以最大化总金额。系统需要处理的核心计算是每条数据的铜货值,其公式为:结算铜金吨 铜单价 (价格系数 + 奖…

Python动态规划:从基础到高阶优化的全面指南(3)

七、动态规划性能优化实战7.1 矩阵快速幂优化def matrix_mult(A, B):"""矩阵乘法"""n len(A)m len(B[0])p len(B)C [[0]*m for _ in range(n)]for i in range(n):for k in range(p):if A[i][k]:for j in range(m):C[i][j] A[i][k] * B[k][j…

海外红人营销的下一站:APP出海如何布局虚拟网红与UGC生态?

在全球移动互联网竞争日益激烈的今天&#xff0c;APP出海推广的重心正从传统流量采买和真人KOL合作&#xff0c;逐步向更具未来感的方向演进。虚拟网红、AI生成内容以及用户生成内容的融合&#xff0c;正为海外红人营销注入全新活力。这不仅是技术革新&#xff0c;更是用户行为…

CentOS网卡未被托管解决记录

VMWare挂起关机&#xff0c;又重启后&#xff0c;出现一些很奇怪的问题。 我的几台CentOS的网卡都不见了&#xff0c;显示网卡未被托管 [rootlocalhost ~]# nmcli device status DEVICE TYPE STATE CONNECTION virbr0 bridge 未托管 -- ens33 …

Node.js 中的内置模板path

1. path的作用&#xff1a;path 是 Node.js 中的一个内置模块&#xff0c;用于处理文件和目录路径。它提供了一些工具来处理路径字符串&#xff0c;确保路径操作跨平台兼容&#xff08;Windows 和 Unix 风格的路径分隔符&#xff09;2.path的常用方法path.join()和数组的join方…

重生之我在暑假学习微服务第三天《Docker-上篇》

个人主页&#xff1a;VON文章所属专栏&#xff1a;微服务系列文章链接&#xff1a;重生之我在暑假学习微服务第一天《MybatisPlus-上篇》-CSDN博客重生之我在暑假学习微服务第二天《MybatisPlus-下篇》-CSDN博客时间&#xff1a;每天12点前准时更新 特别声明&#xff1a;本篇文…

【硬件】LT3763中文手册

目录 1.简介 1.1 特点 1.2 简述 1.3 典型原理图 1.4 绝对最大额定值 2.电气特性 3.引脚功能 4.框图 4.1 设计电感电流 4.2 电感选择 4.3 开关MOSFET选择 4.4 输入电容选择 4.5 输出电容选择 4.6 CBOOST电容选择 4.7 INTVCC电容器选择 4.8 Soft-Start 4.9 输出电流…

【计算机科学与应用】基于多域变换的视频水印嵌入算法研究

导读&#xff1a; 为提升视频水印在版权保护中的实际应用效果&#xff0c;本文提出一种基于多域变换的视频水印嵌入算法。该算法结合离散小波变换(Discrete Wavelet Transform, DWT)与离散余弦变换(Discrete Cosine Transformation, DCT)&#xff0c;利用其在时频域分析与能量…

Axios基本使用

介绍 Axios 是一个基于promise网络请求库&#xff0c;作用于node.js和浏览器中 特性 从浏览器创建 XMLHttpRequests从 node.js 创建 http 请求支持 Promise API拦截请求和响应转换请求和响应数据取消请求自动转换JSON数据客户端支持防御XSRF 安装 项目中 npm install axi…

【大模型LLM】梯度累积(Gradient Accumulation)原理详解

梯度累积&#xff08;Gradient Accumulation&#xff09;原理详解 梯度累积是一种在深度学习训练中常用的技术&#xff0c;特别适用于显存有限但希望使用较大批量大小&#xff08;batch size&#xff09;的情况。通过梯度累积&#xff0c;可以在不增加单个批次大小的情况下模拟…

阿里云Ubuntu 22.04 ssh隔一段时间自动断开的解决方法

在使用ssh连接阿里云ubuntu22.04隔一段时间之后就自动断开&#xff0c;很影响体验&#xff0c;按照如下配置就可以解决vim /etc/ssh/sshd_config

R中匹配函数

在 R 中&#xff0c;字符串匹配是一个常见的任务&#xff0c;可以使用正则表达式或非正则表达式的方法来完成。以下是对这些方法的总结&#xff0c;包括在向量和数据框中的应用。 正则表达式匹配 常用函数grepl&#xff1a; 功能&#xff1a;检查向量中的每个元素是否匹配某个正…

Ubuntu服务器上JSP运行缓慢怎么办?全面排查与优化方案

随着企业系统越来越多地部署在Linux平台上&#xff0c;Ubuntu成为JSP Web系统常见的部署环境。但不少开发者会遇到一个共同的问题&#xff1a;在Ubuntu服务器上运行的JSP项目访问缓慢、页面加载时间长&#xff0c;甚至出现卡顿现象。这类问题如果不及时解决&#xff0c;容易导致…

web刷题

[极客大挑战 2019]RCE ME 打开环境&#xff0c;代码逻辑还是很简单的 思路是传参code参数&#xff0c;一般传参shell然后用蚁剑连接看flag&#xff0c;但是这题做了之后就会发现思路是没错但是这题多了一些验证&#xff0c;这题就是无字符rce&#xff0c;可以考虑用取反&…

FFmpeg+javacpp中FFmpegFrameGrabber

FFmpegjavacpp中FFmpegFrameGrabber1、FFmpegFrameGrabber1.1 Demo使用1.2 音频相关1.3 视频相关2、Frame属性2.1 视频帧属性2.2 音频帧属性2.3 音频视频区分JavaCV 1.5.12 API JavaCPP Presets for FFmpeg 7.1.1-1.5.12 API1、FFmpegFrameGrabber org\bytedeco\javacv\FFmpeg…