全网最最最详细Keepalive的详解

news2024/9/23 19:26:34

1 Keepalived简介

Keepalived是一款开源的、免费的高可用软件,广泛应用于互联网IT企业中,以其轻量级、配置简单、管理方便等特点受到青睐。以下是Keepalived的详细简介:

1.1 基本概念

  • 定义:Keepalived是一个类似于Layer 3、4 & 5(即网络层、传输层和应用层)交换机制的软件,主要用于检测服务器的状态,防止单点故障,并提供故障转移和负载均衡功能。
  • 作用:通过自动检测服务器的健康状态,将故障服务器从系统中剔除,并使用其他服务器接替其工作,确保服务的高可用性。

1.2 工作原理

  • VRRP协议:Keepalived的实现基础是VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)。该协议用于实现路由器之间的故障转移,确保网络的高可用性。在Keepalived中,VRRP协议被用于模拟路由器的双机或多机热备场景。
  • 健康检查:Keepalived支持多种健康检查方式,包括ICMP(网络层)、TCP端口(传输层)、HTTP GET(应用层)等,以确保服务器在不同层面的正常运行。
  • 故障转移:当检测到主服务器(Master)故障时,Keepalived会根据VRRP的优先级选举一个新的备份服务器(Backup)作为主服务器,接管其工作,从而实现故障转移。

1.3 主要功能

  • 高可用服务:通过VRRP协议和健康检查机制,确保服务的高可用性,防止单点故障。
  • 负载均衡:虽然Keepalived本身不直接提供负载均衡功能,但它可以与LVS(Linux Virtual Server)等负载均衡软件配合使用,实现更为复杂的负载均衡和高可用方案。
  • 故障隔离:自动将故障服务器从系统中剔除,防止其影响整个系统的正常运行。
  • 健康状态检查:支持对后端服务器的健康状态进行实时检查,确保服务的持续可用性。

1.4 应用场景

  • Web服务器集群:在Web服务器集群中,Keepalived可以确保当某台Web服务器故障时,其他服务器能够接替其工作,保证网站的正常访问。
  • 数据库服务器:对于数据库服务器等关键应用,Keepalived同样可以提供高可用保障,确保数据的持续可用性和业务的连续性。
  • 其他关键服务:对于任何需要高可用保障的服务,如DNS服务器、FTP服务器等,Keepalived都可以提供有效的解决方案。

1.5 配置与使用

  • 配置文件:Keepalived的配置文件通常为keepalived.conf,其中包含了全局参数、VRRP实例、健康检查脚本等配置信息。
  • 启动与监控:Keepalived作为一个服务运行,在启动后会创建多个进程来执行VRRP协议、健康检查等功能。同时,Keepalived还提供了丰富的日志和监控功能,便于管理员对系统的运行状态进行实时监控和故障排查。

2 实验环境配置

2.1 配置红帽7镜像的四个主机并设置IP

2.2 在两个realserver安装httpd

realserver1

realserver2

3 虚拟路由的配置

3.1 在两个ka上安装keepalived

3.1.1 ka1

在配置文件进行修改

开启keepalived

 3.1.2 ka2

将ka1配置好的文件复制到ka2

在配置文件进行修改

开启keepalived

3.2 测试

4 keepalived虚拟路由的通讯设定

4.1 分别在ka中的配置文件修改

重启keepalived

4.2 测试

5 keepalived日志分离

5.1 在keepalived配置文件里修改

重启

5.2 在日志文件里修改

重启

6 keepalived独立子配置文件

6.1 在keepalived配置文件里修改

6.2 建立子目录并修改

7 非抢占模式和延迟抢占

7.1 非抢占模式

在ka1和ka2中修改配置文件

重启 

7.2 延迟抢占

在ka1和ka2中修改配置文件

重启

8 单播模式设定

8.1 ka1

在配置文件里修改

重启 

8.2 ka2

重启

9 邮件通知

9.1 在mail配置文件修改

9.2 编写mail脚本

10 双主模式

ka1

