当前位置: 首页 > news >正文

运维实战全套总结 + 实战教程(MySQL 主从 + LVS+Keepalived 高可用)

一、MySQL 主从复制(一主一从 / 一主多从 / 级联复制)

1. 核心原理

主库:开启 binlog 日志,记录所有写操作 从库:IO 线程拉取 binlog → SQL 线程重放,实现数据同步

2. 一主一从 实战

(1)环境准备

  • 主库:10.0.0.12
  • 从库:10.0.0.15

(2)主库配置 my.cnf

重启 mysql

运行

主库创建复制账号

(3)从库配置 my.cnf

从库执行同步命令

sql

看到Slave_IO_Running: YesSlave_SQL_Running: Yes即成功。


3. 一主多从

完全 same 一主一从只需要:

  • 从库 2:server-id=12
  • 从库 3:server-id=13
  • 都指向同一个主库即可

4. 级联复制(主 → 从 1 → 从 2)

从 1(中间节点)配置

ini

从 2 指向 从 1即可完成级联。


二、LVS 核心概念 + 工作原理 + 集群模式特性

1. LVS 概念

LVS:Linux Virtual Server Linux 内核实现的高性能、高可用负载均衡器,四层(TCP/UDP)负载均衡。

2. LVS 工作原理

  1. 用户请求 → LVS(调度器)
  2. LVS 根据调度算法选择后端 RS(真实服务器)
  3. LVS 修改数据包目标地址 / MAC 地址转发
  4. RS 处理并返回给用户 / 调度器

3. LVS 三种集群模式特性

(1)NAT 模式(地址转换)

  • 调度器修改目标 IP
  • RS 网关必须指向 LVS
  • 进出流量都走 LVS → LVS 容易成为瓶颈
  • 支持跨网段、配置简单
  • 端口可映射

(2)DR 模式(直接路由,生产最常用)

  • 修改目标 MAC 地址
  • LVS 和 RS 在同一网段
  • RS 直接回包给用户,不经过 LVS → 性能极高
  • 不支持端口映射

(3)TUN 模式(IP 隧道)

  • 跨网段、跨机房
  • 配置复杂、用得少

三、LVS 调度算法 + 原理

静态调度(不看后端负载)

  1. RR 轮询:轮流分发
  2. WRR 加权轮询:权重高的分得多
  3. SH 源地址哈希:同一 IP 永远访问同一 RS(会话保持)
  4. DH 目标地址哈希

动态调度(看后端负载)

  1. LC 最少连接:分给连接数最少的
  2. WLC 加权最少连接(默认):权重高、压力小优先
  3. SED / NQ / LBLC等进阶算法

四、LVS 配置文件 + 完整注释

LVS 无固定配置文件,常用ipvsadm命令 + 脚本管理。

LVS 启动脚本(带详细注释)

bash

运行

常用命令

bash

运行

ipvsadm -Ln # 查看规则 ipvsadm -C # 清空 systemctl start ipvsadm

五、LVS 实战:NAT 模式 + DR 模式

1. NAT 模式实战

(1)LVS 双网卡

  • 外网:192.168.1.100(VIP)
  • 内网:192.168.2.10

(2)RS 配置

  • RS 网关必须指向 LVS 内网 IP:192.168.2.10

(3)LVS 脚本

bash

运行

echo 1 > /proc/sys/net/ipv4/ip_forward ipvsadm -A -t 192.168.1.100:80 -s rr ipvsadm -a -t 192.168.1.100:80 -r 192.168.2.11 -m -w 1 ipvsadm -a -t 192.168.1.100:80 -r 192.168.2.12 -m -w 1

2. DR 模式实战(生产标准)

(1)所有机器同一网段

LVS:192.168.1.10 VIP:192.168.1.100 RS1:192.168.1.11 RS2:192.168.1.12

(2)RS 配置 VIP(隐藏在 lo 网卡)

bash

运行

ifconfig lo:0 192.168.1.100 netmask 255.255.255.255 up echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

(3)LVS 配置

bash

运行

