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

Keepalived高可用集群企业应用实例一

一、实现master/slave的keepalived单主架构

        1.master配置

                global_defs {

                        notification_email {

                                2676401238@qq.com

                        }

                        notification_email_from  keepalived@KA1.xiao.org

                        smtp_server  127.0.0.1

                        smtp_connect_timeout  30

                        router_id  ka1.xiao.org

                        vrrp_skip_check_adv_addr

                        vrrp_garp_interval  0

                        vrrp_gna_interval  0

                        vrrp_mcast_group4  224.0.0.18

                vrrp_instance  VI_1{

                        state  MASTER

                        interface  eth0

                        virtual_router_id  20

                        priority  100

                        advert_int  1

                        authentication {

                                auth_type  pass

                                auth_pass  1111

                        }

                        virtual_ipaddress {

                                172.25.254.100/24  dev  eth0  label  eth0:0

                                }

                        }

                }

        2.backup配置

                global_defs {

                        notification_email {

                                2676401238@qq.com

                        }

                        notification_email_from  keepalived@KA1.xiao.org

                        smtp_server  127.0.0.1

                        smtp_connect_timeout  30

                        router_id  ka2.xiao.org

                        vrrp_skip_check_adv_addr

                        vrrp_garp_interval  0

                        vrrp_gna_interval  0

                        vrrp_mcast_group4  224.0.0.18

                vrrp_instance  VI_1{

                        state  BACKUP

                        interface  eth0

                        virtual_router_id  20

                        priority  80

                        advert_int  1

                        authentication {

                                auth_type  pass

                                auth_pass  1111

                        }

                        virtual_ipaddress {

                                172.25.254.100/24  dev  eth0  label  eth0:0

                                }

                        }

                }

        3.抢占模式和非抢占模式

                非抢占模式 nopreempt

                默认为抢占模式,即当高优先级的主机恢复在线后,会抢占低优先级的主机的master角色,这样会使vip在ka主机中来回漂移造成网络抖动,一般会设置为nopreempt,即高优先级主机恢复后并不会抢占低优先级的master角色。非抢占模式下,如果原主机down机,vip迁移到新主机,后续也发生down时,仍会将vip迁移回原主机

                要关闭vip抢占,必将各keepalived服务器state配置为backup

                ka1主机配置

              vrrp_instance  VI_1{

                        state  BACKUP

                        interface  eth0

                        virtual_router_id  20

                        priority  100

                        nopreempt

                        advert_int  1

                        authentication {

                                auth_type  pass

                                auth_pass  1111

                        }

                        virtual_ipaddress {

                                172.25.254.100/24  dev  eth0  label  eth0:0

                                }

                        }

                ka2主机配置

              vrrp_instance  VI_1{

                        state  BACKUP

                        interface  eth0

                        virtual_router_id  20

                        priority  80

                        nopreempt

                        advert_int  1

                        authentication {

                                auth_type  pass

                                auth_pass  1111

                        }

                        virtual_ipaddress {

                                172.25.254.100/24  dev  eth0  label  eth0:0

                                }

                        }

        4.抢占延迟模式preempt_delay

                抢占延迟模式,即优先级高的主机恢复后不会立即抢占vip,而是延迟一段时间(默认是300a)再抢回vip

                preempt_delay        指定抢占延迟时间

                各keepalived服务器state的状态为backup,并且不启动vrrp_strict

                ka1主机的配置

              vrrp_instance  VI_1{

                        state  BACKUP

                        interface  eth0

                        virtual_router_id  20

                        priority  100

                        preempt_delay  10s

                        advert_int  1

                        authentication {

                                auth_type  pass

                                auth_pass  1111

                        }

                        virtual_ipaddress {

                                172.25.254.100/24  dev  eth0  label  eth0:0

                                }

                        }

                        ka2主机的配置

              vrrp_instance  VI_1{

                        state  BACKUP

                        interface  eth0

                        virtual_router_id  20

                        priority  80

                        preemp_delay  10s

                        advert_int  1

                        authentication {

                                auth_type  pass

                                auth_pass  1111

                        }

                        virtual_ipaddress {

                                172.25.254.100/24  dev  eth0  label  eth0:0

                                }

                        }

        5.vip单播配置

                默认keepalived主机之间利用多播相互通告消息会造成网络拥塞,可以将其替换为单播来减少网络流量

                启用vrrp_strict时,不能启用单播

                设置方式:在vrrp_instance的语句块中设置对方主机的ip地址,一般设置为专用于对应心跳线网络的地址而非使用业务网络

                unicast_src_ip  xxx        指定发送单播的源ip

                unicast_peer  {

                ipaddr                指定接收单播的对方目标主机ip

                }

        6.keepalived通知脚本配置

                当keepalived的状态变化时可以自动触发脚本的执行,比如发邮件通知用户,其默认以keepalived_script身份执行脚本。

                global_defs {

                script_user  <USER>

                }

                通知脚本类型:当前节点成为主节点时触发的脚本

                notify_master  <String>

                当前节点转为备节点时触发的脚本

                notify_backup <String>

                当前节点转为失败状态时触发的脚本

                notify_fault  <String>

                通用格式的通知触发机制

                notify  <String>

                当停止vrrp时触发的脚本

                notify_stop  <string>

        脚本的调用方法:

               在vrrp_instance VI_1语句块的末尾加上:

                notify_master  "/etc/keepalived/notify.sh master"

                notify_backup "/etc/keepalived/notify.sh  backup"

                notify_fault  "/etc/keepalived/notify.sh  fault"

