使用Keepalived实现双机热备(虚拟漂移IP地址)详细介绍

 

🏡作者主页:点击! 

🐧Linux基础知识(初学):点击!

🐧Linux高级管理防护和群集专栏:点击!

🔐Linux中firewalld防火墙:点击!

⏰️创作时间:2024年7月15日14点40分

🀄️文章质量:95分


目录

——前言——

Keepalived 简介

工作原理

主服务器

备服务器

虚拟(漂移)地址测试


——前言——

以下内容全是重点 请仔细阅读

以下内容全是重点 请仔细阅读

Keepalived 是一个用于实现高可用性。它主要用于确保服务的连续性,防止单点故障,通常应用于负载均衡和故障转移场景。

Keepalived 简介

  1. Keepalived 是一个基于 VRRP(虚拟路由冗余协议)协议的软件实现。

  2. 它可以管理 LVS(Linux Virtual Server)集群系统,也可以单独用于实现服务的高可用。

  3. Keepalived 通过配置虚拟 IP 地址(VIP)来实现服务的故障转移。

  4. 它能够监控服务器和服务的状态,在发生故障时自动进行切换。

特别适合需要快速故障转移和负载均衡的网络环境

工作原理

  1. VRRP协议

    Keepalived使用VRRP(虚拟路由冗余协议)来实现高可用性。

    多台服务器组成一个VRRP组,共享一个虚拟IP地址。

    一台服务器作为主服务器,其他为备用服务器。

    主服务器定期发送VRRP通告包,如果备用服务器在一定时间内没有收到通告,就会接管虚拟IP。

2.健康检查

Keepalived定期检查本地和远程服务的健康状态。

支持多种检查方式,如TCP、HTTP、SSL等。

如果检测到服务不可用,会触发故障转移。

3.负载均衡

当与LVS(Linux Virtual Server)结合使用时,Keepalived可以管理LVS的配置。

支持多种负载均衡算法,如轮询、加权轮询、最少连接等。

4.配置管理

通过配置文件定义VRRP实例、虚拟IP、健康检查等参数。

支持动态配置更新,无需重启服务。

5.故障转移

当主服务器失效时,备用服务器会自动接管虚拟IP。

转移过程快速,通常在几秒内完成,对用户几乎无感知。

过这些机制,Keepalived能够有效地提供高可用性和负载均衡服务,确保系统的稳定性和可靠性。

实验环境

主 192.168.192.100    虚拟漂移地址 192.168.192.200

备 192.168.192.111     虚拟漂移地址 192.168.192.200

主服务器


安装所需组件
yum -y install gcc openssl-devel libnfnetlink-devel libnl libnl3-develyum install -y keepalived ipvsadm

编辑配置文件

以下配置都是重点 大家可以一一比对

vim /etc/keepalived/keepalived.conf
! Configuration File for keepalivedglobal_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}! 设置通知邮件的接收地址notification_email_from Alexandre.Cassen@firewall.loc  ! 设置通知邮件的发送地址smtp_server 192.168.200.1  ! 设置SMTP服务器地址smtp_connect_timeout 30  ! 设置SMTP连接超时时间(秒)router_id R1  ! 设置路由器标识}vrrp_instance VI_1 {state MASTER  ! 设置初始状态为主节点interface ens33  ! 设置VRRP实例绑定的网络接口virtual_router_id 2  ! 设置虚拟路由器IDpriority 100  ! 设置优先级advert_int 1  ! 设置VRRP广播间隔(秒)authentication {auth_type PASS  ! 设置认证类型为密码auth_pass 1111  ! 设置认证密码}virtual_ipaddress {192.168.192.200  ! 设置虚拟IP地址}
}virtual_server 192.168.192.200 80 {delay_loop 6  ! 设置健康检查间隔(秒)lb_algo rr  ! 设置负载均衡算法为轮询lb_kind DR  ! 设置LVS模式为直接路由nat_mask 255.255.255.0  ! 设置NAT掩码
!   persistence_timeout 50  ! 会话保持时间(秒),当前被注释protocol TCP  ! 设置协议为TCPreal_server 192.168.192.112 80 {weight 1  ! 设置服务器权重TCP_CHECK {connect_port 80  ! 设置健康检查连接的端口connect_timeout 3  ! 设置连接超时时间(秒)nb_get_retry 3  ! 设置重试次数delay_before_retry 3  ! 设置重试间隔(秒)}}real_server 192.168.192.114 80 {weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 3}}
}

keepalived会定期对real server进行健康检查,如果检查失败,它会尝试重新连接。如果在指定的重试次数内都无法成功连接,keepalived会将该服务器标记为不可用,并将流量转发到其他可用的服务器。


 

systemctl start keepalived    #启动服务
systemctl enable keepalived    #开机自启systemctl status keepalived

备服务器

安装所需组件
yum -y install gcc openssl-devel libnfnetlink-devel libnl libnl3-devel
yum install -y keepalived ipvsadm

编辑配置文件

根据行号来修改所需的信息 我都列出来 大家自行寻找出来修改