ipvsadm -A -t 192.168.1.100:80 -s wlc ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.11 -g -w 1 ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.12 -g -w 1

六、Keepalived 安装 + 配置文件详解

1. 安装

bash

运行

2. keepalived.conf 完整注释

ini


七、Keepalived + Nginx 高可用实战

架构

  • 主:192.168.1.10(MASTER)
  • 备:192.168.1.11(BACKUP)
  • VIP:192.168.1.100

1. 主节点配置

2. 备节点配置

3. Nginx 宕机自动切换脚本

bash

运行

加入 crontab 即可实现高可用。


八、Keepalived + HAProxy 高可用实战

和 Nginx 高可用完全一样,只需要:

  1. 两台机器装 haproxy
  2. keepalived 配置同上
  3. 监控脚本把 nginx 换成 haproxy 即可

监控脚本

运行


全套总结

  1. MySQL 主从:binlog + 中继日志,一主一从 / 多从 / 级联
  2. LVS:四层负载,NAT/DR/TUN,DR 性能最高
  3. 调度算法:RR/WRR/LC/WLC/SH,WLC 默认
  4. Keepalived:VRRP 协议,实现 VIP 漂移
  5. 高可用:主挂 → VIP 自动飘到备机,业务无中断
http://www.cnnetsun.cn/news/2692905.html

相关文章:

  • DIY可拆卸电机转盘:齿轮传动与PWM调速的工程实践
  • 基于NE555的红外遥控干扰器:从原理到实战制作
  • 反洗钱平台-技术栈全景图
  • 基于ESP8266与MQTT的智能家居安防蜂鸣器反馈系统实现
  • 如何为Windows桌面添加复古翻页时钟:FlipIt终极指南
  • 热插拔机械键盘DIY指南:从PCB检测到轴体调校全流程解析
  • VERSES AI基于主动推理的AGI新范式:挑战OpenAI并呼吁行业协作
  • 解密PyMobileDevice3:用Python掌控iOS设备的终极武器
  • 题解:AtCoder AT_awc0080_e Paint Drop
  • “聚焦法则”——把所有资源钉在一个窄点上,击穿后形成复利
  • Streamlit(十八)- API 参考文档(十一)- 页面导航组件
  • SpikingJelly泊松编码实战:从图像处理到SNN模型输入的完整数据流水线
  • 智能垃圾桶项目成本大揭秘:从零到量产,SG90舵机、SW-18010P震动传感器到底怎么选最划算?
  • 用于自动维护一个 C# 源码文件(AutoVersion.cs)
  • CANoe自动化测试进阶:巧用setPreTrigger和setPostTrigger,让你的CPAL脚本精准捕获‘事发瞬间’的数据
  • 医疗边缘AI硬件加速:CMOS ASIC、FPGA与忆阻器技术解析与应用
  • 告别‘元素不可见’:Selenium+Pytest处理shadow-root的完整避坑指南
  • 新能源电站电能质量数据采集解决方案
  • java matches Java匹配上瘾?这编程语言让你从菜鸟秒变大神
  • DownGit:基于GitHub API的前端资源精准下载技术方案
  • 如何在Fusion 360中创建完美适配3D打印的螺纹:终极配置指南
  • 基于GSM与Arduino的远程门锁系统:从硬件选型到软件编程的完整实战指南
  • 3分钟掌握ComfyUI IPAdapter Plus:让AI绘画学会“看图说话“的神器
  • 电路设计跨界实践:从Arduino到智能生活项目的创意实现
  • AWS DevOps Agent 集成运维文档
  • LinkSwift:一站式网盘直链下载助手,高效解决九大平台文件下载难题
  • 戴森吸尘器电池复活终极指南:开源固件如何打破32次闪烁的死亡魔咒
  • STM32小车主控工程:支持思岚雷达、自动回充与多传感器避障(IAR环境)
  • 基于Arduino与Python的PC屏幕自动亮度调节系统设计与实现
  • KMS_VL_ALL_AIO:Windows和Office智能激活工具的终极完整指南