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/22 4:45:34 阅读更多 →

最新新闻

英语高频动词check的多场景应用解析

英语高频动词check的多场景应用解析

1. Check在英语学习中的核心价值解析Check这个看似简单的单词,在英语实际应用中却有着惊人的灵活性。作为英语母语者日常使用频率最高的50个动词之一,check几乎渗透到了所有生活场景中。我在纽约生活工作的五年里,每天听到和使用的check相关表…

2026/7/22 5:58:01 阅读更多 →
C++缓存对齐优化:从原理到实战解决多线程性能瓶颈

C++缓存对齐优化:从原理到实战解决多线程性能瓶颈

1. 项目概述:从一次诡异的性能瓶颈说起最近在优化一个高频交易模拟器的核心模块时,我遇到了一个极其诡异的问题。这个模块负责处理海量的市场行情数据包,每个数据包是一个小的结构体。在将核心算法从单线程重构为多线程后,我满怀期…

2026/7/22 5:58:01 阅读更多 →
VMDK快照原理与虚拟磁盘管理实战指南

VMDK快照原理与虚拟磁盘管理实战指南

1. VMDK快照机制深度解析虚拟磁盘快照是VMware环境中最强大的数据保护功能之一,但很多用户对其底层工作原理存在误解。VMDK(Virtual Machine Disk)作为VMware虚拟机的磁盘镜像格式,采用了一种创新的链式存储结构。1.1 快照的链式存…

2026/7/22 5:58:01 阅读更多 →
国家中小学智慧教育平台教材下载工具

国家中小学智慧教育平台教材下载工具

软件介绍 第二款叫"国家中小学智慧教育平台电子教材下载",这工具之前推荐过好几回了,这次作者又做了更新。如果你家里有中小学生,暑假想提前下载教材预习,或者开学要补课需要电子版课本,这工具刚好派上用场…

2026/7/22 5:58:01 阅读更多 →
U盘文件夹加密软件保护隐私数据

U盘文件夹加密软件保护隐私数据

软件介绍 今天第一款叫"U盘加密锁",先说个重要的事:数据加密有风险,操作前一定要备份好资料,别到时候加密出了问题数据找不回来。 公用U盘的烦恼 用这款工具的起因是这样的:我的U盘在部门里基本属于"…

2026/7/22 5:58:01 阅读更多 →
GenAI与AI智能体的技术架构与商业应用前景

GenAI与AI智能体的技术架构与商业应用前景

1. GenAI与AI智能体的市场变革前景Gartner最新预测显示,到2027年,生成式人工智能(GenAI)和AI智能体技术将引发价值580亿美元的市场格局重塑。这一预测不仅反映了技术演进的速度,更揭示了企业数字化转型的新方向。作为从…

2026/7/22 5:57:01 阅读更多 →

日新闻

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

1. 项目概述与SYSCFG模块的核心价值在嵌入式系统,尤其是像TI C6000系列这样的高性能DSP开发中,我们常常会与芯片手册里那些密密麻麻的寄存器打交道。很多开发者可能更关注算法实现、内存优化或者外设驱动,但对于一个稳定、高效的系统而言&…

2026/7/22 0:00:26 阅读更多 →
微信Server酱:高到达率的应急通知方案实践

微信Server酱:高到达率的应急通知方案实践

1. 为什么我们需要"最次"的通知方案? 在数字化协作环境中,消息通知系统的重要性不言而喻明。但现实情况是,企业级通知方案往往需要复杂的API对接(如企业微信、钉钉、飞书),个人开发者的小项目又经…

2026/7/22 0:00:26 阅读更多 →
甲方要的“简洁“PPT,到底是简洁还是省事?

甲方要的“简洁“PPT,到底是简洁还是省事?

甲方说"简洁一点",乙方听到的是"少做几页"。甲方说"不要太复杂",乙方理解成"别放图表了"。结果交过去,甲方说"我说的简洁不是这个意思"。"简洁"这个词在PPT语境里,是…

2026/7/22 0:00:26 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/7/21 8:25:39 阅读更多 →

月新闻