global_defs模块仅定义Keepalived自身全局行为,不优化内核参数;核心作用是明确节点身份与通信规则,避免集群误判和状态冲突。

global_defs 模块不负责优化系统内核参数,它只定义 Keepalived 自身运行所需的全局行为,比如节点标识、邮件通知、VRRP 组播地址等。真正影响系统性能和稳定性的内核参数(如 net.ipv4.tcp_tw_reuse、net.core.somaxconn)需在 /etc/sysctl.conf 中单独配置,并通过 sysctl -p 加载。
global_defs 的核心作用是明确节点身份与通信规则
该模块的关键目标是避免集群误判和状态冲突,而非调优系统资源。常见且必须正确设置的参数包括:
-
router_id:必须在集群内唯一,建议使用主机名(如
router_id node-a-192.168.80.11),重复会导致主备角色混乱 - vrrp_strict:启用后会强制校验 VRRP 报文合法性,但要求配置完整(如必须有 VIP、禁用 IPv6 时不能配 vrrp_mcast_group6),生产环境若配置简化,通常需注释或关闭此项
- vrrp_skip_check_adv_addr:跳过对通告源地址的严格检查,可缓解某些虚拟化或容器网络中因地址不可达导致的误切换
-
vrrp_mcast_group4:显式指定 IPv4 组播地址(默认
224.0.0.18),多实例共存时可为不同组分配不同地址,避免干扰
通知类配置应谨慎启用
邮件告警依赖本地 SMTP 服务,实际生产中极少直接使用:
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
-
notification_email和smtp_server配置后需确保系统已部署并启动sendmail或postfix - 更推荐方式是关闭邮件通知,改用外部监控系统(如 Prometheus + Alertmanager)对接 Keepalived 的健康状态接口或日志
- 若必须启用,
smtp_connect_timeout建议设为 10–20 秒,避免因邮件服务器延迟拖慢 Keepalived 启动
与系统级优化的协同要点
虽然 global_defs 不改内核,但它和系统参数共同决定高可用可靠性:
- VRRP 心跳依赖底层网络栈,若
net.ipv4.ip_forward = 0(默认关闭),不会影响 VRRP 运行;但若启用了 LVS 功能,则必须开启 -
vrrp_garp_master_delay和vrrp_garp_master_repeat控制免费 ARP 发送节奏,配合net.ipv4.conf.all.arp_ignore和arp_announce设置,才能确保 VIP 切换后客户端快速更新 ARP 表 - 当系统启用
tcp_tw_reuse或tcp_fin_timeout等参数时,Keepalived 自身的连接行为(如健康检查发起的 TCP 连接)也会受益,但这属于间接效果










