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

keepalived的配置

以下是 Keepalived 的配置指南,用于实现高可用(HA)和故障切换。以下以主备模式(Master-Backup)为例:


1. 安装 Keepalived

在 Ubuntu/Debian 或 CentOS/RHEL 上安装:

# Ubuntu/Debian
sudo apt update && sudo apt install keepalived -y
# CentOS/RHEL
sudo yum install keepalived -y

2. 配置文件路径

主配置文件和默认路径:

  • Ubuntu/Debian/etc/keepalived/keepalived.conf
  • CentOS/RHEL/etc/keepalived/keepalived.conf

3. 主节点(Master)配置示例

编辑配置文件 /etc/keepalived/keepalived.conf
(假设虚拟IP为 192.168.1.100,网卡为 ens33

vrrp_instance VI_1 {state MASTER            # 角色:主节点interface ens33         # 绑定网卡名称(需实际修改)virtual_router_id 51    # 虚拟路由ID(范围1-255,主备需一致)priority 100            # 优先级(主节点 > 备份节点)advert_int 1            # 主备心跳间隔(秒)authentication {auth_type PASS      # 认证类型auth_pass 123456     # 密码(主备需一致)}virtual_ipaddress {192.168.1.100       # 虚拟IP(VIP),可配置多个}
}
# 可选:配置健康检查(例如检查 Nginx 是否存活)
virtual_server 192.168.1.100 80 {delay_loop 6           # 检查间隔(秒)lb_algo rr             # 负载均衡算法(如 round-robin)lb_kind NAT            # 负载均衡模式persistence_timeout 50 # 会话保持时间protocol TCP           # 协议类型real_server 192.168.1.10 80 {  # 真实服务器IP和端口weight 1TCP_CHECK {connect_timeout 3      # 连接超时时间nb_get_retry 3         # 重试次数delay_before_retry 3   # 重试间隔}}
}

4. 备份节点(Backup)配置示例

vrrp_instance VI_1 {state BACKUP            # 角色:备份节点interface ens33         # 网卡名称(需与主节点一致)virtual_router_id 51    # 必须与主节点一致priority 99             # 优先级低于主节点advert_int 1authentication {auth_type PASSauth_pass 123456     # 密码与主节点一致}virtual_ipaddress {192.168.1.100       # 同一个虚拟IP}
}
# 健康检查配置需与主节点相同

5. 启动 Keepalived 服务

sudo systemctl start keepalived    # 启动服务
sudo systemctl enable keepalived   # 设置开机自启

6. 验证配置

  • 检查虚拟IP是否生效

    ip addr show ens33 | grep "192.168.1.100"

    输出应包含虚拟IP 192.168.1.100

  • 模拟主节点故障

    1. 停止主节点的 Keepalived 服务:
      sudo systemctl stop keepalived
    2. 在备份节点检查是否接管虚拟IP。

7. 防火墙配置

开放 VRRP 协议(112端口)和业务端口:

# 允许 VRRP 协议
sudo iptables -A INPUT -p vrrp -j ACCEPT# 允许业务端口(如HTTP 80)
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT# 持久化规则(Ubuntu/Debian)
sudo netfilter-persistent save

8. 日志排查

查看 Keepalived 日志:

# Ubuntu/Debian
tail -f /var/log/syslog | grep keepalived# CentOS/RHEL
journalctl -u keepalived -f

9. 完整配置示例

global_defs {notification_email {admin@example.com   # 故障通知邮箱(可选)}notification_email_from keepalived@example.comsmtp_server 127.0.0.1   # SMTP服务器地址smtp_connect_timeout 30router_id LVS_DEVEL      # 唯一标识符(如主机名)
}
vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass 123456}virtual_ipaddress {192.168.1.100/24 dev ens33  # 指定子网和网卡}
}

10. 注意事项

  1. 虚拟路由ID唯一性:同一局域网内不同 VRRP 组的 virtual_router_id 必须不同。
  2. 网络连通性:主备节点必须在同一子网。
  3. 优先级策略:故障恢复后,主节点应自动抢占(默认行为)。
  4. 多 VIP 支持:在 virtual_ipaddress 块中添加多个 IP。

若有具体需求(如双主模式、多业务VIP),可进一步优化配置!

http://www.dtcms.com/a/341504.html

相关文章:

  • Java内置注解
  • 区块链技术:重塑未来互联网的伟大动力
  • 中金所股指期货交易规则
  • c++之指针和引用
  • 第三十三天(信号量)
  • 大模型—— DeepSeek V3.1 Base / Instruct 发布
  • Mqtt — 使用详解EMQX,MQTTX
  • Annexin V应用指南--多领域应用与实验陷阱规避
  • MySQL之分区功能
  • 《算法导论》第 33 章 - 计算几何学
  • 分布式事务之Seata与RocketMQ
  • 【Java SE】初识Java:从语言特性到实战入门
  • 整体设计 之定稿 “凝聚式中心点”原型 --整除:智能合约和DBMS的在表层挂接 能/所 依据的深层套接
  • 盲盒商城h5源码搭建可二开幸运盲盒回收转增定制开发教程
  • Python的collections引入的类型介绍(Python中的map, unordered_map, struct, 计数器, chainmap)
  • 元宇宙的硬件设备:从 VR 头显到脑机接口
  • IT运维背锅权限泄露?集中式管控如何化解风险?
  • 【PostgreSQL内核学习:WindowAgg 节点对 Tuplestore 的复用机制】
  • RAG 每日一技(十八):手写SQL-RAG太累?LangChain的SQL智能体(Agent)前来救驾!
  • 动态规划面试真题解析
  • Linux网络服务(三)——DNS域名解析服务
  • 学习中需不需要划线、做笔记
  • 2-1.利用框架构建一个easy的web应用
  • CISP-PTE之路--09文
  • 拓扑排序判断环 P1347 排序题解
  • LeetCode 刷题【47. 全排列 II】
  • k8s笔记01
  • WIFI国家码修改信道方法_高通平台
  • 如何将数据从 iPhone 转移到 vivo?
  • 基于Python的反诈知识科普平台 Python+Django+Vue.js