LVS + KeepAlived 配置HA集群的步骤

news2025/2/10 7:44:29

LVS + KeepAlived 配置HA集群的步骤

(一)集群准备

准备vmvare linux虚拟主机4台,假设对外提供的VIP是192.168.174.110

主机IP备注
LVS1192.168.174.101提供4层代理-主机
LVS2192.168.174.102提供4层代理-备用
Apache1192.168.174.201真实服务器1
Apache2192.168.174.202真实服务器2

此处采用LVS的DR模式,需修改真实服务器的内核参数

arp_ignore:通常将arp_ignore设置为1,这意味着只有在请求的目标IP地址与接收到请求报文的接口上的IP地址匹配时,才给予ARP响应。
arp_announce:通常将arp_announce设置为2,这意味着避免将接口信息向非直接连接的网络进行通告。

即修改真实服务器的系统配置文件中/etc/sysctl.conf

net.ipv4.conf.ens33.arp_announce = 2 # 其中 ens33根据主机的实际网络接口名称做调整
net.ipv4.conf.ens33.arp_ignore = 1		# 其中 ens33根据主机的实际网络接口名称做调整

net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1

并通过执行sysctl -p命令来应用更改。

(二)安装

yum install -y ipvsadm keepalived

(三)配置LVS1 和 LVS2

1. 在LVS1 的/etc/keepalived/keepalived.conf上完成如下配置,其中interface ens33根据主机的实际网络接口名称做调整

! Configuration File for keepalived

global_defs {
   router_id Cluster1
}

vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 255
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.174.110/24
    }
}


virtual_server 192.168.174.110 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    # persistence_timeout 50
    protocol TCP

    real_server 192.168.174.201 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            retry 3
            delay_before_retry 3
        }
    }

    real_server 192.168.174.202 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            retry 3
            delay_before_retry 3
        }
    }
}

2. 在LVS1 的/etc/keepalived/keepalived.conf上完成如下配置

! Configuration File for keepalived

global_defs {
   router_id Cluster1
}

vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.174.110/24
    }
}


virtual_server 192.168.174.110 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    # persistence_timeout 50
    protocol TCP

    real_server 192.168.174.201 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            retry 3
            delay_before_retry 3
        }
    }

    real_server 192.168.174.202 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            retry 3
            delay_before_retry 3
        }
    }
}

3. 参数解释

全局定义部分 (global_defs)

router_id Cluster1:标识这个Keepalived实例。

VRRP实例部分 (vrrp_instance VI_1)

state MASTER:指定这个Keepalived实例的初始状态是MASTER。
interface ens33:指定Keepalived使用哪个网络接口来发送和接收VRRP广告。
virtual_router_id 51:虚拟路由器的ID,用于标识这个VRRP实例。
priority 255:优先级,用于决定哪个节点应该成为MASTER
advert_int 1:MASTER节点发送VRRP广播的频率。
authentication:认证配置,用于确保只有合法的节点可以加入VRRP集群。
    auth_type PASS:使用简单密码认证。
    auth_pass 1111:认证密码。
virtual_ipaddress:虚拟IP地址,这是当这个节点成为MASTER时,会被分配到这个节点的IP地址。

负载均衡部分 (virtual_server)

192.168.174.110 80:定义了虚拟服务器的IP地址和端口号。
delay_loop 6:健康检查的时间间隔,单位是秒。
lb_algo rr:负载均衡算法,这里使用的是轮询(Round Robin)。
lb_kind DR:负载均衡模式,这里使用的是直接路由(Direct Routing)。
protocol TCP:指定使用TCP协议进行健康检查。

真实服务器部分 (real_server)

real_server:分别定义了两个真实服务器的IP地址和端口号。
weight 1:权重,用于在负载均衡决策中考虑。
TCP_CHECK:TCP健康检查配置。
    connect_timeout 3:连接超时时间,单位是秒。
    retry 3:如果健康检查失败,重试的次数。
    delay_before_retry 3:在重试之前的延迟时间,单位是秒。

(四)测试

配置完成后,LVS1 和 LVS2systemctl start keepalived启动keepalived服务,分别

curl 192.168.174.110
curl 192.168.174.201
curl 192.168.174.202

