LVS+Keepalived实现MySQL高可用负载均衡实战
1. 项目背景与核心价值在数据库高可用架构中MySQL主从复制是常见方案但随着业务增长单一的从库节点往往难以承受大量读请求压力。传统解决方案是手动扩展多个从库但存在以下痛点缺乏统一的访问入口应用层需要维护多个连接地址节点故障时需要人工干预切换无法根据服务器性能动态分配请求这正是LVSKeepalived组合的价值所在。我在某电商平台的数据库优化项目中通过这套方案成功将查询吞吐量提升300%同时实现了故障自动转移。下面分享具体实现细节。2. 技术架构解析2.1 核心组件分工LVSLinux Virtual Server工作在网络传输层OSI第4层采用DR直接路由模式仅处理入站请求支持10种调度算法本项目使用wrr加权轮询Keepalived基于VRRP协议实现主备切换提供健康检查机制TCP端口探测自动维护LVS规则表MySQL主从复制采用GTID复制模式确保数据一致性从库配置read_only1防止误写2.2 网络拓扑设计[Client] - [LVS-Master] - [MySQL-Slave1] | - [MySQL-Slave2] - [LVS-Backup]热备关键IP规划VIP虚拟IP192.168.1.100LVS-Master192.168.1.10LVS-Backup192.168.1.11MySQL-Slave1192.168.1.20MySQL-Slave2192.168.1.213. 详细实施步骤3.1 基础环境准备所有节点# 关闭SELinux setenforce 0 sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config # 安装依赖 yum install -y gcc make kernel-devel libnl libnl-devel poptMySQL从库节点# 配置复制账号 mysql CREATE USER repl192.168.1.% IDENTIFIED BY Repl123; mysql GRANT REPLICATION SLAVE ON *.* TO repl192.168.1.%; # 启用GTID复制 vim /etc/my.cnf [mysqld] server-id 20 # 另一台设为21 log_bin mysql-bin binlog_format ROW gtid_mode ON enforce_gtid_consistency ON read_only 13.2 LVS-DR模式配置Real Server配置MySQL节点# 创建ARP抑制脚本 cat /etc/init.d/realserver EOF #!/bin/bash VIP192.168.1.100 case $1 in start) echo 1 /proc/sys/net/ipv4/conf/lo/arp_ignore echo 2 /proc/sys/net/ipv4/conf/lo/arp_announce ifconfig lo:0 $VIP netmask 255.255.255.255 up route add -host $VIP dev lo:0 ;; stop) ifconfig lo:0 down route del $VIP /dev/null 21 ;; *) echo Usage: $0 {start|stop} exit 1 esac EOF # 设置开机自启 chmod x /etc/init.d/realserver echo /etc/init.d/realserver start /etc/rc.localDirector Server配置LVS节点# 安装ipvsadm wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz tar zxvf ipvsadm-1.26.tar.gz cd ipvsadm-1.26 make make install # 启用IP转发 echo 1 /proc/sys/net/ipv4/ip_forward3.3 Keepalived配置Master节点配置cat /etc/keepalived/keepalived.conf EOF ! Configuration File for keepalived global_defs { router_id LVS_MASTER } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.100/24 } } virtual_server 192.168.1.100 3306 { delay_loop 6 lb_algo wrr lb_kind DR persistence_timeout 50 protocol TCP real_server 192.168.1.20 3306 { weight 3 TCP_CHECK { connect_timeout 3 connect_port 3306 } } real_server 192.168.1.21 3306 { weight 2 TCP_CHECK { connect_timeout 3 connect_port 3306 } } } EOFBackup节点配置将state改为BACKUPpriority设为90其他配置与Master相同启动服务systemctl start keepalived systemctl enable keepalived4. 关键调优参数4.1 LVS调度算法选择算法特点适用场景rr简单轮询各节点性能均衡wrr加权轮询节点配置差异大wlc加权最小连接长连接服务lblc基于本地的最小连接缓存服务本项目选择wrr的原因两个从库物理配置不同16核 vs 8核MySQL查询性能与CPU核心数正相关4.2 TCP健康检查优化TCP_CHECK { connect_timeout 5 # 超时时间从3秒调整为5秒 nb_get_retry 2 # 重试次数减少到2次 delay_before_retry 1 # 重试间隔缩短为1秒 }调整依据高峰期MySQL连接可能较慢快速失败有助于及时切换节点5. 故障排查实录5.1 VIP无法访问现象客户端无法连接VIP的3306端口排查步骤检查LVS节点ipvsadm -ln输出验证Real Server的lo:0接口配置检查iptables规则iptables -I INPUT -p vrrp -j ACCEPT iptables -I INPUT -d 224.0.0.18 -j ACCEPT5.2 脑裂问题现象主备LVS同时持有VIP解决方案# 增加vrrp严格模式 vrrp_strict # 配置组播防火墙规则 iptables -I INPUT -i eth0 -d 224.0.0.0/8 -j ACCEPT6. 性能测试数据使用sysbench进行压测对比场景QPS平均延迟(ms)单从库12,34532.1LVS负载均衡28,76314.7故障切换时间3秒-7. 生产环境注意事项VIP选择避免使用已有IP段建议单独划分VIP网段监控指标ipvsadm -ln的ActiveConn变化Keepalived的切换日志MySQL从库延迟(Seconds_Behind_Master)权重调整根据CPU使用率动态调整weight值我在实际运维中发现当某个从库的CPU持续超过70%时将其weight值降低1-2个单位可以有效平衡负载。同时建议配置Zabbix监控当检测到持续高负载时自动触发权重调整脚本。这套架构经过三年生产环境验证支撑了日均2000万查询请求。最关键的是要确保LVS节点的网络带宽足够建议万兆网卡避免成为瓶颈。

