Keepalived

2023-05-16

Keepalived双机热备

Keepalived简介

Keepalived是使用C语言编写的路由热备软件,该项目软件的主要目标是为Linux系统提供简单高效的负载均衡及高可用解决方案。负载均衡架构依赖于知名的IPVS(Linux Virtual Server,即基于IP的虚拟服务器)内核模块,Keepalived由一组检查器根据服务器的健康状况动态地维护和管理服务器池。另外,Keepalived通过VRRP(Virtual Router Redundancy Protocol)协议实现高可用架构,VRRP是路由灾备的实现基础。LVS调用一组服务器提供虚拟服务的强大负载均衡能力。但LVS的核心是调度器,所有的数据请求都需要经过调度器进行调度转发。因此,万一调度器发生故障,则整个集群系统将全部崩溃,所以我们需要Keepalived来实现集群系统的高可用。部署两台或多台LVS调度器,仅有一台调度器作为主服务器,其他调度器作为备用,当主调度器发生故障时,Keepalived可以自动将备用调度器升级为主调度器,最终实现整个集群系统的高负载、高可用。

VRRP协议简介

VRRP(Virtual Router Redundancy Protocol)协议是为了在静态路由环境下防止单点故障而设计的主从灾备协议,VRRP实现在主设备发生故障时将业务自动切换至从设备,而这一切对用户而言是透明的。VRRP将两台或多台路由设备虚拟成一个设备,对外仅提供一个虚拟的路由IP地址,而多台路由设备同一时刻仅可以有一台设备拥有该虚拟IP地址,该设备就是主路由设备,其他设备为备份设备。主设备会不断地发送自己的状态信息给备用路由设备,当备用设备接收不到主设备的状态信息时,备用设备将根据自身的优先级立刻选举出新的主设备,并提供所有的业务功能。VRRP协议需要为每个路由设备定义虚拟路由ID(VRID)以及设备优先级别,所有主备路由设备的VRID必须一样,所有VRID相同的路由设备组成一个虚拟路由设备组,组内优先级高的路由设备将被选举为主路由设备。虚拟路由设备ID与优先级均为0至255之间的整数,如果优先级相等,则继续对比路由设备的实际IP地址,IP地址越大,优先级就越高。

有一种特殊情况是,如果将虚拟路由IP地址设置为多台路由设备中某台设备的真实IP地址,则该路由设备将永远处于主设备状态。

安装Keepalived服务

Keepalived官网:https://www.keepalived.org/

安装源码软件包前需要通过yum方式安装相关的依赖软件包。Keepalived源码软件可以通过官方网站下载,下载后使用configure、make、make install标准方式安装该软件。软件安装完成后,为了后期操作的方便,还需要为该软件的部分文件与目录创建软连接。

yum install gcc openssl-devel popt-devel libnl libnl-devel kernel-devel ipvsadm

Keepalived源码包下载:wget -c https://www.keepalived.org/software/keepalived-2.0.16.tar.gz

解压:

tar -xzf keepalived-2.0.16.tar.gz -C /usr/src

cd /usr/src/keepalived-2.0.16/

./configure

make && make install

ln -s /usr/local/etc/keepalived/ /etc

ln -s /usr/local/etc/sysconfig/keepalived /etc/sysconfig/

ln -s /usr/local/sbin/keepalived /usr/sbin/

 

配置文件解析

