LVS+Keepalived高可用群集配置案例

news2025/3/1 15:17:12

以下是一个 LVS+Keepalived 高可用群集配置案例:

1、环境准备

  • LVS 主调度器(lvs1):IP 地址为 192.168.8.101,心跳 IP 为 192.168.4.101
  • LVS 备调度器(lvs2):IP 地址为 192.168.8.102,心跳 IP 为 192.168.4.102
  • 虚拟 IP(vip):192.168.8.100
  • Web 服务器 1(nginx1):IP 地址为 192.168.8.103
  • Web 服务器 2(nginx2):IP 地址为 192.168.8.104
  • 客户端:IP 地址为 192.168.8.1

2、配置步骤

2.1、为lvs1和lvs2配置ip地址

lvs1:配置IP地址

nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.8.101/24
nmcli connection modify ens36 ipv4.method manual ipv4.addresses 192.168.4.101/24
nmcli connection up ens33
nmcli connection up ens36

lvs2:配置IP地址

nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.8.102/24
nmcli connection modify ens36 ipv4.method manual ipv4.addresses 192.168.4.102/24
nmcli connection up ens33
nmcli connection up ens36

2.2、为lvs1和lvs2安装keepalived和ipvsadm并修改配置文件

  • 安装:
yum install -y keepalived ipvsadm
  • Ivs1的 keepalived 配置文件修改

!configuration file for keepalived
global_defs{
    router_id cluster1
}
vrrp_instance web{
    state master
    interface ens33
    virtual_router_id 51
    priority 255
    advert_int 1
    authentication{
        auth_type pass
        auth_pass 1111
    }
    virtual_ipaddress{
        192.168.8.100/24
    }
}
virtual_server 192.168.8.100 80{
    delay_loop 6
    lb_algo rr
    lb_kind dr
    persistence_timeout 50
    protocol tcp
    real_server 192.168.8.103 80{
        weight 1
        tcp_check{
            connect_timeout 3
            retry 3
            delay_before_retry 3
        }
    }
    real_server 192.168.8.104 80{
        weight 2
        tcp_check{
            connect_timeout 3
            retry 3
            delay_before_retry 3
        }
    }
}
  • Ivs2的 keepalived 配置文件修改

! configuration file for keepalived
global_defs{
    router_id cluster2
}
vrrp_instance web{
    state backup
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication{
        auth_type pass
        auth_pass 1111
    }
    virtual_ipaddress{
        192.168.8.100/24
    }
}
virtual_server 192.168.8.100 80{
    delay_loop 6
    lb_algo rr
    lb_kind dr
    persistence_timeout 50
    protocol tcp
    real_server 192.168.8.103 80{
        weight 1
        tcp_check{
            connect_timeout 3
            retry 3
            delay_before_retry 3
        }
    }
    real_server 192.168.8.104 80{
        weight 2
        tcp_check{
            connect_timeout 3
            retry 3
            delay_before_retry 3
        }
    }
}
  • 重启服务:在两台lvs上输入

systemctl restart keepalived

3、为后端服务器安装 httpd

web1

安装:yum install -y httpd
写入信息:echo "hello,192.168.8.103" > /usr/share/nginx/html/index.html
启动服务:systemctl enable httpd.service --now

web2

安装:yum install -y httpd
写入信息:echo "hello,192.168.8.104" > /usr/share/nginx/html/index.html
启动服务:systemctl enable httpd.service --now

4、为后端服务器配置IP地址

web1

nmcli con mod ens33 ipv4.address 192.168.8.103/24 ipv4.gateway 192.168.8.2
nmcli con up ens33
增加虚拟接口并配置 vip:nmcli connection add type dummy ifname dummy2 ipv4.method manual ipv4.addresses 192.168.8.100/32
修改内核 arp 配置:cat >>/etc/sysctl.conf<< eof net.ipv4.conf.all.arp_ignore=1 net.ipv4.conf.all.arp_announce=2 eof
刷新配置:sysctl -p

web2

