keepalived讲解及练习

news2024/12/27 18:31:12

目录

1、keepalived介绍

1.1 keepalived简介

2、高可用集群

2.1 集群类型

2.2 系统可用性

2.3 系统故障

2.4 实现高可用

3、VRRP

3.1 VRRP:Virtual Router Redundancy Protocol

3.2 VRRP 相关术语

3.3 VRRP相关技术

4、 keepalived实验

4.1 全局配置

4.2 虚拟路由配置

4.3 独立子配置文件

4.4 非抢占

4.5 延迟抢占

4.6 组播变单播

4.7 邮件传输

4.8 keepalived+lvs

4.9 keepalived+haproxy


1、keepalived介绍

1.1 keepalived简介

keepalived是一个用于高可用性(High Availability,HA)解决方案的工具,主要用于 Linux 系统中。它提供了负载均衡和高可用性功能,主要通过 VRRP(Virtual Router Redundancy Protocol)协议来实现虚拟路由器的冗余。

功能:
基于 vrrp 协议完成地址流动
vip 地址所在的节点生成 ipvs 规则 ( 在配置文件中预先定义 )
ipvs 集群的各 RS 做健康状态检测
基于脚本调用接口完成脚本中定义的功能,进而影响集群事务,以此支持 nginx haproxy 等服务
配置
  • VRRP 配置:定义虚拟路由器实例,包括虚拟 IP 地址、优先级、预取时间等。
  • 健康检查配置:定义对后端服务的健康检查方式,例如 HTTP 检查、TCP 检查等。
  • 负载均衡配置:如果与 LVS 配合使用,还需要配置负载均衡的相关参数。

2、高可用集群

2.1 集群类型

  • LBLoad Balance 负载均衡,LVS/HAProxy/nginxhttp/upstream, stream/upstream
  • HAHigh Availability 高可用集群,数据库、Redis
  • SPoF: Single Point of Failure,解决单点故障
  • HPCHigh Performance Computing 高性能集群

2.2 系统可用性

