转载请注明出处:

  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的更多相关文章

  1. LVS+keepalived快速搭建测试环境

    #LVS+keepalived快速搭建测试环境 #LVS+keepalived快速搭建测试环境 #centos6 X64 # LVS 负载均衡模式:DR(直接路由) 192.168.18.31 mas ...

  2. Oracle Compute云快速搭建MySQL Keepalived高可用架构

    最近有个客户在测试Oracle Compute云,他们的应用需要使用MySQL数据库,由于是企业级应用一定要考虑高可用架构,因此有需求要在Oracle Compute云上搭建MySQL高可用集群.客户 ...

  3. 快速搭建lvs + keepalived + nginx

      环境:   VIP         192.168.2.224 LVS        192.168.2.217     centos7 nginx1    192.168.2.231     c ...

  4. LVS+Keepalived+Squid+Nginx+MySQL主从高性能集群架构部署方案

    方案一,在tomcat的workers.properties里面配置相关条件 worker.tomcat.lbfactor= worker.tomcat.cachesize= worker.tomca ...

  5. Nginx快速入门菜鸟笔记

    Nginx快速入门-菜鸟笔记   1.编译安装nginx 编译安装nginx 必须先安装pcre库. (1)uname -a 确定环境 Linux localhost.localdomain 2.6. ...

  6. haproxy +keepalived 原创

    Haproxy+keepalived 原理: HAProxy介绍及其定位 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.根 ...

  7. Keepalived+Redis高可用部署(第二版)

    更新 20150625 脚本由5个减少为4个,sh脚本指令做了精简. 修改了另外3个脚本,在日志里增加了日期显示. 新增redis数据类型,持久化,主从同步简介. 新增hiredis简介. 新增c语言 ...

  8. Keepalived+Redis高可用部署

    1   Redis简介及安装 Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案. Redis从它的许多竞争继承来的三个主要特点: Redis数 ...

  9. haproxy+keepalived实现高可用负载均衡

    软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. HA ...

  10. keepalived初探

    keepalived起初是为LVS设计的,专门用来监控LVS集群系统中各个real server的健康状况的,后来又在其中实现了VRRP协议,VRRP即virtual router redundanc ...

随机推荐

  1. ERP查询Q报表开发代码

    一,按照一般ERP开发流程可参考ERP开发流程,直到下载程序. 当我们的查询页签存在栏位需要判断或者特殊处理时,在global中的自定义模组变数下添加,例如: 1 #add-point:自定義模組變數 ...

  2. Nginx使用Lua脚本连接Redis验证身份并下载文件

    目录 安装Nginx 下载 解压安装包 安装依赖 安装 启动 测试访问 安装LuaJIT 安装ngx_devel_kit 安装lua-nginx-module 在已安装的Nginx中添加Lua模块 L ...

  3. CF1794B Not Dividing题解

    如果 \(a_i\) 可以整除 \(a_{i - 1}\),只要在 \(a_i\) 上 \(+1\) 即可,这样 \(a_i \bmod a_{i - 1} = 1\) 就满足题目要求了,如果这样算来 ...

  4. 最为常用的Laravel操作(3)-模板

    Blade 模板引擎 模板继承 定义布局: <!-- 存放在 resources/views/layouts/app.blade.php --> <html> <head ...

  5. Geo

    Geo 应用情景 打车时寻找半径在多少范围的司机 查找附近的酒店,微信摇一摇 Linux中文乱码如何处理? redis-cli --raw docker: docker exec -it redis ...

  6. docker部署zabbix6.0及企业微信发送告警

    1 前言 1.1 实验背景 因zabbix 6.0新增许多新特性,为熟悉界面特意在本地部署一套简易版(未启用HA功能).原本想要在烧制了centos7.9系统树莓派上部署,一查之下armv7果然冷门, ...

  7. 如何动态修改 spring aop 切面信息?让自动日志输出框架更好用

    业务背景 很久以前开源了一款 auto-log 自动日志打印框架. 其中对于 spring 项目,默认实现了基于 aop 切面的日志输出. 但是发现一个问题,如果切面定义为全切范围过大,于是 v0.2 ...

  8. Libvirtd networks -- 为libvirtd 中虚拟机指定ip遇到的问题

    backgroup 为libvirtd 中虚拟机指定ip,操作如下: virsh --connect qemu:///system dumpxml vm01 | grep "mac addr ...

  9. Redis从入门到放弃(1):安装配置

    1. 介绍 Redis是一个高性能的开源key-value数据库.它被广泛应用于缓存.会话存储.实时分析.消息队列等场景.Redis具有以下三个主要特点: 数据持久化:Redis支持将内存中的数据保存 ...

  10. fastposter v2.16.0 让海报开发更简单

    fastposter v2.16.0 让海报开发更简单 fastposter海报生成器是一款快速开发海报的工具.只需上传一张背景图,在对应的位置放上组件(文字.图片.二维.头像) 点击代码直接生成各种 ...