测试响应情况,如果配置正常,可在LVS1上看到浮动ip 192.168.174.110
然后强制关机LVS1,模拟LVS1宕机,此时可以发现浮动ip 192.168.174.110漂移到了LVS2,再次测试

curl 192.168.174.110
curl 192.168.174.201
curl 192.168.174.202

然后将LVS1开机,会发现该浮动ip又漂移回LVS1了

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

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

相关文章

ISAAC Sim 1.1. Isaac Sim 4.2.0 环境配置

我使用的系统是ubuntu20.04,根据推荐使用Binary installation 1.下载和安装 1.1. Isaac Sim 参照Installation using Isaac Sim Binaries — Isaac Lab Documentation完成ISAAC SIM安装。 1.2. Isaac Lab “Isaac Lab 提供您需要的工具,以便您根据项…

活动预告 | Power Hour: Copilot 引领商业应用的未来

课程介绍 智能化时代,商业应用如何实现突破?微软全球副总裁 Charles Lamanna 将为您深度解析,剖析其中关键因素。 在本次线上研讨会中,Charles Lamanna 将分享他在增强商业运营方面的独到见解与实战策略,深度解读商业…

Gemini 2.0模型更新:谷歌最新AI大模型全面开启智能时代

引言 2025年2月5日,谷歌人工智能实验室(Google DeepMind)发布了最新的Gemini 2.0模型系列更新,包括2.0 Flash、Flash-Lite和Pro实验版本。这些AI大模型的发布标志着人工智能技术在性能、效率和多模态能力上的进一步突破&#xff…

前端布局与交互实现技巧

前端布局与交互实现技巧 1. 保持盒子在中间位置 在网页设计中&#xff0c;经常需要将某个元素居中显示。以下是一种常见的实现方式&#xff1a; HTML 结构 <!doctype html> <html lang"en"> <head><meta charset"UTF-8"><m…

乘 DeepSeek 之风,破工作传统之浪,驶向智能高效新航道⭐

引言&#xff1a;当工作场景遭遇认知革命 在数字化转型的浪潮中&#xff0c;人工智能正以指数级速度重塑职场生态。DeepSeek作为国内领先的认知智能平台&#xff0c;其技术突破已超越简单的信息检索工具&#xff0c;正在演变为职场人的"第二大脑"。本文将系统解构De…

Chirpy3D:用于创意 3D 鸟类生成的连续部分潜在特征

Chirpy3D框架可以将细粒度的2D图像理解提升至3D生成的全新境界。当前的3D生成方法往往只关注于重构简单的对象&#xff0c;缺乏细致的特征和创造性。Chirpy3D通过结合多视角扩散模型和连续的部件潜在空间&#xff0c;能够生成全新且合理的3D鸟类模型。该系统不仅能够保持细致的…

viem库

viem是一个用于和以太坊进行交互的javascript库&#xff0c;它提供了简单的API进行智能合约的读取和写入操作&#xff0c;你可以使用它来与区块链上智能合约进行交互&#xff0c;查询链上数据等。 基本功能 1&#xff0c;创建公有客户端 createPublicClient 可以创建一个链接…

【每日一题 | 2025】2.3 ~ 2.9

个人主页&#xff1a;GUIQU. 归属专栏&#xff1a;每日一题 文章目录 1. 【2.3】P8784 [蓝桥杯 2022 省 B] 积木画2. 【2.4】P8656 [蓝桥杯 2017 国 B] 对局匹配3. 【2.5】[ABC365D] AtCoder Janken 34. 【2.6】P8703 [蓝桥杯 2019 国 B] 最优包含5. 【2.7】P8624 [蓝桥杯 2015…

整数拆分cpp

题目如下 思路&#xff1a;根据数论知识&#xff0c;要使乘积最大化&#xff0c;将该数拆分成3和2即可&#xff0c;一直对该数进行减三操作&#xff0c;直到该数小于等于4即可 代码如下 谢谢观看

DeepSeek之Api的使用(将DeepSeek的api集成到程序中)

一、DeepSeek API 的收费模式 前言&#xff1a;使用DeepSeek的api是收费的 免费版&#xff1a; 可能提供有限的免费额度&#xff08;如每月一定次数的 API 调用&#xff09;&#xff0c;适合个人开发者或小规模项目。 付费版&#xff1a; 超出免费额度后&#xff0c;可能需要按…

