高可用和负载均衡架构(LVS DR模式,keepalived高可用,LVS NAT模式,Pacemaker高可用)

发布时间:2026/10/31 21:22:23

高可用和负载均衡架构(LVS DR模式,keepalived高可用,LVS NAT模式,Pacemaker高可用) 目录修改静态网卡配置防火墙关闭和禁止开机自启LVS负载架构LVS DR模式VS调度器配置在vs(server1)安装ipvsadm创建虚拟IPVIP添加虚拟服务向虚拟服务添加真实服务器RSRS真实服务器配置(用server2举例server3同理)在server2安装apache服务rs也需要添加viparptables测试keepalived高可用master配置server1backup配置server4测试LVS NAT模式server1配置双网卡开启路由机制加载 nat 模块加载 lvs规则RS真实服务器配置测试Pacemaker高可用主机配置免密配置ntp时间同步安装集群软件启动pcsd服务两台机器分别设置 hacluster 相同密码确认两台服务器 pcsd 服务正常运行配置corosync重新执行集群认证server1 执行启动集群校验集群创建集群资源节点失效备援修改静态网卡配置vim /etc/sysconfig/network-scripts/ifcfg-eth0参数修改BOOTPROTOstatic或者nonedhcp为动态获取改为静态IPADDR192.168.239.xxxNETMASK255.255.255.0 /NETMASK24GATEWAY192.168.239.2 #默认网关DNS1192.168.239.2 #首选DNS服务器重载网卡ifdown eth0ifup eth0nmcli 命令行直接修改网络nmcli connection modify不需要手动改配置文件改完直接up即可磁盘文件会自动同步写入防火墙关闭和禁止开机自启用firewalld防火墙举例systemctl status firewall #查看状态systemctl stop firewalld #关闭防火墙systemctl disable firewalld #禁止开机自启具体可以看我的博客下面是链接iptables和firewalld防火墙简介和操作LVS负载架构LVSLinux Virtual Server内核四层负载均衡基于IPVS工作在传输层TCP/UDP核心四种模式NAT、DR、TUN、FULLNAT术语约定 VS调度器DirectorRS后端真实服务器Real ServerVIP虚拟 IP对外访问地址RIP真实服务器内网 IPDIP调度器后端内网 IP准备四台主机一台VS两台RS,一台测试主机名IPVIP角色server1192.168.239.132192.168.239.100调度器VSserver2192.168.239.133192.168.239.100真实服务器RSserver3192.168.239.134192.168.239.100真实服务器RSserver4192.168.239.135测试机四台主机间进行域名解析vim /etc/hostsLVS DR模式VS调度器配置ipvsadm 是 Linux 下用于管理 IPVSIP Virtual ServerIP 虚拟服务器 的命令行工具主要用于构建 LVSLinux Virtual Server负载均衡集群。它允许管理员配置和管理虚拟服务、真实服务器后端节点以及负载均衡策略。在vs(server1)安装ipvsadm[rootserver1 ~]# yum install -y ipvsadm创建虚拟IPVIP选用连接不了的IP地址作为VIP这里使用使用192.168.239.100可以选用其他IP但需要ping一下是否成功若失败则该IP可作为VIP添加vip[rootserver1 ~]# ip addr add 192.168.239.100/24 dev eth0此时VIP添加成功用server4 ping 192.168.239.100(VIP)发现可以成功添加虚拟服务参数解释-A添加虚拟服务-t指定 TCP 协议的虚拟服务格式VIP:端口其他协议-uUDP、-f防火墙标记用于复合协议-s指定负载均衡调度算法常用算法rr轮询Round Robinwrr加权轮询Weighted RRlc最少连接Least Connectionswlc加权最少连接Weighted LCsh源地址哈希Source Hash会话保持dh目标地址哈希Destination Hash[rootserver1 ~]# ipvsadm -A -t 192.168.239.100:80 -s rr虚拟服务添加成功向虚拟服务添加真实服务器RS参数解释-a添加真实服务器-t指定关联的虚拟服务需与添加虚拟服务时的 -t 一致-r指定真实服务器地址格式RIP:端口转发模式必选其一-gDR 模式Direct Routing直接路由性能最优-mNAT 模式Network Address Translation网络地址转换-iTUN 模式IP TunnelingIP 隧道跨网段场景-w指定权重值越大分配的请求越多仅用于加权算法[rootserver1 ~]# ipvsadm -a -t 192.168.239.100:80 -r 192.168.239.133:80 -g[rootserver1 ~]# ipvsadm -a -t 192.168.239.100:80 -r 192.168.239.134:80 -g保存和恢复配置# 保存当前配置到文件默认路径/etc/sysconfig/ipvsadmipvsadm-save /etc/sysconfig/ipvsadm# 从文件恢复配置ipvsadm-restore /etc/sysconfig/ipvsadm系统重启后配置会丢失需保存并设置开机自动恢复通常通过 systemctl enable ipvsadm 实现RS真实服务器配置(用server2举例server3同理)在server2安装apache服务yum install -y httpd[rootserver2 ~]# echo server2 /var/www/html/index.html设置开机自启systemctl enable --now httpdrs也需要添加vip[rootserver2 ~]# ip a a 192.168.239.100/24 dev eth0arptablesarptables是 Linux 用户空间工具用于操作ARP 报文过滤规则工作在二层 ARP 协议以太网 ARP内核模块arptables_filter作用管控ARP 请求 / 应答报文实现ARP 防火墙、防 ARP 欺骗、静态 ARP 绑定、屏蔽非法 ARP 广播。安装arptables[rootserver2 ~]# yum install arptables查看规则# 查看所有链的规详细信息arptables -L -n添加规则[rootserver2 ~]# arptables -A INPUT -d 192.168.239.100 -j DROP-A INPUT向INPUT链添加一条规则-d192.168.239.100匹配目的IP为192.168.239.100的arp包-j DROP对匹配的报文执行丢弃操作[rootserver2 ~]# arptables -A OUTPUT -s 192.168.239.100 -j mangle --mangle-ip-s 192.168.239.133AOUTPUT向 OUTPUT 链本机发出的 ARP 报文添加一条规则。-s 192.168.36.100匹配源 IP 为 192.168.239.100 的 ARP 报文即本机以该 IP 发送的 ARP 包。-j mangle对匹配的报文执行 “修改” 操作--mangle-ip-s 192.168.239.133试图将 ARP 报文中的源 IP 地址修改为 192.168.239.133。保存和恢复规则[rootserver2 ~]# arptables-save /etc/sysconfig/arptables[rootserver2~]# systemctl enable arptables测试curl 192.168.239.100 或者 for i in {1..10}; do curl 192.168.239.100; donekeepalived高可用LVS VIP192.168.239.100LVS 主节点server1MASTERLVS 备节点新增一台调度器BACKUP示例 IP 假设192.168.239.135RealServerserver2192.168.239.133server3192.168.239.134Keepalived 主配置文件默认路径为 /etc/keepalived/keepalived.conf主、备节点配置差异主要在 state角色和 priority优先级数值越高越优先成为主节点。master配置server1server1清除资源[rootserver1 ~]# ip a d 192.168.239.100/24 dev eth0[rootserver1 ~]# ipvsadm -C安装高可用软件[rootserver1 ~]# yum install -y keepalivedvim /etc/keepalived/keepalived.confsystemctl enable --now keepalived设置开机重启并立即重启查看资源是否就绪测试keepalived对后端RS的健康检测[rootserver2 ~]# systemctl stop httpd故障的RS会自动从调度列表中被摘除192.168.239.133被摘除再次启动服务[rootserver2 ~]# systemctl start httpdbackup配置server4server4安装高可用软件[rootserver4 ~]# yum install -y keepalived从server1拷贝配置文件此时在server1操作[rootserver1 ~]# scp /etc/keepalived/keepalived.conf server4:/etc/keepalived/配置server4文件server1 和 server4 是主备调度器不能两台都是 MASTERserver4需要改为state BACKUP同时检查priority优先级这里改为50保证主节点优先级100数字更大重启并设置开机自启[rootserver4 ~]# systemctl enable --now keepalived测试停止server1上服务[rootserver1 ~]# systemctl stopkeepalived.service查看资源是否自动迁移到server4测试成功LVS NAT模式NATNetwork Address Translation网络地址转换核心调度器修改数据包 IP 地址实现转发。客户端请求 → 目标 IPVIP调度器虚拟 IPLVS 调度器接收报文修改目标 IP 为后端 RS 真实 IP转发给 RealServerRealServer 收到请求回包必须经过调度器RS 网关指向调度器内网 IP调度器收到 RS 响应修改源 IP 为 VIP返回给客户端调度器Director双网卡eth0(对内内网)192.168.239.132 DIPeth1(对外外网)192.168.10.132 VIP公网虚拟IP默认网关写在 eth1 配置文件 GATEWAY192.168.10.100RealServer网关192.168.239.132调度器内网IPNAT强制要求RS1192.168.239.133RS2192.168.36.134server1配置双网卡调度器是双网卡eth0内网192.168.239.132 ❌配置文件里不要写 GATEWAYeth1外网192.168.10.132 ✅唯一默认网关写在 eth1 配置文件内绝对禁止 eth0、eth1 同时配置 GATEWAY避免生成两条默认路由引发路由紊乱。开启路由机制vim/etc/sysctl.confnet.ipv4.ip_forward 1执行命令生效sysctl ­--p加载 nat 模块modprobe iptable_nat注如果不加载此模块也可以在第一次访问时成功但是会在再次访问时出现延迟过长或访问超时现象加载 lvs规则ipvsadm -C ipvsadm -A -t 192.168.10.132:80 -s rripvsadm -a -t 192.168.10.132:80 -r 192.168.239.133:80 -mipvsadm -a -t 192.168.10.132:80 -r 192.168.239.134:80 -mRS真实服务器配置RS真实服务器配置在 LVS NAT 模式下真实服务器RS的网关必须指向调度器的内网 IPDIP。这是 NAT 模式的核心要求。因为客户端请求经过调度器的 NAT 转换后源 IP 会变成调度器的内网 IP。RS 处理完请求后响应报文必须返回给调度器由调度器将源 IP 改回 VIP然后再返回给客户端。配置步骤1. 修改网卡配置文件在两台 RS 服务器server2: 192.168.239.133 和 server3: 192.168.239.134上编辑网卡配置文件确保网关指向调度器的内网 IP192.168.239.132。重启网络服务修改配置后重启网络服务使更改生效systemctl restart network service network restart验证网关配置使用ip route或route -n命令检查默认路由是否指向调度器。# View the routing table ip route show # or route -n The expected output should contain a line similar to: default via 192.168.239.132 dev eth0配置完成后需要进行连通性测试从 RS 上 ping 调度器的内网 IP192.168.239.132确保网络连通。从客户端访问 VIP192.168.10.132:80观察请求是否被正确转发到 RS。在调度器上检查连接状态使用ipvsadm -ln查看连接分发情况。测试访问地址 curl 192.168.10.132观测现象多次刷新页面轮流出现 RS1 / RS2 页面rr 轮询生效Pacemaker高可用Pacemaker 是 Linux 环境下主流的 开源高可用集群管理工具核心作用是通过监控集群节点和服务状态实现 “故障自动检测与切换”确保业务服务持续运行即服务不中断。它通常与 Corosync负责集群通信与成员管理配合使用组成完整的高可用集群解决方案。主机配置免密下面是免密如何设置SSH服务SSH免密访问scp和rsync命令远程文件同步systemd-journald服务查找日志systemd-journald 日志持久化-CSDN博客配置ntp时间同步配置时间同步使用阿里云时间修改 Chrony 时间同步服务使用阿里云时间服务器vim /etc/chrony.conf注释原有默认服务器添加阿里云时间源server ntp1.aliyun.com iburshtimedatectl 命令的作用查看系统当前时间、时区确认 NTP service: active表示时间同步服务已启用安装集群软件[rootserver1 ~]# yum install -y pacemaker pcs psmisc policycoreutils-python[rootserver4 ~]# yum install -y pacemaker pcs psmisc policycoreutils-python启动pcsd服务[rootserver1 ~]#systemctl enable --now pcsd.service[rootserver4 ~]#systemctl enable --now pcsd.service[rootserver1 ~]#echoredhat| passwd --stdin hacluster[rootserver4 ~]#echoredhat| passwd --stdin hacluster两台机器分别设置 hacluster 相同密码echo redhat | passwd --stdin hacluster确认两台服务器 pcsd 服务正常运行两边都执行systemctl restart pcsd systemctl status pcsd状态必须显示active (running)配置corosync重新执行集群认证server1 执行pcs cluster auth server1 server4输入用户名hacluster密码redhatserver1: Authorized server4: Authorized[rootserver1 ~]# pcs cluster setup --name mycluster server1 server4启动集群[rootserver1 ~]# pcs cluster start --all[rootserver1 ~]# pcs cluster enable --all校验集群[rootserver1 ~]# crm_verify -L -V[rootserver1 ~]# pcs property set stonith-enabledfalse[rootserver1 ~]# pcs status创建集群资源[rootserver1 ~]# pcs resource create vip ocf:heartbeat:IPaddr2 ip192.168.239.100 op monitor interval30s手动移除server1上的vip后集群会自动检测并修复[rootserver1 ~]# ip a d 192.168.239.100/24 dev eth0节点失效备援[rootserver1 ~]# pcs node standbyserver1失效后资源自动迁移至server4恢复server1[rootserver1 ~]# pcs node unstandby
延伸阅读