Keepalived主配置文件的路径为 /etc/keepalived/keepalived.conf,配置文件主要分为全局配置块、VRRP配置块、LVS配置块,每个配置块都以{包裹,以#或!开 头的行在配置文件中代表注释行。具体的Keepalived核心配置参数说明见下表。

设置项

功能描述

notification_email

定义邮件列表,当主服务器出现故障进行主从切换时会发送邮件给邮件列表中的所有人

notification_email_from

定义邮件发送者

smtp_server

设置邮件服务器IP地址

router_id

设备标识,一般可以设置为主机名

enable_traps

启用SNMP跟踪

static_ipaddress

设置系统真实的静态IP地址,也可以通过系统层面设置

static_

设置系统真实的静态路由地址,也可以通过系统层面设置

vrrp_instance

定义VRRP实例,描述主从初始状态、虚拟路由ID、优先级等

state

设置初始设备状态,MASTER为主设备,BACKUP为从设备

interface

可以绑定VRRP的网络接口,如eth0、ethl 等

use_vmac

使用VRRP虚拟MAC地址

dont_track_primary

忽略接口故障,默认为设置

track_interface

设置要跟踪监控的网络接口

mcast_src_ip

发送状态通告信息的源IP地址

virtual_ router_ id

设置虚拟路由ID,相同的VRID为一个组,要求主从VRID要一致,该值为0~255

priority

设置虚拟路由组中设备的优先级,优先级高者将被推举为主设备

advert_int

检查间隔,默认为1秒

authentication

定义主从验证设置,相同的VRRP实例中主从验证方式与密码要一致

auth_type

设置验证方式(PASS或AH),官方文档建议使用密码

auth_pass

验证密码

virtual_ipaddress

定义虚拟IP地址,在VRRP实例中仅主设备实时拥有该IP地址格式:

<IP>/<MASK> dev <STRING> scop <SCOPE> label <LABLE>

如:192.168.100.100/24 dev eth2 label eth2:1

virtual_routes

定义虚拟路由,如:192.168.200.0/24 via 192.168.100.254

virtual_server_group

定义LVS虚拟服务设置块,定义虚拟IP及端口号

delay_loop

服务器轮询间隔时间

Ib_algo

LVS负载均衡算法,可以设置为: rr|wrr|lc|wlc|lblc|sh|dh

Ib_kind

LVS负载均衡工作模式,可以设置为: NAT|DR|TUN

persistence_timeout

会话保持时间,当用户多次请求时,调度器可以转发给相同的真实服务器

protocol

数据转发协议

real_server

定义后端真实服务器,添加所有的真实服务器的IP地址与端口信息

Weight

设置服务器权重

HTTP_GET

对后端真实服务器进行HTTP健康检查

TCP_CHECK

对后端真实服务器进行TCP健康检查

connect_ port

健康检查的端口号

bindto

健康检查的IP地址

connect_timeout

连接超时时间,单位为秒

nb_get_retry

连接重试次数(number of get retry)

delay_before_retry

连接重试的间隔时间

 

转载于:https://www.cnblogs.com/opsprobe/p/10982595.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Keepalived 的相关文章

  • 基于 HAProxy + Keepalived 搭建 RabbitMQ 高可用集群

    RabbitMQ 集群 通常情况下 xff0c 在集群中我们把每一个服务称之为一个节点 xff0c 在 RabbitMQ 集群中 xff0c 节点类型可以分为两种 xff1a 内存节点 xff1a 元数据存放于内存中 为了重启后能同步数据
  • Nginx+keepalived实现nginx高可用

    提前备好两台服务器 xff08 主 xff1a 192 168 2 34 xff0c 备 xff1a 192 168 2 24 xff09 xff0c 并安装好nginx xff0c nginx安装此文不做赘述 1 下载keepAlived
  • LVS_Director + KeepAlived 部署

    1 xff0c 准备四台net机器 其中两台做主 备调度 别外两台做web机器 主 备调度器安装软件 root 64 lvs keepalived master yum y install ipvsadm keepalived 主 root
  • centos7.5部署高可用k8s(一) ---- 部署LB负载均衡haproxy+keepalived

    在centos7 5系统部署一个k8s高可用集群 k8s版本采用v1 15 2 docker版本18 09 根据官方的文档 xff0c 部署集群前首先要部署负载均衡器 xff0c 这里简要记录下LB负载均衡器的部署过程 环境说明 节点IP备
  • Keepalived

    Keepalived双机热备 Keepalived简介 Keepalived是使用C语言编写的路由热备软件 xff0c 该项目软件的主要目标是为Linux系统提供简单高效的负载均衡及高可用解决方案 负载均衡架构依赖于知名的IPVS xff0
  • 双master节点+keepalived方式部署K8s 1.18.20

    相关部署方式也挺多 xff0c 自己采用双master节点 43 单node节点方式 xff0c 并且采用keepalived部署1 18 20版本 xff0c 中间也出现过相关小问题 xff0c 但都一一处理 xff0c 记录以给需要的同
  • K8s 配置高可用提示Configuration file ‘/etc/keepalived/keepalived.conf‘ is not a regular non-executable file

    k8s配置keepalived高可用 xff0c systemctl start keepalived提示 检查keepalived配置文件 xff0c 查询配置也正常 从报错提示显示keepalived conf 配置文件是一个非执行的文
  • 14.haproxy+keepalived负载均衡和高可用

    haproxy 43 keepalived负载均衡和高可用 概述 多个rabbitmq服务形成集群 xff0c 由haproxy来做负载均衡 xff0c haproxy会暴露出来一个端口 xff0c 客户端可以通过haproxy所在的服务器
  • Nginx学习(4)—— 高可用配置(keepalived实现Nginx的高可用)

    文章目录 高可用场景及解决方案keepalived的安装 高可用场景及解决方案 一般高可用的服务端会都有备用服务 xff0c 当某一个服务节点挂掉的时候就会有备用机顶上 这往往需要反向代理 Nginx 来将连接切换到可用的服务机器上 如下图
  • Keepalived--05--脑裂问题

    一 问题 1 1 场景 高可用 在高可用 HA 系统中 当联系2个节点的 心跳线 断开时 本来为一整体 动作协调的HA系统 就分裂成为2个独立的个体 由于相互失去了联系 都以为是对方出了故障 两个节点上的HA软件像 裂脑人 一样 争抢 共享
  • Keepalived 配置手册

    官网 https www keepalived org manpage html 1 描述 keepalived conf 是描述所有Keepalived关键字的配置文件 关键字放在块和子块的层次结构中 每一层由 和 对分隔 注释以 或 到
  • 第二篇:mysql负载均衡、高可用方案:mysqlcluster+haproxy+keepalived

    上一篇介绍了mysqlcluster的安装和配置 本篇将描述高可用的mysql集群组建方式 高可用的mysql集群有多种方式 本篇介绍的是 mysqlcluster haproxy keepalived方案 下篇将介绍通过普通版本的mysq
  • keepalived 笔记

    keepalived可以认为是VRRP协议在Linux上的实现 主要有三个模块 分别是core check和vrrp core模块为keepalived的核心 负责主进程的启动 维护以及全局配置文件的加载和解析 check负责健康检查 包括
  • keepalived工作原理和配置说明

    keepalived是什么 keepalived是集群管理中保证集群高可用的一个服务软件 其功能类似于heartbeat 用来防止单点故障 keepalived工作原理 keepalived是以VRRP协议为实现基础的 VRRP全称Virt
  • 物联网上行数据实现tcp 负载均衡和高可用架构 nginx + keepalived方案

    文章目录 需求介绍 架构设计 具体配置 nginx 配置 keepalived 配置 需求介绍 之前有做过一个物联网设备接入的项目 项目中会启动一个数据接入服务 TCP server 用来接收传感器设备上传的数据 数据接入服务需要分布式部署
  • Centos7-安装keepalived

    1 到keepalived官网下载 Keepalived for Linux 2 使用xftp上传到 usr local packages目录下 3 解压上传的tar gz压缩文件 cd usr local packages tar zxv
  • Linux系统之使用Keepalived+Nginx部署高可用Web集群

    Linux系统之使用Keepalived Nginx部署高可用Web集群 一 本次实践介绍 1 1 本次实践简介 1 2 本次实践环境规划 二 Keepalived和Nginx介绍 2 1 Keepalived简介 2 2 Keepaliv
  • Keepalived配置Nginx自动重启,实现不间断服务

    续接上篇https blog csdn net qq 44299529 article details 122987503 上回说到我们应该让nginx不间断的工作 只要主节点nginx没问题 就可以重启 除非主节点nginx出错 才切换成
  • 如何给keepalived配置vip(虚拟ip)

    首先为了测试机器 准备两台服务器 host1 172 28 23 73 host2 172 28 23 96 虚拟ip 172 28 23 100 第一步 在线安装keepalived中间件 sudo yum install y keepa
  • Haproxy+keepalived(高可用集群部署)

    Haproxy keepalived Haproxy定义 Haproxy应用 Haproxy支持的调度算法 Haproxy配置文件详解 haproxy keepalived优点 项目环境 主服务器配置 1 haproxy配置 2 keepa

随机推荐

  • 关于区块链智能合约的真相

    2019独角兽企业重金招聘Python工程师标准 gt gt gt title 关于智能合约的真相 就像 区块链 xff0c AI 和 云 这样的词语一样 xff0c 智能合约 也是那些得到大量炒作的短语之一 毕竟 xff0c 没有什么比不
  • 访问者模式

    2019独角兽企业重金招聘Python工程师标准 gt gt gt https blog csdn net jason0539 article details 45146271 转载于 https my oschina net u 2511
  • zip不是内部或外部命令,也不是可执行程序”详细解决办法

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 书中第11章学习实例 xff1a 将文件备份成一个zip文件 xff08 python实现 xff09 书中源码 xff08 文件目录是自己新建文件夹的路径 xff0c 和
  • Struts2学习:HelloWorld

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 项目结构 xff1a 1 用IDEA新建一个SpringBoot 43 Maven的项目 2 新建的项目是没有webapp WEB INF 与web xml文件的 xff0
  • 泛型--继承泛型

    2019独角兽企业重金招聘Python工程师标准 gt gt gt package com atguigu javase generic import java util ArrayList import java util List im
  • springboot之读取配置文件

    1 propertie配置读取数据 通过value取配置文件中的数据 64 Component 64 PropertySource value 61 34 config db config properties 34 public clas
  • Kotlin与Java互操作

    1 xff0c Kotlin 调用Java import java util fun demo source List lt Int gt val list 61 ArrayList lt Int gt for item in source
  • Oracle基础和进阶笔记第二篇

    Oracle的中级操作部分 六 索引1 索引的特点2 索引的创建 七 视图1 普通视图2 物化视图 八 序列1 序列创建语法 九 触发器1 触发器的语法2 替代触发器3 系统触发器 十 游标1 一般游标创建2 静态隐式游标3 静态显示游标4
  • Python 工匠:使用装饰器的技巧。

    作者 xff1a piglei xff08 本文来自作者投稿 xff09 前言 装饰器 xff08 Decorator xff09 是 Python 里的一种特殊工具 xff0c 它为我们提供了一种在函数外部修改函数的灵活能力 它有点像一顶
  • AI听6秒语音就能知道你的长相

    声音可以暴露很多讯息 xff0c 麻省理工学院 xff08 MIT xff09 最近一项研究发现 xff0c 经过训练的 AI 不仅能从声音辨别出性别 年龄和种族 xff0c 甚至能猜出这人大概长什么样子 这些 秘密 都藏不住了 研究人员用
  • selenium编程01-简单163邮箱登陆登出_模块化

    from selenium import webdriver from time import sleep class Login def init self driver self driver 61 driver def login s
  • 163music 反爬分析

    网易163 音乐的 mp3下载 view source https music 163 com playlist id 61 924680166 这个是网页源代码 链接 中间的 拿不到具体的数据 所以获取页面的时候 要去除 http mus
  • 二层链路聚合实验

    交换机1 xff1a ystem view vlan 10 vlan 20 qu interface range g1 0 1 to g1 0 2 port link type access port access vlan 10 qu i
  • plsql

    1 添加快捷键设置 摘抄自https www cnblogs com guangxiang p 9487132 html 汉化版 xff1a 工具 首选项 用户界面 编辑器 自动替换 定义文件 英文版 xff1a Tools gt Perf
  • 如何利用python制作微信好友头像照片墙?

    这个不难 xff0c 主要用到itchat和pillow这2个库 xff0c 其中itchat用于获取微信好友头像照片 xff0c pillow用于拼接头像生成一个照片墙 xff0c 下面我简单介绍一下实现过程 xff0c 代码量不多 xf
  • 软件需求工程与UML建模第二周工作总结

    项目范围 xff1a 1 能够实现仅弹道技能的躲避训练和带有技能发射主体的技能躲避训练 2 要能够玩家自由选择角色进行训练 3 要能够实现包含技能躲避 1v1对线训练等多模式选择的训练方式 4 要能够快捷进行多次练习 xff0c 我们计划加
  • 阻塞和非阻塞~

    很清楚 先记下 https www zhihu com question 19732473 answer 14413599 转载于 https www cnblogs com Mickey697 p 10863679 html
  • vnc利用ps命令查看所有DISPLAY

    ps aux grep vnc 使用该命令可以看到详细的vnc进程和使用的DISPLAY和DISPLAY的分辨率
  • 基础数据类型的补充,编码的进阶,基础数据类型之间的转换

    1 内容总览 基础数据类型的补充数据类型之间的转换 其他数据类型转成bool值为False的情况编码的进阶 2 具体内容 数据类型的补充 str 6个 code str xff1a 补充的方法练习一遍就行 6个 s1 61 39 taiBA
  • Keepalived

    Keepalived双机热备 Keepalived简介 Keepalived是使用C语言编写的路由热备软件 xff0c 该项目软件的主要目标是为Linux系统提供简单高效的负载均衡及高可用解决方案 负载均衡架构依赖于知名的IPVS xff0