Keepalived高可用集群入门学习

embedded/2025/2/2 21:46:16/

一、高可用集群

        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.ppmy.cn/embedded/159020.html

相关文章

WGCLOUD服务器资源监控软件使用笔记 - Token is error是什么错误

[wgcloud-agent]2025/01/30 10:41:30 WgcloudAgent.go:90: 主机监控信息上报server开始 [wgcloud-agent]2025/01/30 10:41:30 WgcloudAgent.go:99: 主机监控信息上报server返回信息: {"result":"Token is error"} 这个错误是因为agent配置的wgToken和serv…

javaweb复习总结

Maven仓库的作用 Jar包管理编译、打包、测试 Maven仓库分类 本地仓库远程仓库 私服中央仓库其他公共库 Maven命令 mvn clean 刷新清理mvn clean compile 编译mvn clean test 执行所有测试用例mvn clean package 打包mvn clean install 下载jar包 Git工作流程: 从工…

【江苏省乡镇街道边界】面图层shp格式arcgis数据+乡镇名称和编码wgs84无偏移内容测评

江苏省乡镇界面图层shp格式arcgis数据乡镇名称和编码2020年wgs84坐标无偏移

Vue简介

目录 Vue是什么?为什么要使用Vue?Vue的三种加载方式拓展:什么是渐进式框架? Vue是什么? Vue是一套用于构建用户界面的渐进式 JavaScript (主张最少)框架 ,开发者只需关注视图层。另一方面,当与…

深入了解 npm 和 pnpm:前端包管理工具的选择与比较

在现代前端开发中,包管理工具已经成为了必不可少的组成部分。它们帮助我们管理项目的依赖、自动化任务、以及在团队协作时确保一致的开发环境。最常见的前端包管理工具有 npm 和 pnpm,它们各自具有独特的特点和优势。今天,我们就来一起深入了…

蓝桥杯算法日常|c\c++常用竞赛函数总结备用

一、字符处理相关函数 大小写判断函数 islower和isupper:是C标准库中的字符分类函数,用于检查一个字符是否为小写字母或大写字母,需包含头文件cctype.h(也可用万能头文件包含)。返回布尔类型值。例如: #…

Redis --- 分布式锁的使用

我们在上篇博客高并发处理 --- 超卖问题一人一单解决方案讲述了两种锁解决业务的使用方法,但是这样不能让锁跨JVM也就是跨进程去使用,只能适用在单体项目中如下图: 为了解决这种场景,我们就需要用一个锁监视器对全部集群进行监视…

傅里叶分析之掐死教程

https://zhuanlan.zhihu.com/p/19763358 要让读者在不看任何数学公式的情况下理解傅里叶分析。 傅里叶分析 不仅仅是一个数学工具,更是一种可以彻底颠覆一个人以前世界观的思维模式。但不幸的是,傅里叶分析的公式看起来太复杂了,所以很多…