SLA Service-Level Agreement 服务等级协议(提供服务的企业与客户之间就服务的品质、水准、性能 等方面所达成的双方共同认可的协议或契约)
A = MTBF / (MTBF+MTTR

2.3 系统故障

硬件故障:设计缺陷、 wear out (损耗)、非人为不可抗拒因素
软件故障:设计缺陷 bug

2.4 实现高可用

提升系统高用性的解决方案:降低 MTTR- Mean Time To Repair( 平均故障时间 )
解决方案:建立冗余机制
  • active/passive /
  • active/active 双主
  • active --> HEARTBEAT --> passive
  • active <--> HEARTBEAT <--> active

3、VRRP

3.1 VRRPVirtual Router Redundancy Protocol

虚拟路由冗余协议 , 解决静态网关单点风险
  • 物理层:路由器、三层交换机
  • 软件层:keepalived

3.2 VRRP 相关术语

  • 虚拟路由器:Virtual Router
  • 虚拟路由器标识:VRID(0-255),唯一标识虚拟路由器
  • VIPVirtual IP
  • VMACVirutal MAC (00-00-5e-00-01-VRID)
  • 物理路由器:
  1. master:主设备
  2. backup:备用设备
  3. priority:优先级

3.3 VRRP相关技术

通告:心跳,优先级等;周期性
工作方式:抢占式,非抢占式
安全认证:
  • 无认证
  • 简单字符认证:预共享密钥
  • MD5
工作模式:
  • /备:单虚拟路由器
  • /主:主/备(虚拟路由器1),备/主(虚拟路由器2

4、 keepalived实验

4.1 全局配置

4.2 虚拟路由配置

4.3 独立子配置文件

4.4 非抢占

4.5 延迟抢占

4.6 组播变单播

4.7 邮件传输

添加脚本调用模块

编写脚本

4.8 keepalived+lvs

在ka1和ka2中添加

配置vrrp_instance VI

查看策略

4.9 keepalived+haproxy

下载haproxy

更改hapoxy配置

启用内核参数

编写检测脚本

更改keepalived配置文件

测试

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

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

相关文章

Vue封装axios请求(超详细)

一、简介 Vue封装axios请求是指将axios库集成到Vue项目中&#xff0c;以便更方便地发送HTTP请求。首先&#xff0c;需要安装axios库&#xff0c;然后在Vue项目中创建一个名为request.js的文件&#xff0c;用于封装axios实例。在这个文件中&#xff0c;可以设置默认的配置&#…

fastzdp_sqlmodel框架是如何实现更新和删除相关的功能封装的,20240817,Python的国产新ORM框架

根据模型对象更新 初步封装的方法 def update(engine, model_obj, update_dict):"""修改数据:param engine: 连接数据库的引擎对象:param model_obj: 模型对象:param update_dict: 更新字典:return:"""with Session(engine) as session:if not…

Git工具详细使用教程

Git工具详细使用教程 Git是一个分布式版本控制系统&#xff0c;它可以帮助你管理代码的历史记录。本教程将介绍如何使用Git工具进行基本的版本控制操作。 1. 安装Git 首先&#xff0c;你需要在你的计算机上安装Git。你可以从Git官方网站&#xff08;https://git-scm.com/&am…

MySQL(三)——DCL

文章目录 DCL用户管理查询用户创建用户修改用户密码删除用户 权限控制查询权限授予权限撤销权限 DCL DCL&#xff08;Data Control Language&#xff0c;数据控制语言&#xff09;是SQL的一个子集&#xff0c;专门用于定义数据库、表、视图等的访问权限和安全级别。 它允许数据…

Openstack二层网络的构建和使用

Openstack二层网络的构建和使用 一、实验目的 &#xff08;1&#xff09;了解网络层级、子网、动态地址、网关代理等概念并进行应用。 &#xff08;2&#xff09;了解OpenStack项目以及相关组件。 &#xff08;3&#xff09;了解 Neutron 二层网络的构建和使用。 二、实验原…

如何确定vtk .h文件所在的库名字

问题 例如使用class vtkSTLReader,头文件包含#include <vtkSTLReader.h>,库使用哪个&#xff1f; 解决 1.在vs2019解决方案资源管理器中搜索vtkSTLReader.cxx&#xff0c;显示project为IOGeometry即为库名 2.在所在的CMakeLists.txt追加库名 3.在cmake重新Configure、G…

JWT中的Token

1.JWT是什么&#xff1f; jwt&#xff08;json web token的缩写&#xff09;是一个开放标准&#xff08;rfc7519&#xff09;&#xff0c;它定义了一种紧凑的、自包含的方式&#xff0c;用于在各方之间以json对象安全地传输信息&#xff0c;此信息可以验证和信任&#xff0c;因…

如果大模型有信仰,那一定是“规模法则”

规模&#xff08;scale&#xff09;是除去时间、空间之外另一个重要的维度。规模缩放&#xff08;Scaling&#xff09;的过程中隐藏着世界非线性本质奥秘背后的共性——规模法则。结合伯努瓦曼德布洛特 Benoit Mandelbrot的《大自然的分形几何》、杰弗里韦斯特 Geoffery West 的…

面试官:Java虚拟机是什么,Java虚拟机的内存模型是什么样子的?

哈喽&#xff01;大家好&#xff0c;我是小奇&#xff0c;一个专给面试官添堵的撑序员 小奇打算以轻松幽默的对话方式来分享一些技术&#xff0c;如果你觉得通过小奇的文章学到了东西&#xff0c;那就给小奇一个赞吧 文章持续更新&#xff0c;可以微信搜索【小奇JAVA面试】第一…

EmguCV学习笔记 VB.Net 2.S 特别示例

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 教程VB.net版本请访问&#xff1a;EmguCV学习笔记 VB.Net 目录-CSDN博客 教程C#版本请访问&#xff1a;EmguCV学习笔记 C# 目录-CSD…

el-image 图片预览时 与 el-table (或avue-crud) 样式冲突 的解决

问题: 解决 <style scoped> ::v-deep(.el-table__cell) {position: static !important; } </style> 后效果

SD-WAN视频汇聚网关,帮助企业省去公网服务器费用与流量费用,低成本、高可靠建设视频汇聚与管控平台,助力视频企业级智能应用

在介绍方案之前&#xff0c;我们先算一笔账&#xff0c;传统的B端项目大多数的场景是&#xff1a; 1、多个分布在不同区域&#xff0c;不同网络的现场需要进行视频设备的统一汇聚管理&#xff1b; 2、多种不同类型厂家和型号的设备需要接入&#xff1b; 3、需要接入各种设备的实…

ARM 裸机与 Linux 驱动对比及 Linux 内核入门

目录 ARM裸机代码和驱动的区别 Linux系统组成 内核五大功能 设备驱动分类 内核类型 驱动模块 驱动模块示例 Makefile配置 命令 编码辅助工具 内核中的打印函数 printk 函数 修改打印级别 ​编辑 打印级别含义 驱动多文件编译 示例 模块传递参数 命令行传递参数…

Keepalived知识点整理

Keepalived知识点整理 高可用集群 keeaplived高可用集群集群类型系统可用性实现高可用VRRP:Virtual Router Redundancy ProtocolVRRP相关术语 keepalived简介keeplived架构配置文件组成部分配置文件主要部分的解释说明: 环境配置ka1ka2realserver1realserver2 实验1:实验2独立日…

jetson循环输入密码登录不进GUI桌面环境

大概安装了pip, opencv, nvidia-jetpack&#xff0c;添加了环境变量&#xff0c;重启后&#xff0c;Jetson orin nano 登录不进去GUI桌面系统&#xff0c;输入密码后&#xff0c;又出现登录界面要求输入密码&#xff0c;如此循环&#xff0c;没有其他报错。 注意到在启动界面有…

天地伟业入职智鼎测评题库:EQT情商测验、IQCAT思维能力自适应测验

天地伟业智鼎题库EQT情商测验 情商测验采用关键事件法提取和概括人们在社会生活中发生的情景了解作答者在面对典型的工作、生活情景时最可能采取的做法&#xff0c;考察作答者的情绪觉察、情绪调节、自我激励、同理心、社交技能这5种重要的情绪智力&#xff0c;在销售人员和管理…

与人打交道的七个绝招

与人打交道的七个绝招&#xff0c;学会了让你混得风生水起&#xff01; 一、跟强者打交道&#xff0c;别绕圈子。就事论事&#xff0c;直奔主题&#xff1b; 二、跟没钱的人打交道&#xff0c;就直接告诉他能挣多少钱&#xff1b; 三、跟小人打交道&#xff0c;越虚假越好&…

i.MX6裸机开发(2):LED灯——汇编实现

本章主要包括两部分&#xff0c;第一部分讲解i.MX6ULL的GPIO配置方法以及常用寄存器介绍&#xff0c; i.MX6ULL的GPIO配置方法与单片机稍有不同&#xff0c;我们将详细介绍这部分内容。 第二部分讲解具体的实现代码以及程序的编译下载。 学习重点&#xff1a; 掌握i.MX6ULL GP…

YOLOV8网络结构|搞懂Backbone-Conv

参数量计算: (输入通道*w)*(输出通道*w)*k^2+(输出通道*w)*2 w是模型缩放里面的width - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2 输出通道c2=64,k=3,s=2 P1/2 特征图变小一半 先定义算子层 再搭一个forward前向传播 class Conv(nn.Module):"""Standard convo…

《Techporters架构搭建》-Day06 国际化

什么是国际化&#xff1f; 国际化&#xff0c;也叫i18n&#xff0c;为什么叫i18n呢&#xff1f; "i18n"是国际化&#xff08;internationalization&#xff09;的缩写&#xff0c;数字18代表了国际化这个单词中间的字母数量。类似这样的缩写还有k8s&#xff08;kube…