Keepalived高可用集群入门学习

news/2025/2/1 8:40:53 标签: 学习, 服务器, linux

一、高可用集群

        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.niftyadmin.cn/n/5839213.html

相关文章

Solon Cloud Gateway 开发:熟悉 Cloud Gateway

Solon Cloud Gateway 是基于 Solon Cloud、Vert.X 和 Solon-Rx(reactive-streams) 接口实现,响应式的接口体验。因为内置了 solon-boot-vertx ,同时也支持 常规的 web 开发。 1、完整的配置说明(对应的配置结构类为:GatewayPrope…

22.Word:小张-经费联审核结算单❗【16】

目录 NO1.2 NO3.4​ NO5.6.7 NO8邮件合并 MS搜狗输入法 NO1.2 用ms打开文件,而不是wps❗不然后面都没分布局→页面设置→页面大小→页面方向→上下左右:页边距→页码范围:多页:拼页光标处于→布局→分隔符:分节符…

python项目之requirements.txt文件

Python项目中可以包含一个 requirements.txt 文件,用于记录所有依赖包及其精确的版本号用以新环境部署。 当我们开发新项目的时候,会用virtualenv创建很多python独立环境,这时候就会出现在不同环境下安装相同的模块的情况,这时候…

Flask数据的增删改查(CRUD)_flask删除数据自动更新

查询年龄小于17的学生信息 Student.query.filter(Student.s_age < 17) students Student.query.filter(Student.s_age.__lt__(17))模糊查询&#xff0c;使用like&#xff0c;查询姓名中第二位为花的学生信息 like ‘_花%’,_代表必须有一个数据&#xff0c;%任何数据 st…

Teleporters( Educational Codeforces Round 126 (Rated for Div. 2) )

Teleporters&#xff08; Educational Codeforces Round 126 (Rated for Div. 2) &#xff09; There are n 1 n1 n1 teleporters on a straight line, located in points 0 0 0, a 1 a_1 a1​, a 2 a_2 a2​, a 3 a_3 a3​, …, a n a_n an​. It’s possible to tele…

前端学习:Axios Http请求库入门与实战应用

什么是Promise&#xff1f; Promise 是一个表示异步操作最终完成或失败的对象。它允许你更优雅地处理异步操作&#xff0c;避免回调地狱&#xff08;Callback Hell&#xff09;。 特点&#xff1a; 异步性&#xff1a;Promise 代表一个异步操作的最终完成或失败。 不可更改&…

对比DeepSeek、ChatGPT和Kimi的学术写作撰写引言能力

引言 引言部分引入研究主题&#xff0c;明确研究背景、问题陈述&#xff0c;并提出研究的目的和重要性&#xff0c;最后&#xff0c;概述研究方法和论文结构。 下面我们使用DeepSeek、ChatGPT4以及Kimi辅助引言撰写。 提示词&#xff1a; 你现在是一名[计算机理论专家]&#…

Node.js——body-parser、防盗链、路由模块化、express-generator应用生成器

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1f4c3;个人状态&#xff1a; 研发工程师&#xff0c;现效力于中国工业软件事业 &#x1f680;人生格言&#xff1a; 积跬步…