LVS+Keepalived高可用群集配置案例
以下是一个 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 masterinterface ens33virtual_router_id 51priority 255advert_int 1authentication{auth_type passauth_pass 1111}virtual_ipaddress{192.168.8.100/24}
}
virtual_server 192.168.8.100 80{delay_loop 6lb_algo rrlb_kind drpersistence_timeout 50protocol tcpreal_server 192.168.8.103 80{weight 1tcp_check{connect_timeout 3retry 3delay_before_retry 3}}real_server 192.168.8.104 80{weight 2tcp_check{connect_timeout 3retry 3delay_before_retry 3}}
}
-
Ivs2的 keepalived 配置文件修改
! configuration file for keepalived
global_defs{router_id cluster2
}
vrrp_instance web{state backupinterface ens33virtual_router_id 51priority 100advert_int 1authentication{auth_type passauth_pass 1111}virtual_ipaddress{192.168.8.100/24}
}
virtual_server 192.168.8.100 80{delay_loop 6lb_algo rrlb_kind drpersistence_timeout 50protocol tcpreal_server 192.168.8.103 80{weight 1tcp_check{connect_timeout 3retry 3delay_before_retry 3}}real_server 192.168.8.104 80{weight 2tcp_check{connect_timeout 3retry 3delay_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
相关文章:
LVS+Keepalived高可用群集配置案例
以下是一个 LVSKeepalived 高可用群集配置案例: 1、环境准备 LVS 主调度器(lvs1):IP 地址为 192.168.8.101,心跳 IP 为 192.168.4.101LVS 备调度器(lvs2):IP 地址为 192.168.8.102…...
杰发科技AC7801——滴答定时器获取时间戳
1. 滴答定时器 杰发科技7801内部有一个滴答定时器,该定时器是M0核自带的,因此可以直接用该定时器来获取时间戳。 同样,7803也可以使用该方式获取时间戳。 2. 滴答定时器原理 SysTick是一个24位的递减计数器,它从预设的重装载值…...
Pycharm使用matplotlib出现的问题(1、不能弹出图表 2、图表标题中文不显示)
Pycharm使用matplotlib出现的问题 问题1:Pycharm调试时出现:AttributeError: module backend_interagg has no attribute FigureCanvas. Did you mean: FigureCanvasAgg? 排查原因:可能是由于matplotlib后端设置不正确或与运行环境不兼容引…...
Cursor+pycharm接入Codeuim(免费版),Tab自动补全功能平替
如题,笔者在Cursor中使用pycharm写python程序,试用期到了Tab自动补全功能就不能用了,安装Codeuim插件可以代替这个功能。步骤如下: 1. 在应用商店中搜索扩展Codeuim,下载安装 2. 安装完成后左下角会弹出提示框&#x…...
spring--ApplicationContext和BeanFactory的区别(源码)
ApplicationContext 和 BeanFactory 是 Spring 框架中两个核心的接口,它们都用于管理和访问 Spring 容器中的 Bean,但在功能和使用场景上有显著的区别。以下是它们的详细对比,并结合源码进行讲解。 一、 功能对比 特性BeanFactoryApplicati…...
HTMLS基本结构及标签
HTML5是目前制作网页的核心技术,有叫超文本标记语言。 基本结构 声明部分位于文档的最前面,用于向浏览器说明当前文档使用HTML标准规范。 根部标签位于声明部分后,用于告知浏览器这是一个HTML文档。< html>表示文档开始,&l…...
【蓝桥杯嵌入式】各模块学习总结
系列文章目录 留空 文章目录 系列文章目录前言一、LED模块1.1 赛题要求1.2 模块原理图1.3 编写代码1.4 赛题实战 二、LCD模块2.1 赛题要求2.2 模块原理图2.3 编写代码2.4 赛题实战 三、按键模块3.1 赛题要求3.2 模块原理图3.3 编写代码3.4 赛题实战 四、串口模块4.1 赛题要求4…...
Vue的项目创建以及项目目录与组合式API
一.创建Vue 1.Vue-CLI:创建Vue的脚手架工具 2.Create-vue:是Vue官方提供的脚手架之一,底层采用官方自主研发的vite,快捷,开发方便。 3.准备工作:系统中需要安装nodejs环境,在该环境中提供npm包管理器 4.创建Vue项目的命令:npm init vuela…...
数据结构秘籍(二)图(含图的概念、存储以及图的两大搜索)
1 引言 线性数据结构的元素满足唯一的线性关系,每个元素(初第一个和最后一个外)只有一个直接前趋和一个直接后继。树形数据结构的元素之间有着明显的层次关系。但是图形结构的元素之间的关系是任意的。 什么是图? 简单来说&…...
前端八股——JS+ES6
前端八股:JSES6 说明:个人总结,用于个人复习回顾,将持续改正创作,已在语雀公开,欢迎评论改正。...
Python 课堂点名桌面小程序
一、场景分析 闲来无事,老婆说叫我开发一个课堂点名桌面小程序,给她在课堂随机点名学生问问题。 人生苦短,那就用 Python 给她写一个吧。 二、依赖安装 因为要用到 excel,所以安装两个依赖: pip install openpyxl…...
【Java基础】Java中new一个对象时,JVM到底做了什么?
Java中new一个对象时,JVM到底做了什么? 在Java编程中,new关键字是我们创建对象的最常用方式。但你是否想过,当你写下new MyClass()时,Java虚拟机(JVM)到底在背后做了哪些工作?今天&…...
C#中的字典怎么使用?
在C#中,Dictionary<TKey, TValue> 是一个泛型集合类,用于存储键值对(key-value pairs)。它提供了快速的查找、插入和删除操作,适合需要根据键快速查找值的场景。以下是 Dictionary 的基本用法和常见操作…...
vue框架后遗症∶被遗忘的dom操作
用多了vue、react等前端框架,不得不说用数据驱动视图来开发真的很香,但是也免不了会有不用这些框架的项目,dom操作还是很有必要的,一开始学习网页设计的时候就教过,后面一直开发项目基本上用框架。虽然有些想不起来了&…...
进程 ─── linux第10课
目录 回顾上一节 进程 基本概念 描述进程 - PCB task_struct - PCB的一种 task_ struct内容分类 组织进程 下面来介绍task_struct内部 PID 和PPID 子进程与父进程 getpid()和getppid() 杀进程 exe 和 cwd 回顾上一节 1. 如果我们写的程序要访问硬件,必定通过sy…...
线性模型 - 支持向量机
支持向量机(SVM)是一种用于分类(和回归)的监督学习算法,其主要目标是找到一个最佳决策超平面,将数据点分为不同的类别,并且使得分类边界与最近的数据点之间的间隔(margin)…...
MyBatis-Plus注解配置:@TableName、@TableId、@TableField
MyBatis-Plus 是 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis-Plus 提供了一系列注解,用于简化数据库表与实体类之间的映射关系。以下是 @TableName、@TableId 和 @TableField 这三个常用注解的配置和使用说明。 官方文档:…...
DeepSeek接入问题-Xshell5连接Ubuntu22失败解决方案
项目场景: deepseek部署常用系统Ubuntu系统, xshell5连接Ubuntu22遇到如下问题: 问题描述 xshell5连接Ubuntu22遇到如下问题: Connecting to 172.16.46.80:22... Could not connect to 172.16.46.80 (port 22): Connection fa…...
论文阅读之基于Syn2Real域的侧扫声纳类水雷目标探测
摘要 由于现实世界数据的稀缺性,基于深度学习的水下水雷探测受到了限制。这种稀缺性导致过拟合,即模型在训练数据上表现良好,但在未见数据上表现不佳。本文提出了一种使用扩散模型的Syn2Real (Synthetic to Real)域泛…...
【Java】Tomcat日志
Tomcat日志 tomcat 日志的配置文件是tomcat目录下的/conf/logging.properties。 日志输出级别:SEVERE (最高级别) > WARNING > INFO > CONFIG > FINE > FINER(精心) > FINEST (所有内容,最低级别) 日志分类 tomcat 有五类日志 : …...
Stable Diffusion 3.5 FP8镜像:简化部署流程,提升使用体验
Stable Diffusion 3.5 FP8镜像:简化部署流程,提升使用体验 1. 镜像概述 Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它在图像质量、运行速度和硬件效率方面都有显著提升。…...
颠覆式窗口控制:WindowResizer革命性尺寸调整技术全解析
颠覆式窗口控制:WindowResizer革命性尺寸调整技术全解析 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer WindowResizer——这款开源窗口尺寸控制工具,正以革…...
Recaptcha2 图像识别 API 集成指南
在本篇文章中,我们将介绍如何集成 Recaptcha2 图像识别 API。该 API 可以识别用户输入的内容和 Recaptcha2 验证图像,最终返回需要点击的小图像的坐标,以完成验证。 环境准备 在使用 API 之前,您需要在 Recaptcha2 图像识别 API…...
快速上手:GLM-4-9B-Chat-1M超长上下文模型部署与调用教程
快速上手:GLM-4-9B-Chat-1M超长上下文模型部署与调用教程 1. 认识GLM-4-9B-Chat-1M模型 1.1 什么是GLM-4-9B-Chat-1M GLM-4-9B-Chat-1M是智谱AI推出的最新一代开源对话模型,特别针对超长上下文场景进行了优化。这个模型的核心特点是支持高达1,000,000…...
OpenClaw+百川2-13B-4bits:个人博客内容自动生成与发布方案
OpenClaw百川2-13B-4bits:个人博客内容自动生成与发布方案 1. 为什么需要自动化博客工作流 作为一个坚持写了5年技术博客的开发者,我深知内容创作的痛点:灵感转瞬即逝,写作耗时费力,排版发布流程繁琐。每次从灵感到最…...
3大核心功能彻底解决Windows系统卡顿:WindowsCleaner深度评测与实践指南
3大核心功能彻底解决Windows系统卡顿:WindowsCleaner深度评测与实践指南 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否经历过这样的场景&…...
百台AGV如何协同?揭秘基于树莓派CM5机器人控制器的调度黑科技
在智能仓储的繁忙战场上,AGV(自动导引运输车)如同不知疲倦的“搬运工”,穿梭于货架之间。但当“搬运工”从几个变成几十个、上百个时,问题就来了:如何让它们井然有序,不堵车、不撞车、不“摸鱼”…...
EcomGPT电商大模型部署案例:基于Docker镜像的免配置生产环境搭建
EcomGPT电商大模型部署案例:基于Docker镜像的免配置生产环境搭建 1. 项目概述 EcomGPT电商大模型是阿里巴巴IIC实验室专门为电商场景打造的多语言智能助手,基于EcomGPT-7B-Multilingual模型开发。这个模型经过电商领域的专门训练,能够理解商…...
k3wise 穿透查询产品代码的所有子BOM单的物料工程变更单序时簿
文章目录 引言 I 需求 II K3 序时簿穿透查询配置(适合界面操作) 创建查询脚本(需适配 K3 关键字) III 存储过程实现(推荐报表使用) IV 关键表结构说明 引言 本文介绍了在K3系统中配置穿透查询产品代码及其所有子级物料工程变更单的方法。主要内容包括: 通过SQL查询分析…...
python基于智能推荐算法的全屋定制平台网站设计_07y1pcxm
前言随着人们对家居环境品质的追求不断提高,全屋定制平台应运而生。本文介绍的基于智能推荐算法的全屋定制平台网站设计,旨在为用户提供一站式的家居定制解决方案。采用 Python 语言结合 Django 框架进行开发,以 MySQL 数据库作为数据存储核心…...