vim /etc/keepalived/keepalived.conf

 12    router_id R213 }14 15 vrrp_instance VI_1 {16     state BACKUP17     interface ens3318     virtual_router_id 219     priority 9520     advert_int 121     authentication {22         auth_type PASS23         auth_pass 111124     }25     virtual_ipaddress {26         192.168.192.20027     }28 }30 virtual_server 192.168.192.200 80 {31     delay_loop 632     lb_algo rr33     lb_kind DR34     nat_mask 255.255.255.035 #   persistence_timeout 5036     protocol TCP37 38     real_server 192.168.192.112 80 {39         weight 140         TCP_CHECK{41             connetc_port 8042             connect_timeout 343             nb_get_retry 344             delay_before_retry 345          }46 47     real_server 192.168.192.114 80 {48         weight 149         TCP_CHECK{50             connetc_port 8051             connect_timeout 352             nb_get_retry 353             delay_before_retry 354          }55         }56         }57     }

systemctl start keepalived  #启动服务
systemctl enable keepalived #开机自启
 

查看是否出错

systemctl status keepalived

虚拟(漂移)地址测试

在主服务器上查看

[root@localhost ~]# ip a sh dev ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:af:b6:81 brd ff:ff:ff:ff:ff:ffinet 192.168.192.100/24 brd 192.168.192.255 scope global ens33valid_lft forever preferred_lft foreverinet 192.168.192.200/32 scope global ens33valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:feaf:b681/64 scope link valid_lft forever preferred_lft forever

备服务器查看

[root@localhost ~]# ip a sh dev ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:b2:65:cb brd ff:ff:ff:ff:ff:ffinet 192.168.192.111/24 brd 192.168.192.255 scope global ens33valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:feb2:65cb/64 scope link valid_lft forever preferred_lft forever

此刻我们关闭终止主服务器keepalived

在查看

主服务器

备服务器

"成功的路上没有捷径,只有不断的努力与坚持。如果你和我一样,坚信努力会带来回报,请关注我,点个赞,一起迎接更加美好的明天!你的支持是我继续前行的动力!"

"每一次创作都是一次学习的过程,文章中若有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出宝贵的意见和建议,让我不断进步。"

神秘泣男子

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

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

相关文章

uniapp发送Form Data格式请求

设置header的Content-Type为 application/x-www-form-urlencoded 即可 uni.request({url: , // 接口urldata: {input: 写一篇一千字的作文}, // 入参method: POST, // 参数类型header: {"Content-Type": "application/x-www-form-urlencoded"}, // 请求头…

进销存管理系统设计

进销存管理系统&#xff08;Inventory Management System&#xff0c;简称IMS&#xff09;是一种帮助企业有效管理商品的入库、出库及库存情况的信息系统。良好的进销存管理系统能够提升库存周转率、减少库存成本、提高订单处理效率&#xff0c;从而增强企业的市场竞争力。以下…

[JS]Generator

介绍 Generator函数是 ES6 提供的一种异步编程解决方案, async是该方案的语法糖 核心语法 Generator对象由生成器函数返回, 并且它符合可迭代协议和迭代器协议 生成器函数在执行时能暂停, 后面又从暂停处继续执行 <script>// 1.定义生成器函数function* testGenerato…

VMware与centos安装

目录 VM安装 安装centos VM安装 VMware Workstation Pro是VMware&#xff08;威睿公司发布的一袋虚拟机软件&#xff09;&#xff0c;它主要功能是可以给用户在单一的桌面上同时运行不同的操作系统&#xff0c;也是可以进行开发、测试、部署新的应用程序的最佳解决方案。 开始…

HarmonyOS 屏幕适配设计

1. armonyOS 屏幕适配设计 1.1. 像素单位 &#xff08;1&#xff09;px (Pixels)   px代表屏幕上的像素点&#xff0c;是手机屏幕分辨率的单位&#xff0c;即屏幕物理像素单位。 &#xff08;2&#xff09;vp (Viewport Percentage)   vp是视口百分比单位&#xff0c;基于…

程序包不存在【java: 程序包org.springframework.boot不存在】

1、问题提示&#xff1a;java: 程序包org.springframework.boot不存在 注意&#xff1a;已经下载好了程序包&#xff0c;就是提示不存在 2、解决办法

PostgreSQL 中如何处理数据的并发读写和锁等待超时?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01;&#x1f4da;领书&#xff1a;PostgreSQL 入门到精通.pdf 文章目录 PostgreSQL 中如何处理数据的并发读写和锁等待超时一、并发读写的基本概念&#xff08;一&#xff09;…

公司周年庆活动应该怎么策划?

当我们谈论公司周年庆典&#xff0c;我们不仅仅是在讨论一个简单的派对。 这是一个展现公司文化、增强员工归属感、加深客户关系&#xff0c;甚至推动公司战略发展的重要时刻。 那么&#xff0c;如何策划一场既有趣又有意义的周年庆典呢&#xff1f;这里分享一点自己的私人笔…

【java】力扣 买卖股票的最佳时机II

文章目录 题目链接题目描述思路代码 题目链接 122.买卖股票的最佳时机II 题目描述 思路 这道题和121.买卖股票的最佳时机 有所不同&#xff0c;不同点在于&#xff0c;这道题的股票可以多次买卖(但是要在买之前先卖掉) 详细思路请看链接的文章【java】力扣 买卖股票的最佳时…

ERP基础知识

ERP 一、概述 ​ ERP是Event-related Potentials的简称。外加一种特定的刺激&#xff0c;作用于感觉系统或脑 的某一部位&#xff0c;在给予刺激或撤销刺激时&#xff0c;或和当某种心理因素出现时在脑区所产生的电位变化&#xff0c;成为事件相关电位&#xff0c;是一种特殊…

Sentinel-1 Level 1数据处理的详细算法定义(四)

《Sentinel-1 Level 1数据处理的详细算法定义》文档定义和描述了Sentinel-1实现的Level 1处理算法和方程,以便生成Level 1产品。这些算法适用于Sentinel-1的Stripmap、Interferometric Wide-swath (IW)、Extra-wide-swath (EW)和Wave模式。 今天介绍的内容如下: Sentinel-1 L…

【详解】Spring Cloud概述

&#x1f3a5; 个人主页&#xff1a;Dikz12&#x1f525;个人专栏&#xff1a;Spring学习之路&#x1f4d5;格言&#xff1a;吾愚多不敏&#xff0c;而愿加学欢迎大家&#x1f44d;点赞✍评论⭐收藏 目录 1. 认识微服务 1.1 单体架构 1.2 集群和分布式架构 1.3 集群和分布式…

从零开始做题:什么奇奇怪怪的东西

题目 解题 mrf拓展名&#xff0c;macro recorder打开&#xff0c;鼠标键盘的记录 然后解压flag.zip即可&#xff0c;发现有一个挂载的文件&#xff0c;直接打开后 显示所有的隐藏文件 一个一个打开 然后进行拼接运行吧估计。 首先打开txt文件直接久就给出了代码&#xff1…

linux的学习(四):磁盘,进程,定时,软件包的相关命令

简介 关于磁盘管理&#xff0c;进程管理&#xff0c;定时任务&#xff0c;软件包管理的命令的使用 磁盘管理类命令 du du 目录名&#xff1a; 查看文件和目录占用的磁盘空间 参数&#xff1a; -h&#xff1a;可以看到大小的单位&#xff0c;g,mb-a&#xff1a;还可以看到文…

昇思25天学习打卡营第8天|模型权重保存与加载

打卡 目录 打卡 模型的两种保存形式 Checkpoint 中间表示IR 模型保存与加载 模型权重保存-例1 模型权重加载-例1 模型权重保存-例2 模型权重加载-例2 模型权重文件的空间占用计算-例 模型的两种保存形式 Checkpoint 权重参数文件 中间表示IR 中间表示&#xff08;…

跟着操作,解决iPhone怎么清理内存难题

在如今智能手机功能日益强大的时代&#xff0c;我们使用手机拍照、录制视频、下载应用、存储文件等操作都会占用手机内存。当内存空间不足时&#xff0c;手机运行会变得缓慢&#xff0c;甚至出现卡顿、闪退等现象。因此&#xff0c;定期清理iPhone内存是非常必要的。那么&#…

详解注意力机制上篇【RNN,Seq2Seq(Encoder-Decoder,编码器-解码器)等基础知识】

NLP-大语言模型学习系列目录 一、注意力机制基础——RNN,Seq2Seq等基础知识 二、注意力机制【Self-Attention,自注意力模型】 &#x1f525; 在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;理解和生成自然语言的能力对于构建智能系统至关重要。从文本分类、机器翻…

电脑文件误删除如何恢复?Top12电脑数据恢复软件汇总合集!(图文详解)

电脑文件误删除如何恢复&#xff1f;在日常使用电脑过程中&#xff0c;我们经常会遇到意外删除文件的情况。可能是因为按错了按键、误操作了鼠标&#xff0c;或者意外格式化了存储设备。这些情况都可能导致重要的文件不小心被删除。但是不用担心&#xff0c;有许多专业的数据恢…

昇思25天学习打卡营第10天|NLP-RNN实现情感分类

打卡 目录 打卡 任务说明 流程 数据准备与加载 加载预训练词向量&#xff08;分词&#xff09; 数据集预处理 模型构建 Embedding RNN(循环神经网络) LSTM 全连接层 损失函数与优化器 训练逻辑 评估指标和逻辑 模型训练与保存 模型加载与测试 自定义输入测试 …

高频面试题基本总结回顾4(含笔试高频算法整理)

目录 一、基本面试流程回顾 二、基本高频算法题展示 三、基本面试题总结回顾 &#xff08;一&#xff09;Java高频面试题整理 &#xff08;二&#xff09;JVM相关面试问题整理 &#xff08;三&#xff09;MySQL相关面试问题整理 &#xff08;四&#xff09;Redis相关面试…