keepalived服务器

news/2025/9/24 21:05:34/文章来源:https://www.cnblogs.com/luowuyi/p/19109974

keepalived服务器

keepalived高可用原理:搭建主、备服务器一样配置,在keepalived中配置相同的vip;主服务器发送“心跳消息”给备服务器,主服务器宕机,“心跳消息”停止发送,备服务器会让vip生效,产生“IP漂移”,备服务器成为主服务器;

  • 注意不能同时有两个主服务器;
  • 抢占模式(默认):主服务器优先级高于备服务器,主服务器恢复后会重新“抢回”vip;
  • 非抢占模式(加上nopreempt参数才能开启):主服务器恢复后成为新的备份服务器,只有当原备份服务器宕机时,才会发生IP漂移;
  • keepalived是基于VRRP协议来实现高可用的;
  • VRRP 协议(Virtual Router Redundancy Protocol,虚拟路由冗余协议)是一种 三层网络冗余协议,核心目标是解决 “网关单点故障” 问题 —— 通过将多台物理路由器(或服务器)虚拟化为一个 “逻辑网关”(即 “虚拟路由器”),确保当主网关故障时,备网关能自动接管,实现网络访问的 无感知高可用

keepalived三大功能

  • 高可用:VIP漂移,基于VRRP协议;

  • 健康检测:通过执行检查脚本或网络请求等方式检测服务是否正常;

  • 负载均衡:内置LVS管理器,通过keepalived配置LVS负载均衡功能;

keepalived的安装
#最少两台虚拟机一主一备
# CentOS7
yum install -y keepalived# Ubuntu
apt install -y keepalived
高可用的配置
#主服务器配置
vim /etc/keepalived/keepalived.conf
-------------------------------------------
! Configuration File for keepalivedglobal_defs {router_id hostname1 # 标识本节点的字符串,设置为hostname即可
}vrrp_instance VI_1 {state MASTER    # 标识主节点服务(只有MASTER和BACKUP两种,大写)interface ens33      # VIP板顶的网卡接口virtual_router_id 51  # 虚拟路由id,和备节点保持一致priority 100        # 优先级,高于备节点的即可。# nopreempt         # 禁止MASTER宕机恢复后抢占服务# smtp_alert        # 激活故障时发送邮件告警mcast_src_ip 192.168.25.50   # 本机IP地址advert_int 1    # MASTER和BACKUP节点之间的同步检查时间间隔,单位为秒authentication {    # 验证类型和验证密码auth_type PASS  # PAAS(默认),HAauth_pass 1234  # MASTER和BACKUP使用相同明文才可以互通}virtual_ipaddress { # 虚拟IP地址池,可以多个IP192.168.25.213 # 虚拟IP1(VIP)}
}
-----------------------------------------------
# 保存退出
#重启keepalived
systemctl restart keepalived.service#备服务器配置
vim /etc/keepalived/keepalived.conf
-----------------------------------------------------------------
! Configuration File for keepalivedglobal_defs {router_id hostname2 # 标识本节点的字符串,设置为hostname即可
}vrrp_instance VI_1 {state BACKUP    # 标识主节点服务(只有MASTER和BACKUP两种,大写)interface ens33virtual_router_id 51priority 99    # 优先级,低于主节点的即可。mcast_src_ip 192.168.25.51   # 本机IP地址advert_int 1authentication {auth_type PASSauth_pass 1234}#和主服务器的vip保持一致virtual_ipaddress {192.168.25.213}
}
------------------------------------------------------------------
# 保存退出
#重启keepalived
systemctl restart keepalived.service#进行验证测试
先在客户端访问vip 192.168.25.213  出来的应该是主服务器的网页
之后停掉主服务器的keepalived服务
systemctl stop keepalived.service
在到客户端访问vip 192.168.25.213  出来的应该是备份服务器的网页
之后在重新开启主服务器的keepalived服务
systemctl start keepalived.service
到客户端访问vip 192.168.25.213  出来的应该是主份服务器的网页
Keepalived高可用裂脑

在 Keepalived 高可用(主备)架构中,“裂脑(Split Brain)” 是最核心的故障场景—— 指主备节点之间的 “心跳链路” 中断,备节点误判主节点已故障,从而主动升级为 “主节点” 并抢占 VIP,最终导致集群中出现 “双主节点”(两个节点同时持有 VIP 并对外提供服务),引发数据冲突、服务混乱等问题。

解决方案

  • 主备节点之间除了 “业务网卡”,额外添加一块 独立的心跳网卡(如 eth1),并在 Keepalived 中配置双心跳链路,避免单链路故障;
  • 引入独立的 “仲裁节点”(如一台独立服务器、云服务商的健康检查服务),主备节点需同时向仲裁节点发送心跳,只有 “主节点心跳中断 + 仲裁节点确认”,备节点才会升级;

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

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

相关文章

外部 Tomcat 部署详细 - 实践

外部 Tomcat 部署详细 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco"…

20231326《密码系统设计》第三周预习报告

20231326《密码系统设计》第三周预习报告20231326《密码系统设计》第三周预习报告 目录20231326《密码系统设计》第三周预习报告学习内容《Head First C 嗨翻 C 语言》第4章《Windows C/C++加密解密实战》第4章AI 对学…

吉林网站开发公司网站首页设计html代码

作者| Rohan Wadiwala、Mangesh More翻译 | 天道酬勤,编辑 | Carol出品| CSDN云计算(ID:CSDNcloud)在分析的世界中,网站的每次点击都是数据分析的候选对象,显然,这会涉及大量的数据生成。对于海…