更多相关文章

2026/10/31 21:21:45

【00004】

二、C语言2.3流程控制1.顺序结构程序从main函数开始执行&#xff0c;执行到main函数结束&#xff0c;整个代码运行结束2.分支结构&#xff08;1&#xff09;关系运算符“>”、“<”、“”、“&#xff01;”、“>”、“<”关系运算符最终结果只有1&#xff08;true…

2026/10/29 9:43:36

BBWEYY AI设计与可视化编辑能力测评——从建站效率、视觉统一、自由度与内容质量展开分析,含零代码SAAS、AI编程、源码定制交付

BBWEYY AI设计与可视化编辑能力测评 ——从建站效率、视觉统一、自由度与内容质量展开分析 摘要 本文对BBWEYY的AI建站、AI生图、商品内容生成、品牌视觉统一和像素级可视化编辑能力进行专项测评。结果显示&#xff0c;该体系能够显著提高标准网站和商城的制作效率&#xff…

2026/10/29 12:28:47

AI Agent框架核心模块解析与实战设计技巧

1. AI Agent框架概述&#xff1a;从零开始理解智能体架构第一次接触AI Agent这个概念时&#xff0c;我脑海中浮现的是科幻电影里的智能助手。但实际开发中&#xff0c;AI Agent远不止如此——它是一个能够感知环境、自主决策并执行任务的智能系统。就像搭积木一样&#xff0c;一…

