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

Keepalived高可用集群入门学习

一、高可用集群

        1.LB:load Balance  负载均衡

           HA:High Availability 高可用集群

           HPC: High Performance Computing   高性能集群

        2.提高系统高用性的解决方案:降低MTTR(mean time to repair)平均故障时间

                建立冗余机制

                active/passive  主/备

                active/active   双主

                active---> heartbeat--->passive

                active--->heartbeat---->passive

        3.vrrp:Virtual Router  Redundancy  Protocal

                虚拟路由冗余协议:解决静态网关单点风险

                物理层:路由器、三层交换机

                软件层:keepalived

        4.vrrp相关术语:

                虚拟路由器:Virtual Router

                虚拟路由器标识:VRID(0-255),唯一标识虚拟路由器

                VIP:Virtual  IP

                VMAC:Virtual  MAC(00-00-5e-00-01-VRID)

                物理路由器:

                        master:主设备

                        backup:备用设备

                        priority:优先级

                VRRP相关技术:

                        通告:心跳、优先级、周期性

                        工作方式:抢占式、非抢占式

                        安全认证:

                                无认证        简单字符认证(预共享密钥)        MD5

二、keepalived部署

        1.keepalived简介

                vrpp协议的软件实现,设计目的是为了高可用ipvs服务

                功能:基于vrrp协议完成地址流动

                           为VIP地址所在的节点生成ipvs规则

                           为ipvs集群的各rs做健康检测

                           基于脚本调用接口实现脚本中定义的功能,进而影响集群事务依次支持nginx、haproxy等服务

        2.keepalived环境准备

                各节点必须同步:ntp、chrony

                关闭防火墙selinux

                各节点之间可以通过主机名互相通信(非必须)

                建议使用/etc/hosts文件实现(非必须)

                各节点之间的root用户可以基于密钥认证的ssh服务完成互相通信(非必须)

        3.keepalived相关文件

                软件包名:keepalived

                主程序文件:/usr/sbin/keepalived

                主配置文件:/etc/keepalived/leepalived.conf

                配置文件示例:/usr/share/doc/keepalived

        4.keepalived安装

                dnf  install  keepalived  -y(安装keepalived的软件包)

                systemctl  start  keepalived(启动keepalived)

        5.keepalived配置说明

                配置文件组成:

                        global  configuration

                                global  definitions:定义邮件配置,route_id,vrrp配置,多播地址等

                        vrrp  configuration

                                vrrp  instance:定义每个vrrp虚拟路由器

                        lvs  configuration

                                virtual  server  group        virtual  server        (LVS集群的vs和rs)

                        配置语法说明:

                        global_defs {

                                notification_email {

                                2676401838@qq.com                keepalived发生故障切换时邮件发送的目标邮箱,可以按行区分写多个

                                }

                        notification_email_from  keepalived@KA1.xiao.org        发邮件的地址

                        smtp_server   127.0.0.1        邮件服务器地址

                        smtp_connect_timeout   30        邮件服务器连接timeout

                        router_id  KA1.xiao.org                一般使用当前的主机名

                        vrrp_skip_check_adv_addr            启用该配置后,如果收到的通告报文和上一个报文是同一个路由器则跳过检查

                        vrrp_strict                严格遵守vrrp协议

                        vrrp_grap_interval 0         报文发送延迟,0表示不延迟

                        vrrp_gna_interval  0           消息发送延迟

                        vrrp_mcast_group4  224.0.0.18        指定组播ip地址

                        }

                配置虚拟路由器

                        vrrp_instance  VI_1 {

                                state  MASTER/SLAVE     绑定当前虚拟路由器使用的物理接口

                                interface  eth0

                                virtual_router_id  51        每个虚拟路由器的唯一标识,同属一个虚拟路由器的多个keepalived节点必须相同

                                priority  100 (MASTER)/80(SLAVE)               当前物理节点在此虚拟路由器的优先级,范围为1-254,值越大优先级越高

                                advert_int  1                vrrp通告时间,默认为1s

                                 authentication {                                认证机制

                                           auth_type  AH|PASS                pass为简单密码

                                            use_pass        1111                预共享密钥,仅8位有效

                                }

                                virtual_ipaddress  {

                                   172.25.254.100                指定vip,不指定网卡时默认为eth0,不指定掩码位数时默认为32

                                     172.25.254.101/24   dev  eth1

                                      172.25.254.102/24   dev   eht2     label   eth2:1

                                }              

                }

                测试:tcpdump  -i  eth0  -nn  host  224.0.0.18:表示所有与ip地址224.0.0.18相关的流量

                        tcpdump(网络抓包工具,用于捕获网络上流动的数据包并对其进行分析)

                         -i  eth0:指定要监听的网络接口

                         -nn:不进行域名解析不解析端口名称,-n:不将ip地址解析为主机名,-n:不将端口解析为服务名称

        5.启用keepalived日志功能(/etc/rsyslog.conf)

                systemctl restart keepalived.service  rsyslog.service

                通过 tail  -f  /var/log/keepalived.log  来查看keepalived的日志信息

        6.实现独立子配置文件

                当生产环境复杂时,/etc/keepalived/keepalived.conf文件内容过多不易管理

                include  /path/file

                mkdir    /etc/keepalived/conf.d

                vim /etc/keepalived/keepalived.conf           ……,其中配置内容同上,此处省略

                

                        

        


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

相关文章:

  • 【AI绘画】MidJourney关键词{Prompt}全面整理
  • RabbitMQ5-死信队列
  • 【开源免费】基于SpringBoot+Vue.JS公交线路查询系统(JAVA毕业设计)
  • DeepSeek模型:开启人工智能的新篇章
  • 【漫话机器学习系列】064.梯度下降小口诀(Gradient Descent rule of thume)
  • scratch学习教程
  • electron 应用开发实践
  • Android逆向(Mitmproxy)
  • 【自学笔记】JavaWeb的重点知识点-持续更新
  • Oracle11g数据库安装及建库教程
  • JavaScript 创建对象的8种方式?
  • Git进阶之旅:tag 标签 IDEA 整合 Git
  • 算法总结-数组/字符串
  • Linux 五种IO模型总篇(阻塞IO、非阻塞IO、信号驱动IO、多路复用IO(select、poll、epoll)、异步IO)
  • 仿真设计|基于51单片机的温湿度及甲醛检测报警系统
  • OPENPPP2 —— VMUX_NET 多路复用原理剖析
  • DeepSeek R1功能设计涉及的几个关键词
  • 数据分析系列--⑥RapidMiner构建决策树(泰坦尼克号案例含数据)
  • Spring Boot基本项目结构
  • sizeof和strlen的对比与一些杂记
  • 【multi-agent-system】ubuntu24.04 安装uv python包管理器及安装依赖
  • Windows程序设计10:文件指针及目录的创建与删除
  • 【协议详解】卫星通信5G IoT NTN SIB33-NB 信令详解
  • CSS 图像、媒体和表单元素的样式化指南
  • 音视频多媒体编解码器基础-codec
  • windows部署deepseek之方法(The Method of Deploying DeepSeek on Windows)