ka2

11 ipvs设定

给rs1和rs2都配置lo永久

在ka安装ipvsadm

在ka1和ks2分别配置ipvsadm策略

12 vrrp脚本控制vip

在脚本里编写

在keepalived配置文件里修改

13 keepalived+haproxy的高可用集群

在ka1和ka2安装haproxy

在配置文件

在haproxy配置文件修改

 

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

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

相关文章

Nginx系列-负载均衡

文章目录 Nginx系列-负载均衡1. 负载均衡基础1.1 负载均衡定义1.2 Nginx负载均衡原理 2. 负载均衡策略2.1 轮询(Round Robin)2.2 加权轮询(Weighted Round Robin)2.3 IP哈希(IP Hash)2.4 最少连接&#xff…

JavaEE----Servlet过滤器

前言 在现代Web开发中,Servlet技术是Java EE(Jakarta EE)的核心部分。随着Web应用复杂性的增加,Servlet过滤器(Filter)提供了一种灵活的方法来对请求和响应进行处理 Servlet过滤器是一种特殊的Java对象&a…

C语言钥匙迷宫2.0

目录 开头程序程序的流程图程序游玩的效果结尾 开头 大家好&#xff0c;我叫这是我58。废话不多说&#xff0c;咱们直接开始。 程序 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <string.h> #include <Windows.h> enum color {Y,B,R …

Linux 开机自动挂载共享文件设置

选择一个要共享的文件 点击确定 -> 确定 启动虚拟机 执行下面的命令 /YumSource 是我选择的共享文件夹&#xff0c;自行替换自已选择的文件夹 mkdir -p /mnt/hgfs cat >> /etc/fstab << EOF .host:/YumSource /mnt/hgfs fuse.vmhgfs-fuse allow_other defaul…

探索生成式AI在文档处理中的应用:llm Whisperer

在现代科技的快速发展中&#xff0c;生成式人工智能&#xff08;Generative AI&#xff09;正逐渐改变我们处理文档的方式。虽然许多生成式AI模型在处理文档时表现出色&#xff0c;但面对复杂文档时&#xff0c;大多数开源模型仍显得力不从心。甚至连GPT-4在某些情况下也会遇到…

性能测试-性能监控分析与调优(三)《实战-CPU瓶颈分析、内存问题分析、gc、tomcat性能调优,数据库监控-redis\mysql》

性能监控 使用命令监控 cpu瓶颈分析 top命令 在进行性能测试时使用top命令&#xff0c;界面如下 上图可以看出 - CPU 概况区&#xff1a; %Cpu(s): - us&#xff08;用户进程占用CPU的百分比&#xff09;, 和 sy&#xff08;系统进程占用CPU的百分比&#xff09; 的数…

【16】暴力递归改dp(上)

目录 一.机器人问题 二.最少硬币问题 一.机器人问题 题目&#xff1a;N表示位置1-N&#xff0c;S表示机器人开始位置&#xff0c;e表示结尾位置&#xff0c;k表示机器人必须走k步&#xff0c;问一共有多少种方法&#xff1f; 情况&#xff1a; 如果第1个位置&#xff0c;下次…

交通感知与车路协同系统-计算机毕设Java|springboot实战项目

&#x1f34a;作者&#xff1a;计算机毕设残哥 &#x1f34a;简介&#xff1a;毕业后就一直专业从事计算机软件程序开发&#xff0c;至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长&#xff1a;按照需求定制化开发项目、 源…

PHP—MySQL(PHP连接数据库)

目录 【学习目标、重难点知识】 【学习目标】 【重难点知识】 二、PHP 和 MySQL 的合作方式 三、PHP连接数据库 3.1、MySQLi拓展 ​编辑 3.2、建立与数据库的连接 &#xff08;4&#xff09;创建SQL语句 &#xff08;5&#xff09;获取结果 &#xff08;6&#xff09…

STM32(二):GPIO