二、实现master/master的keepalived双主架构

        1.master/slave的单主架构,同一时间只有一个keepalived对外提供服务,此主机繁忙,另一台主机却空闲,利用率低下

        2.master/master的双主架构

                将两个或以上vip分别运行在不同的keeoalived服务器上,以实现服务器并行提供web访问的目的提高资源的利用率

                ka1的配置信息

              vrrp_instance  VI_1{

                        state  BACKUP

                        interface  eth0

                        virtual_router_id  20

                        priority  80

                        advert_int  1

                        authentication {

                                auth_type  pass

                                auth_pass  1111

                        }

                        virtual_ipaddress {

                                172.25.254.100/24  dev  eth0  label  eth0:0

                                }

                        }

              vrrp_instance  VI_2{

                        state  BACKUP

                        interface  eth0

                        virtual_router_id  30

                        priority  80

                        advert_int  1

                        authentication {

                                auth_type  pass

                                auth_pass  1111

                        }

                        virtual_ipaddress {

                                172.25.254.101/24  dev  eth0  label  eth0:1

                                }

                        }

                        ka2的配置信息

              vrrp_instance  VI_1{

                        state  BACKUP

                        interface  eth0

                        virtual_router_id  20

                        priority  100

                        nopreempt

                        advert_int  1

                        authentication {

                                auth_type  pass

                                auth_pass  1111

                        }

                        virtual_ipaddress {

                                172.25.254.100/24  dev  eth0  label  eth0:0

                                }

                        }

              vrrp_instance  VI_2{

                        state  MASTER

                        interface  eth0

                        virtual_router_id  30

                        priority 100

                        advert_int  1

                        authentication {

                                auth_type  pass

                                auth_pass  1111

                        }

                        virtual_ipaddress {

                                172.25.254.101/24  dev  eth0  label  eth0:1

                                }

                        }


http://www.kler.cn/a/527532.html

相关文章:

  • Axure PR 9 旋转效果 设计交互
  • 【C++】List的模拟实现
  • 论文阅读(七):贝叶斯因果表型网络解释遗传变异和生物学知识
  • Git 版本控制:基础介绍与常用操作
  • 我的2024年博客总结(在工作、博客和生活中找到自己的生活节奏)
  • < OS 有关> BaiduPCS-Go 程序的 菜单脚本 Script: BaiduPCS-Go.Menu.sh (bdgo.sh)
  • 字符串p型编码(信息奥赛一本通1145)
  • 数据结构:栈篇
  • 【算法】分治
  • 常用Android模拟器(雷电 MuMu 夜神 Genymotion 蓝叠) - 20250131
  • 基于LLM的垂直领域问答方案
  • 深入理解 C# 与.NET 框架
  • windows电脑运行日志用户行为记录查看和清理工具
  • 【字符串两大注意事项】
  • CF EDU ROUND 171
  • Memcached add 命令详解
  • 计算机网络之计算机网络的分类
  • 对有向无环图进行拓扑排序
  • FFmpeg在Ubuntu18.04上的安装
  • 本地化部署DeepSeek-R1
  • jdk8项目升级到jdk17——岁月云实战
  • 从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架(基础组件实现)
  • 51单片机开发——I2C通信接口
  • Keepalived高可用集群企业应用实例二
  • Qt事件处理:理解处理器、过滤器与事件系统
  • 【机器学习】Google开源大模型Gemma2:原理、微调训练及推理部署实战