2026/10/31 21:20:17

局域网考试系统设计:服务稳定性、并发控制与离线容错

简介&#xff1a;本资源为一款面向中小学及高校教师的局域网环境专用考试系统终版&#xff0c;解决传统纸质考试组卷耗时、阅卷低效、防作弊能力弱等教学考核痛点&#xff0c;适用于机房统考、课堂随测、期中期末等封闭网络场景。压缩包为RAR格式&#xff0c;大小7.58MB&#x…

2026/10/31 21:20:17

SpringBoot发型推荐系统开发全流程解析

1. 项目概述&#xff1a;SpringBoot发型个性化搭配系统这个基于SpringBoot的发型个性化搭配系统是一个融合了多种技术栈的综合性项目&#xff0c;旨在为用户提供个性化的发型推荐和搭配服务。系统采用前后端分离架构&#xff0c;后端使用SpringBoot框架&#xff0c;前端可选择V…

2026/10/31 21:20:17

局域网考试系统实战:SQLite并发、状态同步与断电恢复设计

简介&#xff1a;本资源为面向教育场景的局域网考试系统终版软件包&#xff0c;专为中小学及高校教师设计&#xff0c;解决传统纸质考试组织效率低、阅卷耗时长、防作弊能力弱等实际教学痛点&#xff0c;适用于课堂随堂测、期中期末模拟考、技能实操考核等封闭式局域网环境。压…

