运维实战全套总结 + 实战教程(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 工作原理
- 用户请求 → LVS(调度器)
- LVS 根据调度算法选择后端 RS(真实服务器)
- LVS 修改数据包目标地址 / MAC 地址转发
- RS 处理并返回给用户 / 调度器
3. LVS 三种集群模式特性
(1)NAT 模式(地址转换)
- 调度器修改目标 IP
- RS 网关必须指向 LVS
- 进出流量都走 LVS → LVS 容易成为瓶颈
- 支持跨网段、配置简单
- 端口可映射
(2)DR 模式(直接路由,生产最常用)
- 修改目标 MAC 地址
- LVS 和 RS 在同一网段
- RS 直接回包给用户,不经过 LVS → 性能极高
- 不支持端口映射
(3)TUN 模式(IP 隧道)
- 跨网段、跨机房
- 配置复杂、用得少
三、LVS 调度算法 + 原理
静态调度(不看后端负载)
- RR 轮询:轮流分发
- WRR 加权轮询:权重高的分得多
- SH 源地址哈希:同一 IP 永远访问同一 RS(会话保持)
- DH 目标地址哈希
动态调度(看后端负载)
- LC 最少连接:分给连接数最少的
- WLC 加权最少连接(默认):权重高、压力小优先
- 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 12. 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 高可用完全一样,只需要:
- 两台机器装 haproxy
- keepalived 配置同上
- 监控脚本把 nginx 换成 haproxy 即可
监控脚本
运行
全套总结
- MySQL 主从:binlog + 中继日志,一主一从 / 多从 / 级联
- LVS:四层负载,NAT/DR/TUN,DR 性能最高
- 调度算法:RR/WRR/LC/WLC/SH,WLC 默认
- Keepalived:VRRP 协议,实现 VIP 漂移
- 高可用:主挂 → VIP 自动飘到备机,业务无中断
