发布时间:2026/7/26 6:49:50
高可用和负载均衡架构(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/7/26 6:49:50

【00004】

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

2026/7/26 6:49:50

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

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

2026/7/26 6:49:50

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

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

2026/7/26 7:39:51

Llamatop:Apple Silicon MacBook核心监控与性能优化实践

在 macOS 开发中&#xff0c;监控系统资源使用情况是性能优化和调试的重要环节。特别是对于搭载 Apple Silicon 芯片的 MacBook&#xff0c;其多核心架构&#xff08;性能核心与能效核心&#xff09;的工作状态直接影响应用性能和电池续航。传统工具如 Activity Monitor 提供了…

2026/7/26 7:39:51

跨国AI反诈技术:联邦学习与多模态识别的实战解析

1. 跨国AI反诈行动的技术架构解析当诈骗分子利用数字技术构建全球化犯罪网络时&#xff0c;执法机构正面临前所未有的挑战。去年参与某跨国电商平台风控系统设计的经历让我深刻体会到&#xff0c;传统人工排查模式在应对海量跨域欺诈数据时的无力感。Meta最新披露的AI反诈系统采…

2026/7/26 7:39:51

C/C++ 中高效计算最大幂次:从二分查找到位操作优化

1. 项目概述&#xff1a;从“最大数的幂”到算法核心在C/C的算法世界里&#xff0c;我们经常会遇到一些看似基础&#xff0c;实则暗藏玄机的问题。“求一个数在给定范围内的最大幂次”&#xff0c;或者说“largest power”问题&#xff0c;就是其中之一。乍一看&#xff0c;这似…

2026/7/26 7:39:51

CentOS 7离线安装GCC 9.3.0全攻略

1. 离线环境下的GCC安装挑战在CentOS 7的生产环境中&#xff0c;我们经常会遇到服务器无法连接外网但又需要编译环境的情况。上周我在部署一个金融行业的分析系统时&#xff0c;就遇到了这样的场景——十台隔离网络的计算节点需要统一部署GCC 9.3.0。经过三天的反复尝试和验证&…

2026/7/26 7:39:51

搭建域控服务器并创建组织和用户

一、准备工作 在VMWare上搭建一台windows server 2012 r2的服务器 二、服务配置 设置静态IP更改计算机名点击“添加角色和功能”下一步默认&#xff0c;点击下一步点击下一步选择“Active Directory域服务”点击“添加功能”点击下一步点击下一步点击安装等待安装完成安装完成&…

2026/7/26 7:34:51

K8s高可用部署Sentinel-Dashboard 1.8.9实践指南

1. 项目背景与核心价值在云原生架构中&#xff0c;流量治理是保障系统稳定性的关键环节。Sentinel作为阿里巴巴开源的轻量级流量控制组件&#xff0c;其Dashboard提供了可视化的规则配置与实时监控能力。本次部署的1.8.9版本是当前生产环境广泛采用的稳定版本&#xff0c;相比早…

2026/7/26 0:03:36

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

一、背景与测试方案 在实际项目交付中&#xff0c;PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及&#xff1a;多源PDF的文件流合并、页面级水印渲染&#xff08;含透明度混合与图层叠加&#xff09;、输出文件体积控制。看似简单的操作…

2026/7/26 0:03:36

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

一、背景与测试方案 在实际项目交付中&#xff0c;PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及&#xff1a;多源PDF的文件流合并、页面级水印渲染&#xff08;含透明度混合与图层叠加&#xff09;、输出文件体积控制。看似简单的操作…

2026/7/26 2:45:59

3个高效策略:快速掌握Axure中文界面配置

3个高效策略&#xff1a;快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…