2026/10/31 21:20:17

Cognos语义建模与可信报表开发实战指南

1. 为什么“Cognos学习笔记”不是一份普通文档&#xff0c;而是一张企业数据能力成长地图“Cognos学习笔记”这六个字&#xff0c;表面看是某位从业者随手记下的技术备忘&#xff0c;实则暗含三层不可忽视的现实张力&#xff1a;第一层&#xff0c;它指向一个已稳定运行超二十年…

2026/10/31 21:20:17

MCP工程化治理:从Harness引擎到可审计的Agent工具调用链路

上周在云栖大会的展区里&#xff0c;我原本只是路过 Kymo 的展台&#xff0c;结果被一位工程师现场演示的 MCP 审计链路吸引住了。他调出一条某 Agent 调用内部 CRM 工具的完整记录——请求参数、工具返回、token 消耗、耗时分布、脱敏后的敏感字段&#xff0c;全部对齐在一张时…

2026/10/31 21:15:16

微软Copilot工作流智能升级:从单点任务到端到端自动化

1. 微软Copilot新功能开发背景解析 最近业内流传微软正在为Copilot开发对标OpenClaw的新功能&#xff0c;这其实反映了当前AI助手领域的一个重要趋势。作为长期关注企业级AI应用的从业者&#xff0c;我观察到微软这一动作背后有几个关键考量&#xff1a; 首先从技术定位来看&a…

