lvs无内置规则持久化机制,需人工导出(ipvsadm -s/-sn)并保存为文件,重启后通过ipvsadm -r恢复,操作前建议清空规则(ipvsadm -c)并确认网络就绪。

LVS 本身不提供内置的规则持久化机制,所有通过 ipvsadm 添加的负载均衡规则都保存在内核内存中,系统重启后会全部丢失。因此,“备份与恢复”实际是指**人工导出规则配置、保存为文件,并在需要时重新载入**,属于运维层面的操作习惯,而非 LVS 自带功能。
如何备份当前 LVS 规则
使用 ipvsadm -S 命令将当前运行中的所有虚拟服务(VIP)和真实服务器(RS)规则导出为可读文本格式:
-
完整备份(含注释):
ipvsadm -S > /etc/sysconfig/ipvsadm -
精简备份(无注释,适合脚本加载):
ipvsadm -Sn > /root/ipvsadm.rules - 建议同时记录调度算法、权重、模式(如
-g表示 DR)、端口等关键信息,便于后续排查
如何恢复 LVS 规则
恢复依赖于备份文件内容是否完整、网络环境是否就绪(如 VIP 已配置、RS 可达),操作分两步:
-
清空当前规则(可选,避免冲突):
ipvsadm -C -
从文件还原规则:
ipvsadm -R - 执行后可用
ipvsadm -ln验证规则是否已生效
让规则开机自动加载
仅备份文件还不够,需确保系统启动后能自动恢复规则。主流做法是结合系统服务管理:
- 将备份文件(如
/etc/sysconfig/ipvsadm)设为标准路径,多数 CentOS/RHEL 系统的ipvsadm服务默认从此处读取 - 启用并启动服务:
systemctl enable ipvsadm && systemctl start ipvsadm - 验证服务状态:
systemctl status ipvsadm,应显示 “active (exited)” 且无报错 - 注意:若使用自定义路径,需修改
/etc/sysconfig/ipvsadm中的IPVSADM_SAVE=/path/to/rules变量
配合 Keepalived 提升可靠性
单纯靠 ipvsadm 备份存在单点风险——调度器宕机即失效。生产环境强烈建议搭配 Keepalived:
- Keepalived 自动管理 VIP 漂移、健康检查、主备切换
- 其配置文件(
/etc/keepalived/keepalived.conf)本身即是 LVS 规则的“声明式备份”,包含 virtual_server、real_server、weight、delay_loop 等完整定义 - 修改配置后重载
systemctl reload keepalived即可同步更新 IPVS 规则,无需手动调用ipvsadm - 该配置文件应纳入版本控制(如 Git),实现可审计、可回滚的规则管理










