lvs负载均衡通过ipvsadm直接操作内核ipvs表,核心操作包括:1.添加启用服务(定义vip及rip,指定算法与模式);2.查看验证规则(-l/-n/-c);3.修改清理(先删后加);4.持久化保存(-s)与开机加载。

LVS 负载均衡通过 ipvsadm 管理规则,本质是操作内核中的 IPVS 表——它不启动守护进程,而是直接读写 Netfilter 的连接跟踪与转发逻辑。整个过程轻量、高效,但要求理解虚拟服务(VIP)与真实服务器(RIP)的绑定关系、调度算法和转发模式。
以下是你日常最需要掌握的四个核心操作方向:
添加和启用负载均衡服务
先定义对外提供服务的虚拟地址(VIP),再挂载后端节点:
- 添加虚拟服务(如 VIP 192.168.0.100:80,轮询算法):
ipvsadm -A -t 192.168.0.100:80 -s rr - 添加真实服务器(NAT 模式,带权重):
ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.201:80 -m -w 2 - 再加一台(权重为 1):
ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.202:80 -m -w 1注意:
-m表示 NAT 模式(masquerading),适用于后端服务器不在同一网段、需做 SNAT/DNAT 的场景;若同网段且配置了 ARP 抑制,可用-g(DR 模式)或-i(隧道模式)。
查看和验证当前规则
用 -L 查看概要,加 -n 避免 DNS 解析延迟,加 -c 可看实时连接状态:
- 基础列表(含调度方式、权重、连接数):
ipvsadm -L -n - 显示详细统计(活跃/非活跃连接、字节数等):
ipvsadm -L -n -c - 输出可保存格式(便于备份或脚本恢复):
ipvsadm -S > /etc/sysconfig/ipvsadm
修改和清理规则
修改需先删后加(ipvsadm 不支持原地编辑单条 real server,但可改虚拟服务参数):
- 删除某台真实服务器:
ipvsadm -d -t 192.168.0.100:80 -r 192.168.0.201:80 - 删除整个虚拟服务:
ipvsadm -D -t 192.168.0.100:80 - 清空所有规则(慎用):
ipvsadm -C提示:生产环境建议用
-S备份后再清空,避免误操作导致服务中断。
持久化与开机生效ipvsadm 规则是内存态的,重启即丢失:
- 保存当前规则到文件(通常用默认路径):
ipvsadm -S > /etc/sysconfig/ipvsadm - 开机自动加载(以 systemd 为例):
创建/etc/systemd/system/ipvsadm.service,ExecStart 执行ipvsadm -R - 或在
/etc/rc.local中追加:ipvsadm -R /dev/null || true
不复杂但容易忽略。