做普工招聘网站上海汽车设计公司名单

静态长效代理IP和动态短效代理IP是两种常见的代理IP类型,它们在用途和适用场景上存在一定的差异。了解它们的特性以及使用场景有助于我们更好地利用代理IP,提高网络访问的效率和安全性。 一、静态长效代理IP 1. 用途 静态长效代理IP是指长期保持稳定的代…

深圳做网站专业的公司如何做英文网站推广

来源:数码之家文 | 禅哥这台机器在本人的eBay收藏夹里呆了很久,某日无意间扫了一眼收藏夹,突然发现卖家大降价,只要15刀,还有best offer选项。15刀你买不了吃亏,15刀你买不了上当。事不宜迟果断下手。根据非…

天津星创网站建设有限公司微信小商店分销系统

977. 有序数组的平方y 思路,原数组是有序的,但是因为负数平方后可能变无序了,因此利用双指针遍历原数组,比较 nums[left]*nums[left]和nums[right]*nums[right]谁更大,然后对新数组赋值 class Solution {public int…

FortiGate连接中国联通SDWAN

最近上线SAP,需要使用公司飞塔防火墙连接中国联通SDWAN,记录下过程吧。 飞塔防火墙型号F200E,有2条互联网带宽,需要分别与联通建立IPSEC+BGP连接。 联通会提供2个IPSEC配置信息+2个BGP配置信息 1,在飞塔完成2条IP…

第五章 运算符、表达式和语句

本章将介绍以下内容: 1、关键字——while、typedef; 2、运算符——=、-、*、/、%、++、--; 3、C语言的各种运算符,包括用于普通数学运算的运算符; 4、运算符优先级以及语句、表达式的含义; 5、while循环; 6、复…

wordpress 淘宝客网站模板平面设计与网页设计

Hi1102A和Hi1105V500都是属于海思旗下的两款WIFIBTGNSSFM四功能一体(江湖俗称四合一)高性能方案,应该可以推出,这个原本是在手机方案集成使用的,本身海思有视频安防主控HI315X系列平台,如果搭配上自己的无线phy芯片,一…

广州网站建设 易企建站公司网站开发和运营合同分开签么

以前的大部分程序都是操作Chrome,很少有操作Edge,现在以Edge为例。 Selenium本身是无法直接控制浏览器的,不同的浏览器需要不同的驱动程序,Google Chrome需要安装ChromeDriver、Edge需要安装Microsoft Edge WebDriver&#xff0c…

【Golang】素材设计模式

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

学习问题日记-2

在开发过程中遇到了一个问题,报错描述如下:java: 无法将类 com.chools.demo.entity.Address中的构造器 Address应用到给定类型; 需要: 没有参数 找到: java.lang.String,java.lang.String,java.lang.String …

樟树网站制作wordpress在线音乐

电脑的设备驱动程序:驱动程序一般指的是设备驱动程序(DeviceDriver),是一种可以使计算机和设备通信的特殊程序。相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作,如某设备的驱动程序未能正确安装&a…

封神台复现

EzPyeditor这个界面没啥东西,直接下载源码看一下进去看一下app.py熟悉的界面,又是他 这里先去追踪一下这个函数parse这里这个函数大体上来说是存在一个文件读取的漏洞的 这个漏洞会接受filename这个参数 这里我们就可…

北京商城网站建设费用企业网页如何制作

在window下,我们一般用Source Insight来查看代码而在linux下,使用vim来查看代码,vim是一个简单的文本浏览/编辑器,它可以通过插件的形式,搭建一个完全的类Source Insight环境,通过快捷键的形式,快速查看、定位变量/函数,本文就是基于vim,通过ctags+cscope+taglist+Ner…

网站建设与维护试卷做网站 十万

Mybatis:一对一查询映射处理 前言一、概述二、创建数据模型三、 问题四、解决方案1、方案一:级联方式处理映射关系2、方案二:使用association处理映射关系3、方案三:分步查询 前言 本博主将用CSDN记录软件开发求学之路上亲身所得…

教育网站开发用例图宁波建设网表格

我的方案如下:>单击按钮时,客户端将向服务器端发送请求>一旦服务器端收到请求,它将向远程服务器发送另一个请求以获得结果>一旦响应到来,服务器端应该回应客户端的响应.客户$.post(login_server.php{act:"post",phone:phone,passwords:passwords…

品牌网站建设S苏州未来产品设计

目录 uni-app 项目目录结构 生命周期 路由 路由跳转 页面栈 条件编译 文本渲染 样式渲染 条件渲染 遍历渲染 事件处理 事件修饰符 uni-app 项目目录结构 组件/标签 使用(类似)小程序 语法/结构 使用vue 具体项目目录如下: 生命…

李之一的Java第一作

李之一的Java第一作package com.lixuan.houhou; public class SxisuArray { public static void main(String[] args) { //稀疏数组 :创建一个二维数组11*11 0:没有棋子 1:黑棋 2:白棋 int[][] array1 = new int…

网站在线优化工具珠海百度seo

上期我们讲了面向对象的一些基本信息&#xff0c;这期让我们详细的了解一下 一、面向对象—类 1、PHP类的定义语法&#xff1a; <?php class className {var $var1;var $var2 "constant string";function classfunc ($arg1, $arg2) {[..]}[..] } ?>2、解…