相关新闻

spaCy命名实体识别(NER)实战指南

spaCy命名实体识别(NER)实战指南

1. 项目概述命名实体识别(Named Entity Recognition,简称NER)是自然语言处理中的一项基础且关键的技术,它能够从非结构化的文本中识别出具有特定意义的实体,如人名、地名、组织机构名、时间、日期等。在信息抽取、问答…

2026/7/22 4:45:34 阅读更多 →
银河麒麟V10申威平台Airflow 2.6.3部署指南

银河麒麟V10申威平台Airflow 2.6.3部署指南

1. 项目背景与挑战解析在国产化替代的大背景下,银河麒麟操作系统与申威CPU的组合已成为关键基础设施领域的重要技术路线。作为一款国产自主可控的操作系统,银河麒麟V10针对申威SW64架构进行了深度优化,但在生态软件适配方面仍存在诸多挑战。A…

2026/7/22 4:45:34 阅读更多 →
海南自贸港数智大动脉建设中的AI与边缘计算实践

海南自贸港数智大动脉建设中的AI与边缘计算实践

1. 海南"数智大动脉"项目背景解析海南作为国家战略定位的自由贸易港,正在经历一场深刻的数字化转型。这个面积3.54万平方公里的热带岛屿,面临着独特的数字化建设挑战:既要满足国际旅游消费中心的实时服务需求,又要支撑自…

2026/7/23 8:18:15 阅读更多 →

最新新闻

AI搜索优化技术解析与实战应用指南

AI搜索优化技术解析与实战应用指南

1. 2026年AI搜索优化行业格局解析 这个榜单的发布标志着AI搜索优化技术已经进入成熟应用阶段。从技术层面看,这些上榜厂商的核心竞争力主要体现在三个方面:首先是基于深度学习的语义理解能力,能够准确捕捉用户搜索意图;其次是强大…

2026/7/23 16:35:54 阅读更多 →
蓝牙连接稳定性优化与故障排查全攻略

蓝牙连接稳定性优化与故障排查全攻略

这次我们来看一个关于蓝牙连接的技术问题,标题虽然有点特别,但核心是解决蓝牙设备连接的实际操作。很多人在使用蓝牙设备时都会遇到连接不稳定、配对失败的问题,特别是某些特定型号的设备。这篇文章就直接从问题出发,带你一步步完…

2026/7/23 16:35:54 阅读更多 →
SolidWorks 2019安装指南与系统优化

SolidWorks 2019安装指南与系统优化

1. SolidWorks 2019安装前的系统准备在开始安装SolidWorks 2019之前,我们需要做好充分的准备工作。作为一款专业的三维CAD设计软件,SolidWorks对系统环境有着较为严格的要求。我根据多年安装经验,总结出以下几个关键准备步骤:1.1 …

2026/7/23 16:35:54 阅读更多 →
PS 制作立体文字|3 种实用实操方法,海报标题字效一站式教程

PS 制作立体文字|3 种实用实操方法,海报标题字效一站式教程

一、前言:设计行业立体文字通用痛点1. 目标读者电商美工、新媒体平面设计师、短视频封面创作者、零基础 PS 入门学习者、品牌海报设计师。2. 日常设计痛点仅使用「斜面浮雕」做立体字,效果单薄同质化,无法实现厚重写实纵深;手动堆…

2026/7/23 16:35:54 阅读更多 →
dp洛谷P1025数的划分

dp洛谷P1025数的划分

题目链接&#xff1a; https://www.luogu.com.cn/problem/P1025 这里我直接给出chatgpt的解释&#xff0c;他的解释比我更加清晰&#xff1a; 在我看来这个dp最关键的就是找到状态转移方程&#xff0c;这同时也是他最难的一点&#xff0c;代码如下&#xff1a; #include<io…

2026/7/23 16:35:54 阅读更多 →
虚拟主播数据分析指南:从切片数据优化到内容成长路径

虚拟主播数据分析指南:从切片数据优化到内容成长路径

最近在虚拟主播圈有个很有意思的现象&#xff1a;不少新人VUP开始关注自己的"切片数据"&#xff0c;担心因为人气不够而影响到合作主播的流量。夜莓小师妹和方方子的这个互动&#xff0c;其实反映了一个更深层的问题——在虚拟主播生态中&#xff0c;数据到底应该如何…

2026/7/23 16:34:53 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;从单点好评到指数级传播&#xff1a;AI副业主理人必须掌握的4层口碑渗透模型&#xff08;含ROI测算表&#xff09; 当AI副业主理人不再仅满足于单次服务交付&#xff0c;而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;AI写作开头钩子设计&#xff1a;为什么你的AI文案完读率不足18%&#xff1f;——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后&#xff0c;我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南&#xff1a;免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中&#xff0c;我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源&#xff0c;还是配置文件、证书等&#xff0c;都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下&#xff0c;但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP&#xff08;轻量级目录访问协议&#xff09;作为企业级身份认证的黄金标准&#xff0c;已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时&#xff0c;发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”&#xff0c;而是以可解释、可审计、可迭代的方式&#xff0c;赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 12:54:44 阅读更多 →

月新闻