快速掌握keepalived
转载请注明出处:
Keepalived是一个基于VRRP(虚拟路由冗余协议)的开源软件,用于在Linux系统上实现高可用性和负载均衡。它的主要功能是通过多台服务器之间的协作,确保在其中一台服务器发生故障时,另一台服务器可以接管其功能,并继续提供服务,从而实现系统的高可用性。
常用功能:
虚拟IP(Virtual IP): Keepalived通过配置一个虚拟IP地址,将其绑定到多个服务器上,使得这些服务器可以共享一个IP地址。当主服务器发生故障时,备份服务器会接管该虚拟IP地址并继续提供服务。
VRRP:Keepalived使用VRRP协议来实现服务器之间的冗余备份。VRRP协议定义了服务器之间的选举机制,主服务器发送心跳包以表明自己的存活状态,备份服务器监听主服务器的心跳包,一旦主服务器失去响应,备份服务器会接管其角色。
健康检查(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的更多相关文章
- LVS+keepalived快速搭建测试环境
#LVS+keepalived快速搭建测试环境 #LVS+keepalived快速搭建测试环境 #centos6 X64 # LVS 负载均衡模式:DR(直接路由) 192.168.18.31 mas ...
- Oracle Compute云快速搭建MySQL Keepalived高可用架构
最近有个客户在测试Oracle Compute云,他们的应用需要使用MySQL数据库,由于是企业级应用一定要考虑高可用架构,因此有需求要在Oracle Compute云上搭建MySQL高可用集群.客户 ...
- 快速搭建lvs + keepalived + nginx
环境: VIP 192.168.2.224 LVS 192.168.2.217 centos7 nginx1 192.168.2.231 c ...
- LVS+Keepalived+Squid+Nginx+MySQL主从高性能集群架构部署方案
方案一,在tomcat的workers.properties里面配置相关条件 worker.tomcat.lbfactor= worker.tomcat.cachesize= worker.tomca ...
- Nginx快速入门菜鸟笔记
Nginx快速入门-菜鸟笔记 1.编译安装nginx 编译安装nginx 必须先安装pcre库. (1)uname -a 确定环境 Linux localhost.localdomain 2.6. ...
- haproxy +keepalived 原创
Haproxy+keepalived 原理: HAProxy介绍及其定位 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.根 ...
- Keepalived+Redis高可用部署(第二版)
更新 20150625 脚本由5个减少为4个,sh脚本指令做了精简. 修改了另外3个脚本,在日志里增加了日期显示. 新增redis数据类型,持久化,主从同步简介. 新增hiredis简介. 新增c语言 ...
- Keepalived+Redis高可用部署
1 Redis简介及安装 Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案. Redis从它的许多竞争继承来的三个主要特点: Redis数 ...
- haproxy+keepalived实现高可用负载均衡
软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. HA ...
- keepalived初探
keepalived起初是为LVS设计的,专门用来监控LVS集群系统中各个real server的健康状况的,后来又在其中实现了VRRP协议,VRRP即virtual router redundanc ...
随机推荐
- Liunx下对php内核的调试
0x01前言 主要是对上一篇文章中php_again这道题的补充. 0x02下载php源码 cd /usr/local wget https://www.php.net/distributions/p ...
- Apache Hudi 元数据字段揭秘
介绍 Apache Hudi 最初由Uber于 2016 年开发,旨在实现一个交易型数据湖,该数据湖可以快速可靠地支持更新,以支持公司拼车平台的大规模增长. Apache Hudi 现在被业内许多人广 ...
- 为什么从 MVC 到 DDD,架构的本质是什么?
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 本文来自于小傅哥新编写的<Java简明教程>系列内容,本教程意在于通过简单.明了. ...
- 基于百度AI平台的人脸识别评分小程序
face-recognition-scoring-applet 开放源代码,遵循Apache License 2.0 效果展示 可切换摄像头.拍照.从相册选择 效果预览 小程序账号注册及配置 地址:h ...
- PowerDesigner反向导入表+PowerDesigner的ER图设计+PowerDesigner连接外键的线(版本16.5)
使用PowerDesigner导入表+PowerDesigner画ER图+PowerDesigner设置外键 ps: ①ER图:就是PD中的 Physical Diagram 一.导入表,并设置备注为 ...
- 创建属于自己的github、使用git提交、更新代码至github、写好readme
1. 在github上创建一个Repository 点击github网站,你可以用你的邮箱先注册一个账号. 点击New,转到创建一个repository的界面,如下图所示,你可以填写你的Reposit ...
- 关于DVWA靶场高难度命令执行的代码审计
需要的环境:dvwa 使用的工具:PHP手册 high难度源代码: <?php if( isset( $_POST[ 'Submit' ] ) ) { // Get input $target ...
- Java8 函数式编程stream流
1.初始环境准备 场景:现在有一个公司,公司部门有一级部门,二级部门甲和二级部门乙(其中二级部门甲和二级部门乙是一级部门的子部门), 一级部门下面有有001号员工小明,二级部门甲下面有002号员工 ...
- 「Python实用秘技16」快速提取字体子集
本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills 这是我的系列文章「Python实用秘技」的第16 ...
- QPushButton中常用的方法
常用方法如下所示: setCheckable():设置按钮是否已经被选中,如果设置为True,则表示按钮将保持已点击和释放状态. toggl():在按钮之间进行切换 setIcon():设置按钮上的图 ...