nmcli con mod ens33 ipv4.address 192.168.8.104/24 ipv4.gateway 192.168.8.2
nmcli con up ens33
增加虚拟接口并配置 vip:nmcli connection add type dummy ifname dummy2 ipv4.method manual ipv4.addresses 192.168.8.100/32
修改内核 arp 配置:cat >>/etc/sysctl.conf<< eof net.ipv4.conf.all.arp_ignore=1 net.ipv4.conf.all.arp_announce=2 eof
刷新配置:sysctl -p

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

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

相关文章

执行yum -y install npt 报错解决

Cannot find a valid baseurl for repo: base/7/x86_64 解决办法 一、检查网络连接 确保你的服务器可以访问互联网。你可以使用 ping 命令来测试&#xff1a; ping www.baidu.com 若能访问外网&#xff0c;则网络没问题&#xff0c;否则检查网络 二、修改CentOS-Base.rep…

Android Studio 新版本Gradle通过JitPack发布Maven仓库示例

发布本地仓库示例&#xff1a;https://blog.csdn.net/loutengyuan/article/details/145938967 以下是基于 Android Studio 24.2.2&#xff08;Gradle 8.10.2 AGP 8.8.0 JDK17&#xff09; 的通过JitPack发布Maven仓库示例&#xff0c;包含aar和jar的不同配置&#xff1a; 1.…

【官方配图】win10/win11 安装cuda 和 cudnn

文章目录 参考资料1.安装cuda toolkit1. 下载安装包2.安装验证 2. 安装cudnn下载cudnn安装包安装cudnn安装后的配置 参考资料 官方nvidia安装cuda官方nvidia安装cudnn 1.安装cuda toolkit 1. 下载安装包 下载地址 https://developer.nvidia.com/cuda-downloads?target_osW…

水滴tabbar canvas实现思路