2026/10/30 20:55:10

全国计算机二级C语言真题PDF高效刷题指南

简介&#xff1a;这份PDF是全国计算机二级C语言考试的试题与答案解析&#xff0c;专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/30 20:55:10

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介&#xff1a;一份以实战为导向的Python爬虫入门资源&#xff0c;面向具备基本编程基础、希望快速掌握网络数据抓取的初学者&#xff0c;可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档&#xff0c;完整演示从网页中提取 标题…

2026/10/30 20:55:09

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介&#xff1a;这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档&#xff0c;压缩包大小七十八KB&#xff0c;内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开&#xff1a;先构造一个极点位于单位圆内…

2026/10/31 0:02:41

猫狗目标检测数据集:VOC/COCO/YOLO三格式一体化实战包

简介&#xff1a;本资源是一套面向计算机视觉初学者与YOLO目标检测实践者的猫狗图像数据集及配套开发工具包&#xff0c;专为快速上手目标检测模型训练而设计。资源包含1000张真实场景高清猫狗图片&#xff0c;标注质量高&#xff0c;同时提供VOC&#xff08;XML&#xff09;、…

2026/10/31 0:02:41

HDU2017多校标程复现:算法竞赛工程化真题沙盒

简介&#xff1a;本资源为2017年HDU多校联合训练第一场官方配套资料&#xff0c;面向ACM程序设计竞赛备赛学生、算法爱好者及高校编程集训队成员&#xff0c;旨在提供权威解题参考与完整测试验证环境。压缩包共40个文件&#xff0c;含15份C标程&#xff08;覆盖全部赛题&#x…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