如何在WPS和Word/Excel中直接使用DeepSeek功能

以下是将DeepSeek功能集成到WPS中的详细步骤&#xff0c;无需本地部署模型&#xff0c;直接通过官网连接使用&#xff1a;1. 下载并安装OfficeAI插件 &#xff08;1&#xff09;访问OfficeAI插件下载地址&#xff1a;OfficeAI助手 - 免费办公智能AI助手, AI写作&#xff0c;下载…

神经网络常见激活函数 6-RReLU函数

文章目录 RReLU函数导函数函数和导函数图像优缺点pytorch中的RReLU函数tensorflow 中的RReLU函数 RReLU 随机修正线性单元&#xff1a;Randomized Leaky ReLU 函数导函数 RReLU函数 R R e L U { x x ≥ 0 a x x < 0 \rm RReLU \left\{ \begin{array}{} x \quad x \ge 0…

【分布式理论7】分布式调用之:服务间的(RPC)远程调用

文章目录 一、RPC 调用过程二、RPC 动态代理&#xff1a;屏蔽远程通讯细节1. 动态代理示例2. 如何将动态代理应用于 RPC 三、RPC序列化与协议编码1. RPC 序列化2. RPC 协议编码2.1. 协议编码的作用2.2. RPC 协议消息组成 四、RPC 网络传输1. 网络传输流程2. 关键优化点 一、RPC…

【Maven】项目管理工具-Maven

目录 1. Maven简介 1.1 项目管理 1.2 项目构建 1.3 项目构建工具 1.4 Maven的四大特征 1.4.1 依赖管理系统 1.4.2 多模块构建 1.4.3 一致的项目结构 1.4.4 一致的构建模型和插件机制 1.5 Maven模型 ​编辑 2.maven的安装配置 2.1 Maven的安装配置 2.1.1检测jdk的版…

ASP.NET Core WebSocket、SignalR

目录 WebSocket SignalR SignalR的基本使用 WebSocket WebSocket基于TCP协议&#xff0c;支持二进制通信&#xff0c;双工通信。性能和并发能力更强。WebSocket独立于HTTP协议&#xff0c;不过我们一般仍然把WebSocket服务器端部署到Web服务器上&#xff0c;因为可以借助HT…

【学术投稿】第五届计算机网络安全与软件工程(CNSSE 2025)

重要信息 官网&#xff1a;www.cnsse.org 时间&#xff1a;2025年2月21-23日 地点&#xff1a;中国-青岛 简介 第五届计算机网络安全与软件工程&#xff08;CNSSE 2025&#xff09;将于2025年2月21-23日在中国-青岛举行。CNSSE 2025专注于计算机网络安全、软件工程、信号处…

26~31.ppt

目录 26.北京主要的景点 题目 解析 27.创新产品展示及说明会 题目​ 解析 28.《小企业会计准则》 题目​ 解析 29.学习型社会的学习理念 题目​ 解析 30.小王-产品展示信息 题目​ 解析 31.小王-办公理念-信息工作者的每一天 题目​ 解析 26.北京主要的景点…

网络工程师 (28)IEEE802标准

前言 IEEE 802标准是由电气和电子工程师协会&#xff08;IEEE&#xff09;制定的一组局域网&#xff08;LAN&#xff09;和城域网&#xff08;MAN&#xff09;标准&#xff0c;定义了网络中的物理层和数据链路层。 一、起源与背景 IEEE 802又称为LMSC&#xff08;LAN/MAN Stand…

背包问题1

核心&#xff1a; // f[i][j] 表示只看前i个物品&#xff0c;总体积是j的情况下&#xff0c;总价值是多少 //res maxx(f[n][]0-v] //f[i][j]: //1 不选第i个物品 f[i][j] f[i-1][j] //2 选第i个物品 f[i][j] f[i-1][j-v[i]] w[i]

Spring 中的设计模式详解

控制反转(IoC)和依赖注入(DI) IoC(Inversion of Control,控制反转) 是 Spring 中一个非常非常重要的概念&#xff0c;它不是什么技术&#xff0c;而是一种解耦的设计思想。IoC 的主要目的是借助于“第三方”(Spring 中的 IoC 容器) 实现具有依赖关系的对象之间的解耦(IOC 容器…