首页 > 其他分享 >快速掌握keepalived

快速掌握keepalived

时间:2023-11-23 10:32:02浏览次数:23  
标签:掌握 备份 keepalived 身份验证 Server 虚拟 IP地址 服务器 快速


  Keepalived是一个基于VRRP(虚拟路由冗余协议)的开源软件,用于在Linux系统上实现高可用性和负载均衡。它的主要功能是通过多台服务器之间的协作,确保在其中一台服务器发生故障时,另一台服务器可以接管其功能,并继续提供服务,从而实现系统的高可用性。

常用功能:

  1. 虚拟IP(Virtual IP): Keepalived通过配置一个虚拟IP地址,将其绑定到多个服务器上,使得这些服务器可以共享一个IP地址。当主服务器发生故障时,备份服务器会接管该虚拟IP地址并继续提供服务。
  2. VRRP:Keepalived使用VRRP协议来实现服务器之间的冗余备份。VRRP协议定义了服务器之间的选举机制,主服务器发送心跳包以表明自己的存活状态,备份服务器监听主服务器的心跳包,一旦主服务器失去响应,备份服务器会接管其角色。
  3. 健康检查(Health Checks): Keepalived可以周期性地对服务器进行健康检查,例如检查服务器上的某个端口是否正常运行,以确定服务器的状态。如果检测到故障,Keepalived可以自动触发故障转移。

配置示例说明:

  以下是一个简单的Keepalived配置示例,假设有两台服务器:Server A(IP地址为192.168.1.10)和Server B(IP地址为192.168.1.11),要实现故障转移和负载均衡。

在Server A上的配置文件keepalived.conf

global_defs {
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER  # 主服务器设置为MASTER
    interface eth0  # 使用的网络接口
    virtual_router_id 51  # 虚拟路由ID,用于标识VRRP组
    priority 100  # 主服务器的优先级较高
    advert_int 1  # 发送心跳包的时间间隔
    authentication {
        auth_type PASS
        auth_pass password  # 验证密码
    }
    virtual_ipaddress {
        192.168.1.100  # 虚拟IP地址
    }
}

virtual_server 192.168.1.100 80 {  # 定义虚拟服务器
    delay_loop 6  # 检查服务器的时间间隔
    lb_algo rr  # 负载均衡算法,此处使用轮询算法
    lb_kind NAT  # 负载均衡方式,此处使用NAT模式
    persistence_timeout 50  # 连接保持时间
    protocol TCP  # 使用TCP协议
}

在Server B上的配置文件keepalived.conf与Server A相似,只需修改以下几行:

vrrp_instance VI_1 {
    state BACKUP  # 备份服务器设置为BACKUP
    priority 90  # 备份服务器的优先级较低
}

  参数说明:

  • auth_type: 这个配置项指定了身份验证的类型。在示例中,PASS表示使用基于密码的身份验证。还可以选择其他选项,如AH(基于身份验证头)或PASSAH(同时使用密码和身份验证头)等。
  • auth_pass: 这个配置项指定了用于身份验证的密码。在示例中,将password替换为您要使用的实际密码。

  使用这个配置,当两个运行keepalived的主机之间建立VRRP通信时,它们将相互验证提供的身份验证信息是否匹配。如果身份验证信息不匹配,通信将被拒绝,并且无法建立故障转移。

在以上配置中,Server A被配置为主服务器(MASTER)并具有较高的优先级,Server B被配置为备份服务器(BACKUP)并具有较低的优先级。另外,虚拟IP地址被定义为192.168.1.100,并且将请求分发到两台服务器上的端口80。且虚拟ip 也可以通过

  当主服务器(Server A)失去响应时,备份服务器(Server B)会自动接管虚拟IP地址,从而实现故障转移和高可用性。同时,请求会通过负载均衡算法分发到两台服务器上,实现了负载均衡。

   

 

 

 



标签:掌握,备份,keepalived,身份验证,Server,虚拟,IP地址,服务器,快速
From: https://blog.51cto.com/u_15535797/8525367