GPIO(General Purpose Input Output)通用输入输出口 1.可配置为8种输入输出模式&#xff0c;引脚电平:0V~3.3V&#xff0c;部分引脚可容忍5V&#xff0c;输出模式下可控制端口输出高低电平&#xff0c;用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等&#xff0c;输入模式下…

在vscode使用markdown格式、自动补齐、以及快捷键

在扩展中搜索markdown all in one&#xff0c;下载使用即可。

人工智能在网络安全中的三大支柱

人工智能 (AI) 席卷了网络安全行业&#xff0c;各种供应商都在努力将 AI 融入其解决方案中。但 AI 与安全之间的关系不仅仅在于实现 AI 功能&#xff0c;还在于攻击者和防御者如何利用该技术改变现代威胁形势。它还涉及如何开发、更新和保护这些 AI 模型。如今&#xff0c;网络…

【qt】基于tcp的服务端编写

实现服务端&#xff0c;连接后拿到客户端ip地址和端口号 ui设计 修改对应行编辑对象名&#xff0c;修改客户端ip为clientip,客户端端口号为clientport 代码实现 1.网络通信需要加network 2.包含头文件 3.定义一个QTcpserver变量&#xff0c;并初始化 4.服务端监听&#…

字符串String概述,遍历字符串

String的注意点 字符串的内容是不会发生改变的&#xff0c;它的对象在创建后不能被更改 string是Java定义好的一个类&#xff0c;定义在java.long包中&#xff0c;所以使用的时候不需要导入包。 Java程序中的所有字符串文字&#xff08;例如“abcdefg”&#xff09;&#xf…

【Go语言初探】(二)、项目文件结构和GOPATH设置

一、go语言项目文件结构 由go/bin、go/src和go/pkg三个子文件夹组成&#xff0c;见下图&#xff1a; 实际项目&#xff1a; 二、gopath路径变量设置 在项目中创建main.go文件后&#xff0c;IDE会提示设置GOPATH路径&#xff1a; 点击“configure GOPATH”&#xff0c;设置GOP…

酒项目加密封装步骤;linux查看IP地址,查看MAC地址, 查看CPU序列号

线上酒项目为例 目录 线上酒项目为例 第一步 第二步 linux查看IP地址 查看MAC地址 方法1: 方法2: 方法3&#xff1a; 查看CPU序列号 为什么不用物理机的不同虚拟机的cpu序列号是相同&#xff0c;给我们的各个系统都是相同的 第一步 在maven模块分层上进行加密&#x…

15:【stm32】时钟树

时钟树 1、时钟树1.1&#xff1a;简要的介绍1.2&#xff1a;基本结构1.2.1&#xff1a;stm32的内部结构1.2.2&#xff1a;树的关键节点1.2.3&#xff1a;系统时钟的来源 2、RCC标准库编程2.1&#xff1a;片上外设的复位与释放2.2&#xff1a;时钟系统配置2.3&#xff1a;时钟树…

算法:DFS之记忆化搜索

目录 记忆化搜索 题目一&#xff1a;不同路径 题目二&#xff1a;最长递增子序列 题目三&#xff1a;猜数字大小II 题目四&#xff1a;矩阵中的最长递增路径 记忆化搜索 说到记忆化搜索&#xff0c;首先就需要引入斐波那契数这道题&#xff0c;非常经典&#xff0c;可以很…

第44课 Scratch入门篇:无限画中画

无限画中画 故事背景: 无止境的显示一幅画。 程序原理: 利用多张基本一样的图,不停循环显示,产生视觉上的错觉,原理很简单,只是一种实现方式而已。 开始编程 1、删除预设的猫咪角色,上传以后在那个无限循环的图片,大小为 480*360 2、接下来复制造型,使用选择工具…

.net 8.0 下 Blazor 通过 SignalR 与 Winform 交互

定义一个Hub using Microsoft.AspNetCore.SignalR;namespace Beatrane.Connect.Blazor {public class DeviceHub : Hub{public async Task SendMessage(string user, string message){await Clients.All.SendAsync("ReceiveMessage", user, message);}public async …