废话不多说之间看效果图,只要解决了这个效果水滴tabbar就能做出来了 源码地址 一、核心实现步骤分解 布局结构搭建 使用 作为绘制容器 设置 width=600, height=200 基础尺寸 通过 JS 动态计算实际尺寸(适配高清屏) function initCanvas() {// 获取设备像素比(解决 Re…

神经网络 - 激活函数(Sigmoid 型函数)

激活函数在神经元中非常重要的。为了增强网络的表示能力和学习能力&#xff0c;激活函数需要具备以下几点性质: (1) 连续并可导(允许少数点上不可导)的非线性函数。可导的激活函数可以直接利用数值优化的方法来学习网络参数. (2) 激活函数及其导函数要尽可能的简单&#xff0…

2.5 运算符2

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的 2.5.3 赋值运算符 赋值运算符将值存储在左操作数指定的对象中。有两种赋值操作&#xff1a; 1、简单赋值&#xff0c;使用。其中第二…

DeepSeek + 自由职业 发现新大陆,从 0 到 1 全流程跑通商业 IP

DeepSeek 自由职业 发现新大陆&#xff0c;从 0 到 1 全流程跑通商业 IP 商业定位1. 商业定位分析提示词2. 私域引流策略提示词3. 变现模型计算器提示词4. 对标账号分析提示词5. 商业IP人设打造提示词6. 内容选题策略提示词7. 用户人群链分析提示词8. 内容布局与转化路径设计提…

【Python】网络爬虫——词云wordcloud详细教程,爬取豆瓣最新评论并生成各式词云

目录 一、功能介绍 二、关键技术 1、安装WordCloud 2、利用WordCloud 1、WordCloud的基础用法 **相关参数介绍** **WordCloud 提供的方法如下** 2、WordCloud的应用举例 3、设置停用词 4、WordCloud使用词频 三、程序设计的步骤 1、抓取网页数据 2、数据清洗 3、…

第39天:安全开发-JavaEE应用SpringBoot框架Actuator监控泄漏Swagger自动化

时间轴&#xff1a; Java知识点&#xff1a; 功能&#xff1a;数据库操作&#xff0c;文件操作&#xff0c;序列化数据&#xff0c;身份验证&#xff0c;框架开发&#xff0c;第三方组件使用等. 框架库&#xff1a;MyBatis&#xff0c;SpringMVC&#xff0c;SpringBoot&#xf…

综合练习 —— 递归、搜索与回溯算法

目录 一、1863. 找出所有子集的异或总和再求和 - 力扣&#xff08;LeetCode&#xff09; 算法代码&#xff1a; 代码思路 问题分析 核心思想 实现细节 代码解析 初始化 DFS 函数 时间复杂度 空间复杂度 示例运行 输入 运行过程 总结 二、 47. 全排列 II - 力扣&a…

【Java SE】Java中String的内存原理

参考笔记&#xff1a; Java String 类深度解析&#xff1a;内存模型、常量池与核心机制_java stringx、-CSDN博客 解析java中String的内存原理_string s1 new string("ab");内存分析-CSDN博客 目录 1.String初识 2.字符串字面量 3.内存原理图 4. 示例验证 4.…

IDEA提示将方法形参更改为(什么什么类型),要检查对应的实体类中的字段类型是否正确

IDEA提示inviteCodeId应该是字符串&#xff0c;明显不对&#xff0c;后来检查发现是FakeRegistration类中把inviteCodeId定义为String类型了。

【芯片设计】NPU芯片前端设计工程师面试记录·20250227

应聘公司 某NPU/CPU方向芯片设计公司。 小声吐槽两句,前面我问了hr需不需要带简历,hr不用公司给打好了,然后我就没带空手去的。结果hr小姐姐去开会了,手机静音( Ĭ ^ Ĭ )面试官、我、另外的hr小姐姐都联系不上,结果就变成了两个面试官和我一共三个人在会议室里一人拿出…

初阶数据结构(C语言实现)——3顺序表和链表(3)

3.链表 3.1 链表的概念及结构 概念&#xff1a;链表是一种物理存储结构上非连续、非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的 链表的物理结构 1.从上图可看出&#xff0c;链式结构在逻辑上是连续的&#xff0c;但是在物理上不一定连续…

使用 VSCode 代替 BeyondStudio for NXP 开发 JN 5169

使用 VSCode 代替 BeyondStudio for NXP 开发 JN 5169 一、安装 VSCode二、搭建 NXP JN5169 ZigBee 3.0 开发环境和下载示例工程三、配置 VSCode1、配置环境变量 MYSYS_HOME2、VSCode 安装以下插件3、VSCode 配置头文件路径 四、编译工程1、JN-AN-1219 有 6 个构建选项2、修改 …

DBGPT安装部署使用

简介 DB-GPT是一个开源的AI原生数据应用开发框架(AI Native Data App Development framework with AWEL(Agentic Workflow Expression Language) and Agents)。 目的是构建大模型领域的基础设施&#xff0c;通过开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Mul…

How to use VRX on ubuntu20.04 with ROS1 Noetic?[2]

How to use VRX on ubuntu20.04 with ROS1 Noetic?[2] 1.Which topics2.Control1.1操作模拟船&#xff08;1&#xff09;命令行直接发布&#xff08;2&#xff09;启动键盘控制文件 3.Customer your VRX world3.1Which world parameters3.2改变风的参数 3.2.1更改默认参数&…

yolov8 目标追踪 (源码 +效果图)

1.在代码中 增加了s键开始追踪 e键结束追踪 显示移动距离(代码中可调标尺和像素的比值 以便接近实际距离) 2.绘制了监测区域 只在区域内的检测 3.规定了检测的类别 只有人类才绘制轨迹 import osimport cv2 from ultralytics import YOLO from collections import defaultdic…

基于Python的web漏洞挖掘,漏洞扫描系统(附源码,部署)

本次技术通过利用Python技术来开发一款针对web漏洞挖掘扫描的技术&#xff0c;通过web漏洞的挖掘扫描来实现对网站URL的漏洞检测&#xff0c;通过高中低风险的判断来实现对一款网站中存在的漏洞进行可视化的分析&#xff0c;从而能够找到问题并且尽快的实现问题的解决。 博主介…

岳阳市美术馆预约平台(小程序论文源码调试讲解)

第4章 系统设计 一个成功设计的系统在内容上必定是丰富的&#xff0c;在系统外观或系统功能上必定是对用户友好的。所以为了提升系统的价值&#xff0c;吸引更多的访问者访问系统&#xff0c;以及让来访用户可以花费更多时间停留在系统上&#xff0c;则表明该系统设计得比较专…