相关文章

  • Java开发者的Python快速进修指南:迭代器(Iterator)与生成器
    这一篇内容可能相对较少,但是迭代器在Java中是有用处的。因此,我想介绍一下Python中迭代器的使用方法。除了写法简单之外,Python的迭代器还有一个最大的不同之处,就是无法直接判断是否还有下一个元素。我们只能通过捕获异常或使用for循环来退出迭代,这点让我感到十分惊讶。可迭代对象......
  • 11.22《掌握需求过程》读书笔记3
         今天我简单的了解了定制需求过程和迭代和增量过程迭代和增量过程在需求业界的一项常见误解就是必须收集所有的需求才能够进入到下一步的设计和构建工作。在某些环境下这样做是必须的,但并非总是这样。一方面如果打算外包,月佣文档构成了合同的基础,那么很显然需要......
  • 七天.NET 8操作SQLite入门到实战 - 第三天SQLite快速入门
    前言今天我们花费一个小时快速了解SQLite数据类型、SQLite常用命令和语法。七天.NET8操作SQLite入门到实战详细教程第一天SQLite简介第二天在Windows上配置SQLite环境EasySQLite项目源码地址GitHub地址:https://github.com/YSGStudyHards/EasySQLite......
  • 报表系统是什么?如何快速帮助企业数字化转型?
    在信息洪流中,企业需要应对日益增长的数据量和复杂业务环境,这需要借助科技手段来驾驭数据管理和决策分析。报表系统,作为企业决策的重要工具,就如同航海的罗盘,帮助企业在数据的海洋中快速定位,从而提高管理效率和决策水平。本文将以VeryReport报表系统为例,揭示报表系统的奥秘以及如何助......
  • sqlalchemy快速使用,sqlalchemy原生操作,sqlalchemy操作表,一对多关系,多对多关系,scoped线
    1sqlalchemy快速使用......
  • k8s 高可用集群3:VIP:HAProxy、keepalived
    为何要使用负载均衡器VIP(HAProxy、keepalived)​k8sMaster初始化配置时,使用负载均衡器,可以将apiserver的请求转发到不同的机器上,避免一台服务器宕机,造成所有节点不可使用。如果不使用负载均衡器,先创建一个k8sMaster,然后再加入其他的k8sMaster,当第一台k8sMaster宕机时......
  • Neo4j快速上手(3)关系
    关系关系很重要,单独来讲清空数据为了测试,先把之前的数据全部清空删除关系,并删除节点:#先删除所有关系MATCH(n)-[r]-(m)DELETEr;#删除所有节点MATCH(n)DELETEn;创建三国人物节点CREATE(n:Person{name:"刘备"});CREATE(n:Person{name:"关羽"});CREATE(n:Pe......
  • 作为.NET平台下的程序员,需要掌握以下几种主要的架构设计
    作为.NET平台下的程序员,需要掌握以下几种主要的架构设计:桌面应用程序架构:掌握WindowsForms和WPF这两种主要的桌面应用程序开发框架,能够设计并实现功能丰富、用户体验良好的桌面应用程序。Web应用程序架构:熟悉ASP.NETCore框架,掌握MVC(Model-View-Controller)设计模式,能够构建......
  • Neo4j快速上手(2)CQL语法
    CQL语法主要是如何操作,少讲概念。也有一些自己的理解,酌情观看。第一次执行CQL命令创建节点CREATE(p:Person);查询节点MATCH(n)RETURNn;我们已经完成创建节点,查询节点的操作。接下来讲述这些命令的含义。CREATE创建节点,相当于关系型数据库INSERT。CREATE(p:......
  • Java开发者的Python快速进修指南:文件操作
    Python提供的文件操作相对于Java来说,确实简单方便许多。不仅操作简单,代码可读性也相对较高。然而,我们需要注意的不仅仅是文件操作的简单性,还有文件操作的各种模式。在Java中,我们并不经常使用像Python中那样的操作模式。另外,我们还需要注意文件指针的移动。无论是Java还是Python,文......